2017-02-01 3 views
-3

Ich verwende C#, um ein Belegprogramm zu erstellen, und ich habe es funktioniert, außer für den Zähler. Die Nummer bleibt nur als die Zahl in der Pause und erhöht sich nicht. Ich habe versucht, die Nummer zu ändern, aber das scheint nicht zu funktionieren.Mein Zähler wird nicht erhöht C#

 decimal count; 
     decimal price; 
     decimal subtotal; 
     decimal tax; 
     decimal total; 

     subtotal = 0; 
     count = 0; 

     for (count = 1; count <= 10; ++count) 
     { 
      if (count == 1) 
       break; 
      count = count + 1; 
     } 

     while (count <=10) 
     { 
      Console.Write("Item{0}", count); 
      Console.Write("  Enter price:$ "); 
      price = Convert.ToInt32(Console.ReadLine()); 
      if (price == -1) 
       break; 
      subtotal = price + subtotal; 

     } 

     Console.WriteLine("\nNumber of Items:{0}", count); 

     } 
    } 
} 
+0

Sind Sie sicher, dass Sie das Konzept hinter dem Schlüsselwort "break" verstehen? Hier ist [etwas Dokument] (https://msdn.microsoft.com/en-us/library/adbctzc4.aspx) –

+0

Einfach Debuggen Ihres Codes würde es ziemlich offensichtlich machen, wo das Problem liegt. –

+0

Und Sie erhöhen "zählen" auch in die Schleife. Ich denke du musst nachsehen wie 'for' Loops funktionieren. Und auch 'while', da ich mir ziemlich sicher bin, dass du in einer Endlosschleife stecken bleibst/überspringst, sobald du herausgefunden hast, wie eine' for'-Schleife funktioniert. –

Antwort

1

Ihr Code wird an dieser Linie und Ausführung brechen stoppt:

if (count == 1) 
    break; 

Da Sie anfänglich count-1 in der for Schleife, Ihre if Anweisung auf der ersten Schleife Iteration ausgeführt wird und break ist namens. Sobald Sie diesen Code entfernen oder ändern, sollte es wie erwartet funktionieren.

+1

Nicht wirklich. Es gibt auch eine Endlosschleife im Code, wie sie ist. –

+0

@TiesonT. - Fairerweise habe ich nur auf das Problem mit der ursprünglichen Logik hingewiesen. Ein Neuschreiben wäre hier wahrscheinlich eine gute Idee, die Schleifen in etwas effektiveres zu strukturieren. – awh112

+0

Vielen Dank! Ich habe diesen Code rausgenommen und es funktioniert jetzt. –

Verwandte Themen