1 系统设计
1.1设计要求
1.1.1设计任务
创建一个学生信息管理系统,让它来运行和管理学生信息,进行对学生学号、姓名、性别、年龄、出生年月日、住址、电话、E—maill等信息的管理。
1.1.2性能指标要求
程序具有对学生信息的入录、查询、修改、删除、保存、添加等功能,对于输入错误的信息能得到提示并能进行选择。
1.2设计思路及设计框图
1.2.2设计思路
采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。
本学生信息管理系统采用结构体数组链表来实现,它由如下六大功能模块组成:
添加学生信息函数:对学生的信息进行添加输入。
全部学生信息函数:储存已输入全部学生的信息,进行管理。
修改学生信息函数:对已输入学生的信息进行修改。
删除学生信息函数:对已经不需要了的信息进行删除处理。
查看学生信息函数:可以按不同方式查看学生的信息。
主函数:对其他子函数进行调用处理。
1.2.2总体设计框图
2 各个模块的设计
主函数main()
main()函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。菜单放在主函数中方便简洁,用户进入学生信息管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。
main( ) //主函数
{
int a;
printf("nt 〓〓〓〓〓〓〓〓 ☆ 学生信息管理系统 ☆ 〓〓〓〓〓〓〓〓nn");
printf("nt 〓〓〓〓〓〓〓〓 ☆ 未经允许,不得使用 ☆ 〓〓〓〓〓〓〓〓n");
printf("tn");
T: printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 1.添加学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 2.全部学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 3.修改学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 4.删除学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 5.查看学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 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谢谢您对本系统的支持和使用nn");
printf("t2019年9月10日nnnnnnn");
}
添加学生信息函数
此函数实现学生信息的添加,将信息存入结构体数组中。
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("nt<*添加信息成功*>nn ");
printf("t1.继续添加n");
printf("t2.退出添加n");
scanf("%d",&x);
switch(x)
{
case 1:goto G;
default:break;
}
}
全部学生信息模块
此模块对输入学生的信息进来存储管理。
quanbu() //输出全部信息函数
{
int i;
printf("tt全部学生信息如下nn");
printf("学号t姓名t性别t年龄t出生日期t住址t手机号ttE-mailln");
for(i=0;i<=100;i++)
if(stu[i].num!=0)
printf("nt2.取消修改n");
scanf("%d",&x);
if(x==1)
{
stu[num-1].num;
printf("t1.按照学号查询nt2.按照姓名查询n");
scanf("%d",&x); //输入查看方式
if(x==1) //学号查找
{
M:printf("t请输入查看的学号: ");
scanf("%d",&num);
num2=looknum(num);
if(num==num2) //判断这个学号是否存在
{
printf("t这个学号信息如下nn");
printf("学号t 姓名t 性别t 年龄t 出生日期t 住址t 手机号ttE-mailn");
printf("%dt%st%st%dt%st%st%st%sn",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("nt没有这个学号,你可能记错了!n");
J:printf("nt1.继续查看n");
printf("nt2.退出查看n");
scanf("%d",&y);
switch(y)
{
case 1:goto M;
default:break;
}
}
功能测试
3.1 测试仪器与设备
Visualc++6.0
3.2 性能指标测试
3.2.1在主菜单中选择1
当用户输入1并按回车键后,即可进入添加学生信息界面。若是第一次运行该程序,应能实现从键盘输入学生信息到数组中,
当输入一名学生的信息完成时会弹出以下界面,选择1继续添加,选择2退出添
3.2.2在主菜单中选择2
当选择2时,界面会弹出全部学生的信息如下图
3.2.3在主菜单中选择3
当选着3时,界面会弹出要修改学生的学号进行查询修改的界面如下图
学号为1的学生信息
3.2.4在主菜单中选择4
选择4界面会弹出如下图
选择1可以删除该学生的信息,2取消删除学生的信息
编辑切换为居中
添加图片注释,不超过 140 字(可选)
3.2.5在主菜单中选择5
当选择5时会弹出以下界面,1按照学号查询,2按照姓名查询
编辑切换为居中
添加图片注释,不超过 140 字(可选)
当输入的学号错误时会出现以下界面
编辑
添加图片注释,不超过 140 字(可选)
输入学号正确时会弹出以下界面
编辑切换为居中
添加图片注释,不超过 140 字(可选)
3.2.6在主菜单中选择6
当选择6时退出本系统,弹出的界面如下图
-
C语言
+关注
关注
180文章
7589浏览量
135769 -
程序设计
+关注
关注
3文章
261浏览量
30350 -
信息管理系统
+关注
关注
0文章
31浏览量
9962
发布评论请先 登录
相关推荐
评论