C语言写学生信息管理系统,大学期末作业,课程设计

1 系统设计

1.1设计要求

1.1.1设计任务

创建一个学生信息管理系统,让它来运行和管理学生信息,进行对学生学号、姓名、性别、年龄、出生年月日、住址、电话、E—maill等信息的管理。

1.1.2性能指标要求

程序具有对学生信息的入录、查询、修改、删除、保存、添加等功能,对于输入错误的信息能得到提示并能进行选择。

1.2设计思路及设计框图

1.2.2设计思路

采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。

本学生信息管理系统采用结构体数组链表来实现,它由如下六大功能模块组成:

添加学生信息函数:对学生的信息进行添加输入。

全部学生信息函数:储存已输入全部学生的信息,进行管理。

修改学生信息函数:对已输入学生的信息进行修改。

删除学生信息函数:对已经不需要了的信息进行删除处理。

查看学生信息函数:可以按不同方式查看学生的信息。

主函数:对其他子函数进行调用处理。

1.2.2总体设计框图


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

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;

}

}

功能测试

3.1 测试仪器与设备

Visualc++6.0

3.2 性能指标测试

3.2.1在主菜单中选择1
当用户输入1并按回车键后,即可进入添加学生信息界面。若是第一次运行该程序,应能实现从键盘输入学生信息到数组中,


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

当输入一名学生的信息完成时会弹出以下界面,选择1继续添加,选择2退出添

3.2.2在主菜单中选择2
当选择2时,界面会弹出全部学生的信息如下图


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

3.2.3在主菜单中选择3
当选着3时,界面会弹出要修改学生的学号进行查询修改的界面如下图


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

学号为1的学生信息


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

3.2.4在主菜单中选择4
选择4界面会弹出如下图


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

选择1可以删除该学生的信息,2取消删除学生的信息


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

3.2.5在主菜单中选择5
当选择5时会弹出以下界面,1按照学号查询,2按照姓名查询


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

当输入的学号错误时会出现以下界面


编辑

添加图片注释,不超过 140 字(可选)

输入学号正确时会弹出以下界面


编辑

切换为居中

添加图片注释,不超过 140 字(可选)

3.2.6在主菜单中选择6
当选择6时退出本系统,弹出的界面如下图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值