Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Eingabe Speicherung in der while Schleife (C)

Frage Entwicklung C und C++

Mitglied: mrcljnff

mrcljnff (Level 1) - Jetzt verbinden

24.02.2015, aktualisiert 19:17 Uhr, 1195 Aufrufe, 2 Kommentare

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);
}
while( eingabe > 3 || eingabe < 1);

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);
}

while(eingabe < 1 || eingabe > 4);
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);
}

while(eingabe < 1 || eingabe > 4);
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;
Mitglied: rubberman
LÖSUNG 24.02.2015, aktualisiert um 19:17 Uhr
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
Bitte warten ..
Mitglied: mrcljnff
24.02.2015 um 19:19 Uhr
Hallo runberman,

vielen Dank es hat funktioniert!
Auch der Tipp mit der Initialisierung war sehr hilfreich!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

JavaScript
PDF Formularfelder schützen nach Eingabe und Speichern (1)

Frage von Ohh33s zum Thema JavaScript ...

Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

Microsoft Office
gelöst Outlook 2016 Keine Rückmeldung bei Passwort eingabe (2)

Frage von geocast zum Thema Microsoft Office ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (35)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...