starten Sie ein Programm in C, wenn "wenn" verwendet wird
Ich weiter Programmieren lernen in C, und heute traf ich ein problem.
In meinem Programm, ein Benutzer muss einen Wert eingeben, der die Zeit in Minuten an, und mein Programm wird berechnen Sekunden(sehr einfach). Aber ich möchte eine Regel einführen, dass die Zeit nicht negativ sein darf. So habe ich diese code:
if(a<=0)
{
printf("Time cannot be equal to, or smaller than zero, so the program will now terminate\n");
exit(EXIT_FAILURE);
}
aber nun, ich will nicht kündigen, mein Programm, ich will es wieder in den Zustand, wenn ein Benutzer einen Wert eingeben.
Hatte ich ein problem mit dem beenden meines Programms, aber einige suchen, hat mir geholfen, allerdings habe ich nicht bekommen, kein Ergebnis der Suche, wie starten Sie in meinem Programm.
Dies ist der text von meinem Programm(ich arbeite unter Linux):
#include<stdio.h>
#include<stdlib.h>
main()
{
float a;
printf("\E[36m");
printf("This program will convert minutes to seconds");
getchar();
printf("Now enter your time in minutes(e.g. 5):");
scanf("%f", &a);
printf("As soon as you will press the Enter button you`ll get your time in seconds\n");
getchar();
getchar();
if(a<=0)
{
printf("Time cannot be equal to, or smaller than zero, so the program will now terminate\n");
printf("\E[0m");
exit(EXIT_FAILURE);
}
else
{
float b;
b=a*60;
printf("\E[36m");
printf("The result is %f seconds\n", b);
printf("Press Enter to finish\n");
getchar();
}
printf("\E[0m");
}
P. S. ich weiß nicht, wie die korrekte Bezeichnung dieser Funktion nicht, also nenne ich es neu starten, vielleicht hat es einen anderen Namen?
a <= 0
für seine abschließende Bedingung.Eine Idee: Lesen Sie weiter, Eingang
while
das Programm hat keine gültige Eingabe.
InformationsquelleAutor 454b | 2012-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sowohl die Lösungen gepostet wurden funktionieren, aber ich persönlich mag dieses apporach besser:
Ich denke, es ist mehr klar, und es gibt die Möglichkeit zu haben eine Fehlermeldung und eine regelmäßige Meldung unabhängig von einander.
DANKE!!!! Es funktionierte, und ich Verstand, warum(ich glaube, es ist das wichtigste :D)
Toll, ich bin froh, dass ich helfen konnte, und du hast Recht, zu verstehen, warum ist das wichtigste! Viel Spaß beim Programmieren 🙂
noch eine Frage... welchen Weg ich kann Ihren Ruf zu verbessern? 😀 upps, ich habe es schon 😀 und ich Verstand es auch 😀
Sie haben bereits durch das akzeptieren meiner Antwort (Klick auf den grünen Haken)! Vielen Dank 🙂
InformationsquelleAutor Gordon Bailey
könnten Sie versuchen, die if-else wo:
*Zustand sein kann, bis, wenn Sie wollen, um fortzufahren.
ich habe aktualisiert, der code.Sie konnte nur die Eingabe des Benutzers innerhalb der do-while-Schleife, bevor die Prüfung für die Bedingung.
bitte, Blick auf meinen code im ersten post, ich will ersetzen Sie " exit(EXIT_FAILURE)' mit einem code, wird das Programm Sie bitten, geben Sie einen Wert wieder
Diese machen das Programm zu bitten, für Sie den Wert, bis deine while-Bedingung falsch ist.
InformationsquelleAutor heretolearn
Können Sie einfach mit einem
do ... while
- Schleife (einschließlich Ihrer Programm-Quellcode).Oder die
goto
Aussage zu emulieren einer Schleife (entmutigt Anfänger).aber ich muss zurück an den Staat, wo Sie müssen einen Wert eingeben, 'wenn' die Eingabe ist ungültig
Also, es scheint richtig zu sein. Sie können übersetzen dieses
do ... while
Schleife mit : "Während der Eingabe ist ungültig, geben Sie einen Wert ein".InformationsquelleAutor md5