Veröffentlicht 18. Januar 200520 j Hallo, ich benötige dringend Hilfe bei einem C-Programm. Wäre toll wenn ihr mir helfen könntet. Hier ist der Quelltext: #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(int argc, char *argv[]) { int eingabe ; float fläche , umfang , seite1 , seite2, radius ; while(true) { printf("--------Menü----------\n"); printf("1) Quadrat\n"); printf("2) Rechteck\n"); printf("3) Kreis\n"); printf("4) Beenden\n"); scanf(" %d ", &eingabe); if(eingabe==1) {printf("Bitte geben Sie die Länge vom Quadrat ein(in cm):"); scanf(" %f ",&seite1); fläche = seite1 * seite1 ; umfang = seite1 * 4 ; printf("Die Fläche vom Quadrat ist %.2f und der Umfang ist %.2f.",fläche, umfang); } else if(eingabe==2) { printf("Bitte geben Sie die Länge vom Rechteck ein(in cm):"); scanf(" %f ",&seite1); printf("Bitte geben Sie die Höhe vom Rechteck ein(in cm):"); scanf(" %f ",&seite2); fläche = seite1 * seite2 ; umfang = seite1 + seite1 + seite2 + seite2 ; printf("Die Fläche vom Quadrat ist %.2f und der Umfang ist %.2f.",fläche, umfang); } else if(eingabe==3) { printf("Bitte geben Sie den Radius vom Kreis ein(in cm):"); scanf(" %f ",&radius); fläche = radius * radius * 3.14 ; umfang = 2 * 3.14 * radius ; printf("Die Fläche vom Radius ist %.2f und der Umfang ist %.2f.",fläche, umfang); } else if(eingabe==4) { printf("Das Programm wird beendet!"); break; } else { printf("Bitte geben Sie einen gültigen Menüeintrag ein!"); } } getch(); system("PAUSE"); return 0; } Hier die Fehler:
18. Januar 200520 j Tach auch. Eine kurze Atwort: "ä" ist kein gültiges Zeichen innerhalb eines Variablennamens HTH Jan
18. Januar 200520 j Ich habe jetzt ä zu ae umgeändert, jetzt zeigt er mir immer noch folgendes als fehler an: In function `main': 14 `true' undeclared (first use in this function) (Each undeclared identifier is reported only once for each function it appears in.) [build Error] [main.o] Error 1 die 14 ist die zeile
18. Januar 200520 j Was ich vorhin vergaß: Willkommen hier auf'm Board! true ist kein C, sondern C++. C kennt den Datentyp bool nicht, also auch nicht true oder false. schreibe "while (1)" Erklärung: Jede Zahl, die mindestens eine 1 in ihrer Bitrepräsentation wird zu "true" ausgewertet. 0 ist demnch false. HTH Jan
18. Januar 200520 j Jetzt sind da noch irgendwelche Rechenfehler, wo er mir falsche Daten ausgibt, auch im Menü muss ich 2 mal die zahl eingeben und er fragt mich nach der größe vom Rechteck auch wenn ich eine 1 im menü eingebe!!! könnt ihr euch das vielleicht mal genauer angucken?? Hier der aktuelle Quellcode!!! (Beachtet die Kommentare nicht) #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(int argc, char *argv[]) //Figuren berechnen 18.01.2005 Lennart Rademacher { int eingabe ; //Variablendeklation von vollen zahlen float flaeche , umfang , seite1 , seite2, radius ; //Variablendeklation von vollen Zahlen while(1) //Anfang der While-Schleife { printf("--------Menue----------\n"); //Printf-Anweisung für die Menü-Überschrift printf("1) Quadrat\n"); //Printf-Anweisung für das Berechnen vom Quadrat printf("2) Rechteck\n"); //Printf-Anweisung für das Berechnen vom Rechteck printf("3) Kreis\n"); //Printf-Anweisung für das Berechnen vom Kreis printf("4) Beenden\n"); //Printf-Anweisung für das Beenden scanf(" %d ", &eingabe); //Scanf-Anweisung für die Menü-Eingabe if(eingabe==1) //If-Anweisung für das Quadrat {printf("Bitte geben Sie die Laenge vom Quadrat ein(in cm):"); //Print-Anweisung für Länge vom Quadrat scanf(" %f ",&seite1); //Scanf-Anweisung für die Eingabe der Länge vom Quadrat flaeche = seite1 * seite1 ; //Berechnung der Fläche umfang = seite1 * 4 ; //Berechnung des Umfangs printf("Die Flaeche vom Quadrat ist %.2f und der Umfang ist %.2f.\n",flaeche, umfang); //Print-Ausgabe vom Ergebnis vom Quadrat } else if(eingabe==2) //If-Anweisung für das Rechteck { printf("Bitte geben Sie die Laenge vom Rechteck ein(in cm):"); //Print-Anweisung für Länge vom Rechteck scanf(" %f ",&seite1); //Scanf-Anweisung für die Eingabe der Länge vom Rechteck printf("Bitte geben Sie die Hoehe vom Rechteck ein(in cm):"); //Print-Anweisung für Höhe vom Rechteck scanf(" %f ",&seite2); //Scanf-Anweisung für die Eingabe der Höhe vom Rechteck flaeche = seite1 * seite2 ; //Berechnung der Fläche umfang = seite1 + seite1 + seite2 + seite2 ; //Berechnung des Umfangs printf("Die Flaeche vom Quadrat ist %.2f und der Umfang ist %.2f.\n",flaeche, umfang); //Print-Ausgabe vom Ergebnis vom Quadrat } else if(eingabe==3) //If-Anweisung für den Kreis { printf("Bitte geben Sie den Radius vom Kreis ein(in cm):"); //Print-Anweisung für den Radius vom Kreis scanf(" %f ",&radius); //Scanf-Anweisung für die Eingabe des Radius vom Kreis flaeche = radius * radius * 3.14 ; //Berechnung der Fläche umfang = 2 * 3.14 * radius ; //Berechnung des Umfangs printf("Die Flaeche vom Radius ist %.2f und der Umfang ist %.2f.\n",flaeche, umfang); //Print-Ausgabe vom Ergebnis vom Kreis } else if(eingabe==4) //If-Anweisung zum Beenden { printf("Das Programm wird beendet!"); //Printf-Anweisung zum Beenden break; //Beenden vom Programm } else //If-Anweisung für Falscheingabe { printf("Bitte geben Sie einen gueltigen Meneeintrag ein!"); //Printf-Anweisung, falsch ein falscher Menüeintrag eingegeben wird } } getch(); system("PAUSE"); return 0; }
18. Januar 200520 j Hallo, Du musst scanf(" %d ", &eingabe) scanf(" %f ",&seite1) ohne die Leerzeichen verwenden: scanf("%d", &eingabe) scanf("%f",&seite1) Nic
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.