mrcljnff
Goto Top

Eingabe Speicherung in der while Schleife (C)

Hallo,

ich bin ein ziemlicher anfänger in C. Zurzeit Möchte ich ein programm schreiben, dass Getränke bestellungen einliest und diese dann zusammen rechnet. Ich bin soweit dass er die aktionen von der Bestellungen und der Anzahl der Getränke wiederholt, aber das Programm, rechnet nur die letzte eingabe zusammen. Wahrscheinlich funktioniert das nicht mit der while Schleife aber ich bin noch nicht soweit um andere Befehle zu benutzen.


int main()
{
int eingabe, anzahl, weitere;
double Preis;

do
{ printf("Herzlich Wilkommen zum Getränkeautomatspezial!ßn\n");
printf("Was moechten Sie tun?:\n");
printf("1 -- Getränke Kaufen");
printf("2 -- Promille-Rechner\n");
printf("3 -- Programm Verlassen\n");
printf("Eingabe: ");
scanf("%i", &eingabe);
}

if(eingabe==1)
{

do
{
printf("Bitte waehle ein Getränk aus:\n");
printf("1 -- Bier\n");
printf("2 -- Kaffee\n");
printf("3 -- Fanta/Spezi/Cola/Sprite\n");
printf("4 -- Wasser\n");
printf("x -- Ende\n");
printf("Eingabe: ");
scanf("%i", &eingabe);
}

switch(eingabe){
case 1:
Preis = 2.80;
break;
case 2:
Preis = 2.30;
break;
case 3:
Preis = 2.50;
break;
default:
Preis = 1.80;
break;
}
}


printf("Wie viel moechten Sie kaufen?: ");
scanf("%i", &anzahl);
printf("Eingabe:%i", anzahl);
Preis=Preis*anzahl;
printf("Preis: %.2lf", Preis);


printf("Moechten Sie weitere Getränke Kaufen?\n");
printf("Drueckn Sie 1 fuer Ja oder 2 fuer Nein ");
scanf("%i", &weitere);


while( eingabe == 1){


do
{
printf("Bitte waehle ein Getränk aus:\n");
printf("1 -- Bier\n");
printf("2 -- Kaffee\n");
printf("3 -- Fanta/Spezi/Cola/Sprite\n");
printf("4 -- Wasser\n");
printf("x -- Ende\n");
printf("Eingabe: ");
scanf("%i", &eingabe);
}

switch(eingabe){
case 1:
Preis = 2.80;
break;
case 2:
Preis = 2.30;
break;
case 3:
Preis = 2.50;
break;
default:
Preis = 1.80;
break;
}


printf("Wie viel moechten Sie kaufen?: ");
scanf("%i", &anzahl);
printf("Eingabe:%i", anzahl);
Preis=Preis*anzahl;
printf("Preis: %.2lf", Preis);


printf("Moechten Sie weitere Getränke Kaufen?\n");
printf("Drueckn Sie 1 fuer Ja oder 2 fuer Nein ");
scanf("%i", &weitere);


}


return 0;

Content-Key: 264384

Url: https://administrator.de/contentid/264384

Printed on: April 19, 2024 at 11:04 o'clock

Member: rubberman
Solution rubberman Feb 24, 2015 updated at 18:17:42 (UTC)
Goto Top
Hallo mrcljnff,

du überschreibst den Wert der Variablen Preis in den case Anweisungen. Du musst also schon eine weitere Variable deklarieren, um die Summe zu speichern.

BTW: Variablen haben bei der Deklaration immer den Wert, der zufällig in deren Speicherbereich steht. Darum gilt: Immer initialisieren!
z.B.
int eingabe = 0;

Grüße
rubberman
Member: mrcljnff
mrcljnff Feb 24, 2015 at 18:19:28 (UTC)
Goto Top
Hallo runberman,

vielen Dank es hat funktioniert!
Auch der Tipp mit der Initialisierung war sehr hilfreich!