Programm mit EXIT schliessen?
-
Hallo, erstmal.
Durch ein Projekt welches in einem Praktikum realisiert werden sollte. Müsste ich mir Ansi-C aneignen.
Später müsste ich mit „ImageCraft“ ICCAVR programmieren.Deshalb habe ich mir nun gedacht „Lernst halt schnell C“, es gibt genug Tutorial dazu im Internet. Momentan gleicht das ganze zwar einem Crash Kurs, da eben nicht jeder ein Toller Programmierer ist. :S
So schreibe ich momentan nur kleinere sinnlose Programme.
Und eben bei solch einem Programm hänge ich grad fest.„Das Programm soll, einen Währungssatz und eine Summe am Bildschirm abfragen, und das Resultat am Bildschirm ausgeben. Dieser Teil ist geschafft.
Dann sollte das Programm geschlossen werden wenn der User EXIT eintypt.“Könnte mir einer zeigen wie das geht?
Des weitern kann mir einer verraten wie man es macht dass die Programme sich nicht immer gleich nach dem Ausführen schliessen?/***************************************************************/ /* Program: Fr - Euro.c */ /* Datum: 17.10.2006 */ /* ******************** */ /***************************************************************/ #include <stdio.h> #include <stdlib.h> int main (void) { float FR, Euro, Umrechnungsfaktor_FR_Euro; printf("Umrechnungskurs eingeben, 1 Euro = ??\n"); scanf("%f",&Umrechnungsfaktor_FR_Euro); printf("Beitrag in Fr eingeben:"); scanf("%f",&FR); Euro = FR / Umrechnungsfaktor_FR_Euro; printf("Beitrag in Euro:%f\n",Euro); scanf("%f"); return 0; }
MfG Spitfire
-
Hallo Spitfire !
Erstmal eine kleine Rüge - dies ist der Thread für C#.NET-Fragen nicht für C++-Fragen!!!
Ansonsten musst Du Deinem Code ein paar kleine Codezeilen hinzufügen :
#include <stdio.h> #include <stdlib.h> #include <string.h> // Funktionen zur String-Manipulation int main(void) { char czExit[255] = ""; // Eingabearray mit max. 256 Zeichen float FR, Euro, Umrechnungsfaktor_FR_Euro; printf("Umrechnungskurs eingeben, 1 Euro = ??\n"); scanf("%f",&Umrechnungsfaktor_FR_Euro); printf("Beitrag in Fr eingeben:"); scanf("%f",&FR); Euro = FR / Umrechnungsfaktor_FR_Euro; printf("Beitrag in Euro:%f\n",Euro); while(strcmp(czExit, "EXIT")) // Abfragen ob Eingabe gleich 'EXIT' { scanf("%s", czExit); // Wenn nicht, dann erneute Eingabe } return 0; }
So, als erstes musst Du die Header-Datei für String-Manipulationen Deinem Code hinzufügen <string.h>. Diese enthält auch Deklarationen für die Funktion zum Zeichenfolgenvergleich strcmp(). Der While-Befehl wiederholt alle Befehle innerhalb eines mit '{' und '}' gekennzeichneten Codeblocks solange, bis die Bedingung des While-Befehlf 'wahr' (true) ist. In diesem Fall ist die Bedingung eine Zeichenfolgenvergleich (String-Vergleich) zwischen der Eingabe-Zeichenfolge czExit und der fest definierten Zeichenfolge 'EXIT'. Hat der Benutzer das Wort 'EXIT' exakt eingegeben und mit Enter bestätigt, dann gibt der Befehl strcmp() 'wahr' (true) zurück und die While-Schleife wird beendet. Man gelangt somit automatisch zum Programmende.
Ich hoffe ich konnte es Dir plausibel erklären !?
Gruß Ernst
-
Grüss dich Ernst.
Erstmal, vielen Dank für deine rasche Antwort.
Und deine wirklich tadellose Erklärung, diese hat mir nun sehr geholfen.Beim negsten Poste werde ich mit Sicherheit besser drauf achten in den richtigen „Treath „ zu posten.
@Foren Admins, bitte verschieben.
Mit freundlichen Grüßen Spitfire