1 系统设计
设计要求
(资料图片)
设计任务
创建一个学生信息管理系统,让它来运行和管理学生信息,进行对学生学号、姓名、性别、年龄、出生年月日、住址、电话、E—maill等信息的管理。
性能指标要求
程序具有对学生信息的入录、查询、修改、删除、保存、添加等功能,对于输入错误的信息能得到提示并能进行选择。
设计思路及设计框图
设计思路
采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。
本学生信息管理系统采用结构体数组链表来实现,它由如下六大功能模块组成:
添加学生信息函数:对学生的信息进行添加输入。
全部学生信息函数:储存已输入全部学生的信息,进行管理。
修改学生信息函数:对已输入学生的信息进行修改。
删除学生信息函数:对已经不需要了的信息进行删除处理。
查看学生信息函数:可以按不同方式查看学生的信息。
主函数:对其他子函数进行调用处理。
总体设计框图
2 各个模块的设计
主函数main()main()函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。菜单放在主函数中方便简洁,用户进入学生信息管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。
main( ) //主函数{ int a; printf("\n\t 〓〓〓〓〓〓〓〓 ☆ 学生信息管理系统 ☆ 〓〓〓〓〓〓〓〓\n\n"); printf("\n\t 〓〓〓〓〓〓〓〓 ☆ 未经允许,不得使用 ☆ 〓〓〓〓〓〓〓〓\n"); printf("\t\n");T: printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 1.添加学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 \n"); printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 2.全部学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 \n"); printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 3.修改学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 \n"); printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 4.删除学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 \n"); printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 5.查看学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 \n"); printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 6.退出本系统 ☆ ★ 〓〓〓〓〓〓〓〓 \n"); scanf("%d",&a); switch(a) { case 1:tianjia( );goto T; case 2:quanbu( );goto T; case 3:xiugai( );goto T; case 4:shanchu( );goto T; case 5:chakan( );goto T; case 6:break; default:printf("\t你的输入不正确,请再次输入: \n"); } printf("\t谢谢您对本系统的支持和使用\n\n"); printf("\t2019年9月10日\n\n\n\n\n\n\n");}添加学生信息函数此函数实现学生信息的添加,将信息存入结构体数组中。
tianjia( ) //添加信息函数{ int num,num2,i,x; G:printf("\t请输入学号: "); H:scanf("%d",&num); V:if(num>100) { printf("\n这个学号太大了!\n请输入1--100的学号:"); scanf("%d",&num); if(num>100)goto V; printf("\n"); } num2=looknum(num); if(num==num2) //判断这个学号是否存在 { printf("\n这个学号已经存在,请重新输入另一个学号。"); goto H; } i=num-1; stu[i].num=num; printf("\t请输入姓名: "); scanf("%s",stu[i].name); printf("\t请输入性别: "); scanf("%s",stu[i].sex); printf("\t请输入年龄: "); scanf("%d",&stu[i].age); printf("\t请输入出生日期: "); scanf("%s",stu[i].bro); printf("\t请输入住址: "); scanf("%s",stu[i].add); printf("\t请输入手机号: "); scanf("%s",stu[i].phone); printf("\t请输入E-maill: "); scanf("%s",stu[i].em); printf("\n\t<*添加信息成功*>\n\n "); printf("\t1.继续添加\n"); printf("\t2.退出添加\n"); scanf("%d",&x); switch(x) { case 1:goto G; default:break; }}全部学生信息模块
此模块对输入学生的信息进来存储管理。
quanbu() //输出全部信息函数 { int i; printf("\t\t全部学生信息如下\n\n"); printf("学号\t姓名\t性别\t年龄\t出生日期\t住址\t手机号\t\tE-maill\n"); for(i=0;i<=100;i++) if(stu[i].num!=0) printf("\n\t2.取消修改\n"); scanf("%d",&x); if(x==1) { stu[num-1].num; printf("\t1.按照学号查询\n\t2.按照姓名查询\n"); scanf("%d",&x); //输入查看方式 if(x==1) //学号查找 {M:printf("\t请输入查看的学号: "); scanf("%d",&num); num2=looknum(num); if(num==num2) //判断这个学号是否存在 { printf("\t这个学号信息如下\n\n"); printf("学号\t 姓名\t 性别\t 年龄\t 出生日期\t 住址\t 手机号\t\tE-mail\n"); printf("%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[num-1].num, stu[num-1].name,stu[num-1].sex,stu[num-1].age, stu[num-1].bro,stu[num-1].add,stu[num-1].phone,stu[num-1].em); goto J; } else { printf("\n\t没有这个学号,你可能记错了!\n"); J:printf("\n\t1.继续查看\n"); printf("\n\t2.退出查看\n"); scanf("%d",&y);switch(y) { case 1:goto M; default:break; } }功能测试
测试仪器与设备
Visualc++
性能指标测试
在主菜单中选择1
当用户输入1并按回车键后,即可进入添加学生信息界面。若是第一次运行该程序,应能实现从键盘输入学生信息到数组中,
当输入一名学生的信息完成时会弹出以下界面,选择1继续添加,选择2退出添在主菜单中选择2当选择2时,界面会弹出全部学生的信息如下图在主菜单中选择3当选着3时,界面会弹出要修改学生的学号进行查询修改的界面如下图学号为1的学生信息在主菜单中选择4选择4界面会弹出如下图选择1可以删除该学生的信息,2取消删除学生的信息在主菜单中选择5
当选择5时会弹出以下界面,1按照学号查询,2按照姓名查询
输入学号正确时会弹出以下界面在主菜单中选择6当选择6时退出本系统,弹出的界面如下图需要完整的资料可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。