Einfaches C Programm funktioniert nicht
-
Seit kurzem habe ich in der Schule angefangen Programmieren zu lernen.
Nun habe ich zuhause ein Programm selber geschrieben, jedoch klappt es nicht wie gewünscht. Ich wäre froh, wenn ihr mir helfen könntet denn Fehler zu finden.
Danke schon im vorraus.mfg Denerxic
------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int Betrag;
float Ergebnis;Printf("Bitte geben Sie einen Betrag ein\n");
Scanf("%d",&Betrag);
getchar();if(Betrag<10000)
Ergebnis=(Betrag/100*5);
{Prinf("Sie bekommen%f\n",Ergebnis);}else
if(Betrag<15000)
Ergebnis=(Betrag/100*7);
{Prinf("Sie bekommen%f\n",Ergebnis);}else
if(Betrag>20000)
Ergebnis=(Betrag/100*9);
{Prinf("Sie bekommen%f\n",Ergebnis);}getchar();
-
#include <stdio.h> int main(void) { int Betrag; float Ergebnis; printf("Bitte geben Sie einen Betrag ein\n"); // Die Funktion heißt printf und nicht Printf scanf("%d",&Betrag); // Auch hier; scanf und NICHT Scanf getchar(); // Hier hast du die ganzen Funktionsnamen ebenfalls falsch geschrieben // Zudem solltest du dir vielleicht das Thema mit den Kontrollstrukturen noch einmal näher anschaun // Davon hast du nämlich anscheinend nicht allzu viel mitgenommen // So sollte das aussehen: if(Betrag<10000){ Ergebnis=(Betrag/100*5); printf("Sie bekommen %f\n",Ergebnis); } else if(Betrag<15000){ Ergebnis=(Betrag/100*7); printf("Sie bekommen %f\n",Ergebnis); } else if(Betrag>20000){ Ergebnis=(Betrag/100*9); printf("Sie bekommen %f\n",Ergebnis); } getchar(); }
Ich würde dir empfehlen während dem Programmieren öfters mal das ganze zu kompilieren, nur um zu sehen ob wenigstens syntaktisch noch alles in Ordnung ist.
Dein Programm hat nämlich schon nach den ersten paar Zeilen nicht mehr funktioniert.
Es macht keinen Sinn das ganze "einfach mal so schnell hinzuwischen" weil dann am Ende genauso wenig geht wie am Anfang.Sicher ist learning-by-doing eine gute Methode um etwas zu erlernen, komplett ohne die nötige Theorie und Grundlagen wirst du jedoch auch nicht ans Ziel kommen.
-
printf("Bitte geben Sie einen Betrag ein\n"); // Die Funktion heißt printf und nicht Printf scanf("%d",&Betrag); // Auch hier; scanf und NICHT Scanf getchar();
mich interessiert warum da nach scanf() noch einmal getchar() steht, welche auswirkung hat das???
-
Devis schrieb:
printf("Bitte geben Sie einen Betrag ein\n"); // Die Funktion heißt printf und nicht Printf scanf("%d",&Betrag); // Auch hier; scanf und NICHT Scanf getchar();
mich interessiert warum da nach scanf() noch einmal getchar() steht, welche auswirkung hat das???
hättest du das beispiel kompiliert, hättest du es merken müssen!
getchar() unterbricht den programmfluss und wartet auf die eingabe eines zeichens, sofern keine im eingabepuffer sind.
mfg
-
nee, sorry, in dem fall merkt man es gar nicht, weil scanf noch das newline zeichen im puffer lässt. getchar() 'verschluckt' es dann, liest es also ein und das programm läuft ohne pause durch.
-
int main () { int betrag = 0; int c = 0; printf ( "Geben Sie einen Betrag ein: " ); scanf ( "%d", &betrag ); c = getchar(); printf ("Kuck-kuck: %c %d\n", c, c ); printf ("Der Betrag ist: %d\n", betrag ); return 0; }
oder mit nem debugger den inhalt von c gucki machen!
-
Danke viel mal Leute.
Die Kontrollstruktur haben wir in der Schule noch nicht richtig angeschaut. Der Lehrer hat gesagt, wir sollen es so schreiben wie wir es möchten, man muss es jedoch verstehen können.
Eigendlich habe ich eine Tabulatorstruktur, jedoch hat es beim Einfügen nicht die gleiche angenommen.
Wenn ich es kompiliere, kommt schon eine Fehlermeldung. Jedoch habe zum Teil keine Ahnung, was sie Bedeuten und kann daher den Fehler nicht beheben ^^
Danke für die Tipps und bis zu meiner nächsten frage