用C语言重新启动程序
我一直在开发一个可以添加、搜索、编辑和删除学生记录的程序。在对主功能(包含菜单)进行编码时,我想知道如果用户输入了菜单中未包含的键,是否有办法重新启动程序。所以我想到的计划是,当用户输入一个无效字符时,程序将重新启动,而不是要求重新输入一个有效字符(因为我正在处理一个菜单,我个人认为它很整洁)。这是我一直在做的节目用C语言重新启动程序,c,C,我一直在开发一个可以添加、搜索、编辑和删除学生记录的程序。在对主功能(包含菜单)进行编码时,我想知道如果用户输入了菜单中未包含的键,是否有办法重新启动程序。所以我想到的计划是,当用户输入一个无效字符时,程序将重新启动,而不是要求重新输入一个有效字符(因为我正在处理一个菜单,我个人认为它很整洁)。这是我一直在做的节目 int main() { int choice = 0; do { system("cls"); prin
int main()
{
int choice = 0;
do
{
system("cls");
printf("MAIN MENU");
printf("\n\n\n\t\t\t1.Add Student");
printf("\n\t\t\t2.Search Student");
printf("\n\t\t\t3.Edit Info of Student");
printf("\n\t\t\t4.Delete Student");
printf("\n\t\t\t0.Exit");
printf("\n\n\n\t\t\tEnter choice => ");
scanf("%d",&choice);
switch(choice)
{
case 1:
addInfo();
break;
case 2:
searchInfo();
break;
case 3:
editInfo();
break;
case 4:
deleteInfo();
break;
case 5:
displayAll();
break;
case 6:
printf("\n\n\n\t\t\t\tThank you!!!\n\n\n\n\n");
exit(1);
break;
} //Switch Ended
}
while(choice==1 && choice==2 && choice==3 && choice==4 && choice==5 && choice==6);
}
它将提供一个循环,直到用户输入0为止
int main()
{
int choice = 0;
do
{
system("cls");
printf("MAIN MENU");
printf("\n\n\n\t\t\t1.Add Student");
printf("\n\t\t\t2.Search Student");
printf("\n\t\t\t3.Edit Info of Student");
printf("\n\t\t\t4.Delete Student");
printf("\n\t\t\t0.Exit");
printf("\n\n\n\t\t\tEnter choice => ");
scanf("%d",&choice);
switch(choice)
{
case 1:
addInfo();
break;
case 2:
searchInfo();
break;
case 3:
editInfo();
break;
case 4:
deleteInfo();
break;
case 5:
displayAll();
break;
case 6:
printf("\n\n\n\t\t\t\tThank you!!!\n\n\n\n\n");
exit(1);
break;
} //Switch Ended
}
while(choice!=0);
}
您可能会想要这样:
do
{
...
} while(choice>=1 && choice<6);
do
{
...
}while(choice>=1&&choice)while(choice==1&&choice==2&&choice==3&&choice==5&&choice==6)
怎么可能同时是1、2、3、4、5和6?(除非你的目标是量子计算机。)顺便说一句,while(choice==1&&choice==2&&choice==3&&choice==4&&choice==5&&choice==6);
永远不会是真的。因为只有一个条件满足。printf(“\n\t\t\t0.Exit”)
与案例6:
退出。而且菜单中的输入5
没有任何内容。因此,用户必须重新启动程序,而不是请求新的输入,因为您担心菜单结构的“美”while(选项!=0);
->while(选项)
虽然这可能是个人的喜好。@Bathsheba在源代码中保持清晰总是更好的。即使C将任何非零值解释为true
,也最好显示意图,在这种情况下choice!=0
。这与无处不在的any_type*p=…;如果(p){…}
,则“更好”p!=NULL
看起来更清晰。请注意时尚的打开间隔(choice>=1&&choice)