加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

C语言程序设计-学生信息管理系统

08/22 13:22
1083
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
相关方案
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

题目:学生信息管理系统

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("%dt%st%st%dt%st%st%st%sn",

stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].bro,stu[i].add,stu[i].phone,stu[i].em);

}

修改学生信息模块

此模块对已输入的学生信息可以进行修改。

xiugai( )   //修改信息函数

{

int x,y,num,num2;

K:printf("t请输入要修改的学号: ");

scanf("%d",&num);

num2=looknum(num);

if(num==num2)  //判断这个学号是否存在

{

printf("nt这个学号的信息如下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);

printf("nt1.确认修改");

printf("nt2.取消修改n");

scanf("%d",&x);

if(x==1)

{

stu[num-1].num;

printf("t请输入姓名: ");

scanf("%s",stu[num-1].name);

printf("t请输入性别: ");

scanf("%s",stu[num-1].sex);

printf("t请输入年龄: ");

scanf("%d",stu[num-1].age);

printf("t请输入出生日期: ");

scanf("%s",stu[num-1].bro);

printf("t请输入住址: ");

scanf("%s",stu[num-1].add);

printf("t请输入手机号: ");

scanf("%s",stu[num-1].phone);

printf("t请输入E-maill: ");

scanf("%s",stu[num-1].em);

printf("nt<*修改信息成功*>n");

goto P;

}

else  goto P;

}

else

{

printf("nt没有这个学号,你可能记错了!n");

P:  printf("nt1.继续修改n");

printf("nt2.退出修改n");

scanf("%d",&y);

switch(y)

{

case 1:goto K;

default:break;

}

}

}

查询学生信息模块

此模块可以查询已存储的学生信息。

void chakan( )   //查看信息函数

{

int x=1,y=2,z=2,i,num,num2;

char name;

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;

}

}

}

if(x==2)   //姓名查询

{

U:printf("t请输入查看的姓名: ");

scanf("%s",&name);

for(i=0;i<=100;i++)

{

if(strcmp(&stu[i].name,&name)==0)   //字符串比较

if(stu[i].num!=0)   //判断这个学号是否存在

{

printf("t这个姓名的信息如下nn");

printf("学号t姓名t性别t年龄t出生日期t住址t手机号ttE-mailln");

printf("%dt%st%st%dt%st%st%st%sn",

stu[i].num,stu[i].name,stu[i].sex,stu[i].age,

stu[i].bro,stu[i].add,stu[i].phone,stu[i].em);

goto  Q;

}

}

if(i==101)

{

printf("nt没有这个行吗,你可能记错了!n");

Q:printf("nt1.继续查看n");

printf("nt2.退出查看n");

scanf("%d",&z);

switch(z)

{

case 1:goto U;

default:break;}

}

}

}

3功能测试

3.1 测试仪器与设备

Visualc++6.0

3.2 性能指标测试

  1. 3.2.1在主菜单中选择1

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

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

  1. 3.2.2在主菜单中选择2

当选择2时,界面会弹出全部学生的信息如下图

  1. 3.2.3在主菜单中选择3

当选着3时,界面会弹出要修改学生的学号进行查询修改的界面如下图

学号为1的学生信息

  1. 3.2.4在主菜单中选择4

选择4界面会弹出如下图

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

  1. 3.2.5在主菜单中选择5

当选择5时会弹出以下界面,1按照学号查询,2按照姓名查询

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

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

  1. 3.2.6在主菜单中选择6

当选择6时退出本系统,弹出的界面如下图

需要全部资料可在我的资源里下载,包括程序文档、源程序。

需要完整的资料可在我的资源里下载,也可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。

纷传点击用微信打开即可,过程有点繁琐请见谅。

  • 有需要资料的可了解一下.docx

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
NC7SP125P5X 1 onsemi TinyLogic ULP Buffer with 3-STATE Output, 3000-REEL

ECAD模型

下载ECAD模型
$0.27 查看

相关推荐

电子产业图谱