Bedingte Anweisungen mit "if" - Problem



  • Hallo zusammen,

    ich habe vor kurzer Zeit angefangen mich mit C zu beschäftigen.
    Jetzt habe ich mir das Buch, "C - Programmieren von Anfang an" gekauft und komme gerade nicht ganz weiter #Anfänger 🙄

    Ich habe es wie im Buch abgetippt.

    #include <stdio.h>
    #include <stdlib.h>
    
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    
    int main(int argc, char *argv[]) 
    {
    	int wahl;
    	float betrag;
    	printf("\nE U R O R E C H N E R\n");
    	printf("\n1 DM   - - > EURO\n2 EURO   - - > DM");
    	printf("\n\nIhre Wahl: ");
    	scanf("%i,&wahl");
    	if (wahl == 1) {
    		printf("Bitte DM-Betrag eingeben: ");
    		scanf("%f",&betrag);
    		printf("\n%.2f DM sind %.2f EURO",betrag,betrag*0.51129);
    	}
    	if (wahl == 2) {
    		printf("Bitte EURO-Betrag eingeben: ");
    		scanf("%f",&betrag);
    		printf("\n%.2f EURO sind %2.f DM",betrag,betrag*1.95583);
    	}
    	return 0;
    }
    

    Die Nützlichkeit dieses Programms sei mal dahin gestellt... :p
    Es geht darum, dass ich die Basics lerne.

    Zu meinem Problem:
    Sobald ich den Code kompiliere und ausführe erscheint die Auswahlmöglichkeit zwischen 1 und 2. Tippe ich nun eine dieser Zahlen ein und bestätige die Eingabe mit Enter geht es nicht weiter, sondern das Programm ist beendet und kann mit einer beliebigen Taste geschlossen werden.

    Danke für eure Hilfe.



  • Falsch abgetippt:
    scanf("%i,&wahl");
    vs.
    scanf("%i",&wahl);



  • Vielen Dank!



  • Und ich glaube das hier ist auch nicht beabsichtigt:

    printf("\n%.2f EURO sind %2.f DM",betrag,betrag*1.95583);
    

    Wie ich sehe nutzt du Dev-cpp, ich empfehle dir auf CodeBlocks umzusteigen.
    Ist zwar nicht so gravierend aber manchmal nerven die bugs schon.


Log in to reply