こんにちは私はCの新人ですし、シンプルなプログラムを書いています。私は、ユーザーが間違った選択を選んだ場合は、ここでのコードは、プログラムを再起動します:Cでプログラムを再起動するにはどうしたらいいですか?
#include <stdio.h>
#include <cs50.h>
int main(void){
char choices;
float math, pc, svt, eng, philo;
do {
do {
printf("Enter your math score: ");
math = GetFloat();
}
while(math>20 || math<0);
do {
printf("Enter your pc score: ");
pc = GetFloat();
}
while(pc>20 || pc<0);
do {
printf("Enter your svt score: ");
svt = GetFloat();
}
while(svt>20 || svt<0);
do {
printf("Enter your eng score: ");
eng = GetFloat();
}
while(eng>20 || eng<0);
do {
printf("Enter your philo score: ");
philo = GetFloat();
}
while(philo>20 || philo<0);
printf("Are you pc or sm?\n");
printf("Write 1 for pc. 2 for sm\n");
int choice = GetInt();
if(choice == 1){
float score = (math*7 + pc*7 + svt*7 + eng*2 + philo*2)/25;
printf("Your score is %.2f\n", score);
}
else if(choice == 2){
float score = (math*9 + pc*7 + svt*3+ eng*2 + philo*2)/23;
printf("Your score is %.2f\n", score);
}
else{
printf("You've picked the wrong choice \n");
}
printf("Do you want to try it again? (Y/N) ");
choices = getchar();
while (choices != '\n' && getchar() != '\n') {};
} while (choices == 'Y' || choices == 'y');
}
だから私はここで何を意味するか、私はプログラムを再起動するために、他のブロック内のコードを挿入し、ユーザーを与えたいです別の時間。私が彼に1または2の間でもう一度選択させることができれば、とてもうれしいでしょう。
あなたに何か提案や改善がありましたら、お気軽にコメントしてください。 感謝:)
http://www.tutorialspoint.com/cprogramming/c_goto_statement.htm –
* *いいえがいない「ユーザーが間違った選択を選んだ場合は、プログラムを再起動します」。あなたは、より良い入力のためにユーザーに再度プロンプトを出したいと思っています。 –
@AlexandruCimpanu 'goto'、本当に? http://stackoverflow.com/questions/46586/goto-still-considered-harmful – Jezor