Frage von onurlu66, 84

Addition in C?

Hallo Leute,

Ich habe eine Aufgabe die ich nicht lösen kann. Und zwar soll ich ein Programm in C schreiben,

-welches in einer Schleife in jedem Durchgang eine Ganzzahl eingeben lässt,
-die Summe der eingegebenen Zahlen bildet,
-die eingegebene Zahl je Schleifendurchgang ausgibt
Und die Schleife soll beendet werden wenn man 0eingibt.

Meine Überlegung wäre gewesen, dass ich ein IF nehme... Da die Anweisung x||y =0 schreibe. Und beim Else eine for schleife zum addieren der Zahlen benutze. Bin ich da auf dem richtigen Weg oder gibt es eine bessere Lösung ?

Antwort
von onurlu66, 22

Habe jetzt mal das Programm geschrieben, funktioniert auch soweit. nur bei der Abbruchbeding bei while() will er, dass beide 0 sind ansonsten rechnet er weiter.  Wie schreibe ich das, damit er nur bei einer 0 rausgeht?

while(x||y !=0)
Kommentar von triopasi ,

Wie wäre es mit

x+y != 0

Sonst kA was x und y bitte sein sollen und was deine Bedingung ausdrücken soll, vllt das?

x != 0 || y != 0
Kommentar von onurlu66 ,

Ja genau so meine ich das dankeschön

Antwort
von kepfIe, 68

Do-while-Schleife mit allem (ohne if-else oder so n Kram) reicht da.

Antwort
von triopasi, 49

Hier etwas Pseudocode, der dir vllt hilft:

summe = 0
do
{
zahl = eingabe()
summe += zahl
ausgabe(summe)
} while zahl != 0
Kommentar von onurlu66 ,

Und als Anweisung in der while schleife das Ergebnis nochmal ausgeben? Muss das auch machen

Kommentar von triopasi ,
ausgabe(summe)

Das geschieht doch da, oder hab' ich da was falsch verstanden?

Kommentar von onurlu66 ,

Habe es vergessen oben in der Beschreibung zu erwähnen. Ich soll nach dem ich die 0 eingegeben habe nochmal das Ergebnis ausgeben. Das mache ich dann ja bei while oder?

Kommentar von triopasi ,

Nach der 0 als Eingabe wird die Summe doch eh schon (innerhalb) der Schleife ausgegeben, wieso sollte man es also nochmal tun?

Kommentar von onurlu66 ,

Stimmt das war ein kleiner Denkfehler von mir. Vielen Dank für die schnelle Antwort

Antwort
von JutenMorgen, 30
int main() 
{
int in=1, sum=0;
while (in) { printf("enter number: "); scanf("%d", &in); sum += in; printf(%d, sum); } }

Musste es kurz editieren, habs vorher nicht ganz richtig verstanden.

Liebe Grüße,JutenMorgen!

Kommentar von JutenMorgen ,

Und schon einen downvote :D

Keine passende Antwort gefunden?

Fragen Sie die Community