lennart-rademacher Geschrieben 18. Januar 2005 Geschrieben 18. Januar 2005 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: Zitieren
Orffi Geschrieben 18. Januar 2005 Geschrieben 18. Januar 2005 Tach auch. Eine kurze Atwort: "ä" ist kein gültiges Zeichen innerhalb eines Variablennamens HTH Jan Zitieren
lennart-rademacher Geschrieben 18. Januar 2005 Autor Geschrieben 18. Januar 2005 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 Zitieren
Orffi Geschrieben 18. Januar 2005 Geschrieben 18. Januar 2005 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 Zitieren
lennart-rademacher Geschrieben 18. Januar 2005 Autor Geschrieben 18. Januar 2005 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; } Zitieren
nic_power Geschrieben 18. Januar 2005 Geschrieben 18. Januar 2005 Hallo, Du musst scanf(" %d ", &eingabe) scanf(" %f ",&seite1) ohne die Leerzeichen verwenden: scanf("%d", &eingabe) scanf("%f",&seite1) Nic Zitieren
lennart-rademacher Geschrieben 19. Januar 2005 Autor Geschrieben 19. Januar 2005 jetzt geht es, vielen dank Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.