Problem mit Konsolen Anwendung/Programm

Hallo ich habe hier ein kleines Problem mit einem Konsolen-Programm

Module Module1        
 Sub Main()  
 Console.WriteLine("Geben Sie eine Beliebige Zahl ein und drücken Sie ENTER!")  
 Dim a As Integer = Console.ReadLine()  
 Console.WriteLine("Wählen Sie zwischen + oder -, und tippen Sie das entsprechende Zeichen ein")  
 Dim c As String = Console.ReadLine()  
 Console.WriteLine("Nun geben Sie eine 2. beliebige Zahl ein, die Sie zu der 1. Zahl addieren möchten")  
 Dim b As Integer = Console.ReadLine()  
 Dim summe As Integer = a + c + b  
 Console.Write(a.ToString() + c.ToString + b.ToString() + " = " + summe.ToString())   
 Console.WriteLine(" ...Zum Beenden Drücken Sie ENTER")  
 Console.ReadLine()  
  
 End Sub      
End Module  

Wenn der Benutzer der Anwendung die erste zahl eingegeben hat soll er ein Zeichen (hier + oder - ) wählen.

danach soll er eine 2te zahl eingeben die dan zu der ersten addiert oder von der ersten subtrahiert werden soll.

Der Fehler wird mir in dieser Zeile angezeigt Dim summe As Integer = a + c + b, theoretisch müsste das - oder + Zeichen an dieser Stelle eingesetzt werden.

Aber woher soll das Programm wissen, dass es was mit dem Zeichen machen muss um die Rechnung fertig zu stellen?

Könnte mir vielleicht jemand ein Tipp geben und auch erklären warum man was ändern muss, oder warum man noch etwas hinzufügen muss.

Die Anwendung selber geht ja von zahlen aus… deswegen kann sie auch nichts mit dem + oder - anfangen (so viel weiß ich bereits)

vielen Dank im voraus

noch etwas wie füge ich einen zeilenumbruch ein?

Hallo!

Ich würde dieses kleine Programm etwa so schreiben:

Option Explicit On
Option Strict On

Module Module1

Sub Main()
 Dim stEingabe(2) As String
 Dim inZahl(2) As Integer
 Dim inSumme As Integer

 Console.WriteLine("Geben Sie eine Beliebige Zahl ein und drücken Sie ENTER!")
 stEingabe(0) = Console.ReadLine()
 Console.WriteLine("Wählen Sie zwischen + oder -, und tippen Sie das entsprechende Zeichen ein")
 stEingabe(1) = Console.ReadLine()
 Console.WriteLine("Nun geben Sie eine 2. beliebige Zahl ein, die Sie zu der 1. Zahl addieren möchten")
 stEingabe(2) = Console.ReadLine()

 If Not Int32.TryParse(stEingabe(0), inZahl(0)) Then inZahl(0) = 0
 If Not Int32.TryParse(stEingabe(2), inZahl(2)) Then inZahl(2) = 0

 If stEingabe(1) = "+" Then
 inSumme = inZahl(0) + inZahl(2)
 Else If stEingabe(1) = "-" Then
 inSumme = inZahl(0) - inZahl(2)
 End If

 For i as Integer = 0 To 2
 Console.Write(stEingabe(i))
 Next
 Console.Write(" = ")
 Console.Write(inSumme.ToString())

 Console.WriteLine(" ...Zum Beenden Drücken Sie ENTER")
 Console.ReadLine()
End Sub

End Module

Es gibt daran sicher noch einige Stellen, die man besser schreiben könnte. Ich habe aber bereits einige Überprüfungen eingebaut.

Für die ersten Programmierversuche sollte man versuchen sich streng an Regeln zu halten. Dazu dienen die beiden ersten Zeilen. Die solltest du immer an den Anfang deiner Programme stellen, so überprüft nämlich der Compiler ob du nicht gefährliche Typumwandlungen oder nicht deklarierte Variablen verwendest.

mfg
christoph

vielen vielen dank … der mini rechner funktioniert^^

danke

Tja, ich weiss nicht, ob dir das vorgeben im graphishen vb geläufig ist, aber da würde man das folgendermaßen lösen: mit & vbnewline &

Beispiel:

Textbox1.text = "Das ist Zeile 1" & vbNewLine & "Zeile 2 etc...."

geht das auch in der Konsole?

hmm,

Wie wäre es denn mit Steuerzeichen (\n etc.), oder Console.WriteLine(),
oder Environment.NewLine, oder, oder, oder?

greetz, me