如何将以下代码中的goto语句替换:void m_user(){ int choice=0; GOTO2:system("cls"); printf("\t\t\t---------------------\n"); printf("\t\t\t| 用户管理^_^ |\n"); printf("\t\t\t---------------------\n\n\n"); printf("\n\t\t\t1.查看用户信息\n\t\t\t2.添加用户\n\t\t\t3.修改用户信息\n\t\t\t4.删除用户信息\n\t\t\t5.用水量排序\n\t\t\t6.退出"); printf("\n\t\t\t请输入您的选择:"); GOTO3:scanf("%d",&choice); switch(choice) { case 1: display(); system("pause"); goto GOTO2; case 2: add(); system("pause"); goto GOTO2; case 3: alter(); system("pause");; goto GOTO2; case 4: delete_(); system("pause");; goto GOTO2; case 5: sortwater(); system("pause");; goto GOTO2; case 6: break; default: printf("\t\t\t输入有误,请重新输入:"); goto GOTO3; }
时间: 2023-08-02 14:09:46 浏览: 151
以下是一个使用while循环替换goto循环的例子:
```
void m_user() {
int choice = 0;
bool loop = true;
while (loop) {
system("cls");
printf("\t\t\t---------------------\n");
printf("\t\t\t| 用户管理^_^ |\n");
printf("\t\t\t---------------------\n\n\n");
printf("\n\t\t\t1.查看用户信息\n\t\t\t2.添加用户\n\t\t\t3.修改用户信息\n\t\t\t4.删除用户信息\n\t\t\t5.用水量排序\n\t\t\t6.退出");
printf("\n\t\t\t请输入您的选择:");
while (scanf("%d", &choice) != 1 || choice < 1 || choice > 6) {
printf("\t\t\t输入有误,请重新输入:");
while (getchar() != '\n');
}
switch (choice) {
case 1:
display();
system("pause");
break;
case 2:
add();
system("pause");
break;
case 3:
alter();
system("pause");
break;
case 4:
delete_();
system("pause");
break;
case 5:
sortwater();
system("pause");
break;
case 6:
loop = false;
break;
}
}
}
```
在这个例子中,我们使用了两个while循环代替了goto语句。第一个while循环用于显示菜单并读取用户的选择,如果用户输入了无效的选择,将提示用户重新输入。第二个while循环用于执行用户选择的操作,并在完成后返回到菜单。如果用户选择退出,则第一个循环将被终止,程序将退出循环。
阅读全文