Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

zoryfl

Moderator

Dabei seit: 14.01.2003

Beiträge: 2 766

 

1 Zum Seitenanfang

Mittwoch, 16. April 2008, 23:24

VisualBasic - Problem

Hallo zusammen! Folgendes Problem:

Bei unten stehendem Code geschehen (für mich) seltsame Dinge. Was ich mit dem Programm erreichen will, sollte ja ersichtlich sein. Wenn ich nun "g" eingebe, um die Größe des Winkels im Gradmaß einzugeben funktioniert alles wunderbar. Sobald ich nun aber "b" oder einen anderen Buchstaben (sollte die else-Anweisung abfangen) eingeben will, muss ich immer diesen Buchstaben eintippen, enter drücken.. nichts passiert. Nochmals den Buchstaben eingeben, Enter drücken -> alles geschieht, wie es geschehen sollte.

Nun also die Frage: Warum braucht er immer zuerst eine Leerzeile bzw. Non-sense-Zeile, bevor er alle Buchstaben, außer g, "erkennt"?
Ich hoffe ich habe mich verständlich ausgedrückt und es kann mir dabei jemand weiterhelfen.

Gruß und vielen Dank im Voraus

  Spoiler Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Imports System.Math
Module Sinuswert

    Sub Main()
        Const pi As Double = Math.PI
        Dim y As Single
        Dim x As Single

begin:
        Console.WriteLine("Bitte wählen sie aus, ob sie die Größe des Winkels in Grad- oder Bogenmaß angeben wollen")
        Console.WriteLine("b = Bogenmaß / g = Gradmaß")

        If Console.ReadLine() = "g" Then
            Console.WriteLine("gewählt: Gradmaß")
            Console.WriteLine("Bitte die Gradzahl des Winkels x im Gradmaß eingeben")
            y = Console.ReadLine()
            x = 2 * pi * (y / 360)
            x = Sin(x)

        ElseIf Console.ReadLine() = "b" Then
            Console.WriteLine("gewählt: Bogenmaß")
            Console.WriteLine("Bitte die Graduzahl des Winkels x im Bogenmaß eingeben")
            x = Console.ReadLine()
            x = Sin(x)

        Else
            Console.WriteLine("ungültige Auswahl, bitte erneut auswählen")
            GoTo begin

        End If


        Console.WriteLine("sin(x) beträgt:")
        Console.Write(x)

        Console.ReadKey()
    End Sub

End Module

externer Link
http://zoryfl.wmw.cc
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

2 Zum Seitenanfang

Mittwoch, 16. April 2008, 23:29

ich tippe mal drauf, dass Console.ReadLine() den buchstaben einliest und er dann aber aus der queue weg ist.

zuerst Console.ReadLine() in einer variable abspeichern und dann die variable in den if anweisungen verwenden. ansonsten verlierst du die eingabe,

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

zoryfl

Moderator

Dabei seit: 14.01.2003

Beiträge: 2 766

 

3 Zum Seitenanfang

Donnerstag, 17. April 2008, 00:03

Weil es halt einfach klar war, dass es wieder so ein "dummer Fehler" war..

Vielen Dank für deine Hilfe, nun läuft es wie geschmiert :)
http://zoryfl.wmw.cc
 

Ähnliche Themen