c - 如何创建循环以在 C 中的功能菜单之间切换?
问题描述
我想创建一个有 2 页的菜单,因为我的功能太多。当我命令切换到第 1 页(0.Back)时,我想出了将循环的头部放在第 1 页的第一行的想法,我将切换到它并开始一个新的循环,但我不知道如何。
int main () {
struct student list[100];
int numberOfStudent = 0;
int choice;
while(1) { // infinite loop
printf("Please choose: \n");
//page 1
printf("2. Enter student information: \n");
printf("3. Print student information: \n");
printf("4. Calculate average of student: \n");
printf("5. Ranking student by score: \n");
// printf("1. Next \n"); //only can seen at page 1
// Then it switch to next page:
printf("6. search student by name: \n");
printf("7. Update student information: \n");
printf("8. Delete student information: \n");
// printf("0. Back \n"); // only can seen at page 2
printf("00. Exit. \n"); // 00 always their in botton.
printf("Your choice: "); scanf("%d", &choice);
switch (choice) {
case 1:
get_list_of_student(list, &numberOfStudent);
break;
case 2:
calculate_average(list, numberOfStudent);
break;
case 3:
print_list_of_student(list, numberOfStudent);
break;
case 4:
ranking_student_score(list, numberOfStudent);
break;
case 5:
search_student_name(list, numberOfStudent);
break;
case 6:
update_student_infomation(list, numberOfStudent);
break;
case 7:
delete_student_information(list, numberOfStudent);
break;
case 00:
exit(0);
}
}
return 0;
}
解决方案
在这里,我创建了一个名为 的变量page
,赋值为 1,因为页面 1 将始终首先显示,并且有一个用于更改页面的 do-while 循环。
#include <stdio.h>
int main()
{
struct student list[100];
int numberOfStudent = 0;
int choice ;
int page = 1;
while(1) { // infinite loop
do{
if(page == 1)
{
//options for page 1
//get choice
switch(choice)
{
//case for 1st page options
case 0: page = 2;
break;
}
}
else if(page == 2)
{
//options for page 2
//get choice
switch(choice)
{
//case for 2nd page options
case 0: page = 1;
break;
}
}
}while(choice == 0)
}
return 0;
}
推荐阅读
- c++ - 为什么切换 for 循环的顺序会显着改变执行时间?
- c++ - 使用 C++ 阻止某些网站
- reactjs - 无法使用 Material UI 选择组件重置选择
- css - Angular Flex 为每个带有列的 div 添加填充
- c++ - Sqlite3:将数据库表名存储在向量中
- javascript - firebase 实时数据库事务不工作
- javascript - Service Worker 不刷新页面就无法工作
- javascript - 如何修复 ngFor/ngIf else 在 Angular 中不起作用
- python-3.x - 如何从字符串中获取特定的子字符串并用python中的新内容替换子字符串
- php - 我们可以在 Codeigniter Controller 中使用基于时区的时间变化吗?