乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > word无法启动转换器mswrd632-「小白到大牛之路8」交换机后台管理系统之菜单选择

word无法启动转换器mswrd632-「小白到大牛之路8」交换机后台管理系统之菜单选择

作者:乔山办公网日期:

返回目录:word文档



实现菜单选择功能

#include #include int main(void) { // 定义变量,用来表示用户名和密码 char name[32]; char password[16]; FILE *file; //定义了一个文件指针变量,变量名是file char line[128]; char name_tmp[32]; char password_tmp[16]; char *ret; char n; //用户选择的菜单编号 //打开文件 file = fopen("users.txt", "r"); if (!file) { //等效于 file == NULL printf("文件打开失败"); return 1; } //输入用户名和密码 while (1) { system("cls"); // 输入用户名和密码 printf("请输入用户名:"); scanf("%s", name); printf("请输入密码:"); scanf("%s", password); //从文件中读取账号,并进行判断! while (1) { //读一行 ret = fgets(line, sizeof(line), file); //line: "admin 123456n" if (!ret) { break; } sscanf(line, "%s %s", name_tmp, password_tmp); if (!strcmp(name, name_tmp) && !strcmp(password, password_tmp)) { break; } } if (ret) { //用户名和密码匹配成功 break; } else { printf("用户名或密码错误!n"); system("pause"); system("cls"); fseek(file, 0, SEEK_SET); //把文件内部的位置指针设置到文件头 } } while (1) { system("cls"); // 打印功能菜单 printf("---交换机后台管理---n"); printf("1. 创建账号n"); printf("2. IP管理n"); printf("3. 退出n"); printf("请选择: "); fflush(stdin); scanf("%c", &n); if (n == '1') { system("cls"); printf("nn---创建账号---nn"); printf("待实现...nn"); printf("nn按任意键返回主菜单"); fflush(stdin); getchar(); } else if (n == '2') { system("cls"); printf("nn---IP管理---nn"); printf("待实现...nn"); printf("nn按任意键返回主菜单"); fflush(stdin); getchar(); } else if (n == '3') { system("cls"); break; } else { system("cls"); printf("nn输入错误!nn"); printf("nn按任意键后,请重新输入nn"); fflush(stdin); getchar(); } } return 0;}

项目优化

分析存在的问题:


1. if判断很多


2. 代码臃肿




分析多种优化方案。


#include #include int main(void) { // 定义变量,用来表示用户名和密码 char name[32]; char password[16]; FILE *file; //定义了一个文件指针变量,变量名是file char line[128]; char name_tmp[32]; char password_tmp[16]; char *ret; char n; //用户选择的菜单编号 //打开文件 file = fopen("users.txt", "r"); if (!file) { //等效于 file == NULL printf("文件打开失败"); return 1; } //输入用户名和密码 while (1) { system("cls"); // 输入用户名和密码 printf("请输入用户名:"); scanf("%s", name); printf("请输入密码:"); scanf("%s", password); //从文件中读取账号,并进行判断! while (1) { //读一行 ret = fgets(line, sizeof(line), file); //line: "admin 123456n" if (!ret) { break; } sscanf(line, "%s %s", name_tmp, password_tmp); if (!strcmp(name, name_tmp) && !strcmp(password, password_tmp)) { break; } } if (ret) { //用户名和密码匹配成功 break; } else { printf("用户名或密码错误!n"); system("pause"); system("cls"); fseek(file, 0, SEEK_SET); //把文件内部的位置指针设置到文件头 } } while (1) { system("cls"); // 打印功能菜单 printf("---交换机后台管理---n"); printf("1. 创建账号n"); printf("2. IP管理n"); printf("3. 退出n"); printf("请选择: "); fflush(stdin); scanf("%c", &n); switch (n) { case '1': system("cls"); printf("nn---创建账号---nn"); printf("待实现...nn"); printf("nn按任意键返回主菜单"); fflush(stdin); getchar(); break; case '2': system("cls"); printf("nn---IP管理---nn"); printf("待实现...nn"); printf("nn按任意键返回主菜单"); fflush(stdin); getchar(); break; case '3': system("cls"); return 0; default: system("cls"); printf("nn输入错误!nn"); printf("nn按任意键后,请重新输入nn"); fflush(stdin); getchar(); break; } } return 0;}

项目精讲

1. switch的基本使用

流程图:


switch (x) {


case 表达式1:


语句1


break;


case 表达式2:


语句2


break;


case 表达式3:


语句3


break;


default表达式1:


语句1


break;


}


demo


#include int main(void) { int x; x = 1; switch(x) { case 1: printf("1n"); case 2: printf("2n"); case 3: printf("3n"); default: printf("defaultn"); } return 0;}

2. switch和if的选择

switch: 用于int/char/long/long long 类型的变量,和多个特定常量的判断处理。


(float和double类型不可以)


if: 适用于各种逻辑判断


3. switch的注意事项

#include int main(void) { int c; scanf("%d", &c); switch(c) { case 1: int x = 0; //错误! printf("c=1n"); break; case 2: printf("c=2n"); break; default: printf("othern"); break; } return 0;}

应该修改为:


#include int main(void) { int c; scanf("%d", &c); switch(c) { case 1: { int x = 0; //合法 } printf("c=1n"); break; case 2: printf("c=2n"); break; default: printf("othern"); break; } return 0;}

项目练习

练习1

独立完成项目8.


练习2

编写一个程序,让用户输入一个月份,然后判断这个月有多少天。


假设2月份始终有28天。


分别用if 和switch语句实现。


练习3

让用户输入一个成绩,然后判断该成绩的等级。


0-59: 不及格


60-79: 及格


80-89: 良好


90-100: 优秀


其它:非法成绩


分别用if 和switch语句实现。





如果需要获取到这个【C/C++初级入门资料】文档的话帮忙点赞一下免费领取吧!分享不易,你的点赞是对我最大的支持


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网