




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XXXXXX大学计算机科学与技术学院课程设计报告20XX 20XX学年第二学期课程名称 C语言课程设计 题 目 学生信息管理系统 学生姓名 XXXX 学 号 XXXXXXXX 专业班级 XXXXXXXX 指导教师 XXXXX 合 作 者 XXXX 20XX年 X月 X日目录摘要-31. 设计目的-42. 功能描述-42.1.总体功能设计-42.2.各模块功能-43. 总体设计-5 3.1模块流程图-5 3.2数据结构设计-5 3.3函数功能描述-6 4. 程序实现-64.1详细模块介绍-64.2源代码-134.3运行结果-21学生信息管理系统(摘要)学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作学生信息录入功能(学生信息用文件保存)-输入学生信息浏览功能-输出查询、排序功能-算法按学号查询按姓名查询学生信息的删除与修改(可选项)1、设计目的 本程序旨在训练读者的基本编程能力,了解管理信息系统开发流程,熟悉C语言的编程环境.我们主要设计一个能实现学生信息管理系统,让它来运行和管理学生信息。它在现实生活中运用方便的、管理方便。它能输入学生学号、年龄、性别、出生年月、地址电话E-mail。系统以菜单的方式进行工作,进入子菜单后,还可以返回主菜单。在子菜单中的各种操作都有中文说明,操作简单、易懂。只要我们正确的操作系统,系统就无异常现在,当然系统也能对一些基本的错误做出提示,并能让使用者重新进行操作。 对各个操作的成功,如:添加学生信息、修改学生信息、删除学 生信息,系统都输出“.的成功”的字样。系统对删除和修改前,还进行“确定”和“取消”。系统对不存在的学号和姓名系统能判断是否存在。对已存在的学号,操作者不能添加和这个学号一样的学生信息,同时系统还提示已有此学号。对于修改、删除和查询,系统遇到不存在的学生能提示没有这个信息。2、功能描述 2.1.总体功能设计: 学生信息管理系统存放了每个学生的学号、姓名、性别、年龄、出生年月日、地址、 电话号码、E-mail信息地数据库。每个人的信息定义在一个结构体变量中。其结构如下: 系统通过显示程序、添加程序、查询程序、删除程序、修改程序、排序程序来实现学生信息管理系统的显示功能、添加加功能、查询功能、删除功能、修改功能、排序功能。各个功能的调用通过主函数中的switch语句来实现。 2.2.各模块功能: 显示模块:通过设计一个模块,来实现学生信息的显示。以便于浏览学生的信息。 添加模块:通过设计一个模块,当要加入新的学生的信息的时候,来实现新学生信息的加入。 修改模块:通过设计一个模块,当某个人的信息发生变化的时候,可以通过修改模块来进行修改。修改模块时一具有多级子菜单的摸块。使用十分的方便、灵活。 查询模块:通过设计一个模块,这个模块可以按学生的学号、姓名来查询学生所有的信息,并显示学生的所有信息,以便查询者阅读。 删除模块: 通过设计一个模块,当输入一个学生的学号或者姓名的时候,可以通过这个模块,将输入学号或者姓名的学生的所有信息从数据库中删除出去。以后,这个学生的信息将不再会出现再数据库中。 排序模块: 通过设计一个模块,来实现数据库的信息按某项成员名的伸序或者降序排列。这个模块提供了按学号来实现排序,使浏览者一目了然。3、总体设计3.1模块流程图学生信息管理系统添加信息模块退出系统查询信息模块删除信息模块显示信息模块修改信息模块3.2数据结构设计 1头文件说明 #include 2.函数的编写 定义结构类型; 定义全局变量; 定义、编写记录(数据)输入函数; 定义、编写记录(数据)显示函数; 定义、编写记录(数据)增加函数; 定义、编写记录(数据)删除函数; 定义、编写记录(数据)修改函数; 定义、编写记录(数据)统计函数; 定义、编写记录(数据)查找函数; 3.结构体设计struct student /*结构体*/ int num; char name20; /学号 char sex5; /姓名 int age; /性别 char bro15; /年龄 char add30; /住址 char phone13; /手机号 char em20; /E-mail stu100; /结构体名 3.3函数功能描述函数名功能main()主函数tianjia()添加信息xiugai()修改信息quanbu()显示全部信息chakan()查找信息looknum()判断是否已有要添加信息shanchu()删除信息4、程序实现 4.1详细模块介绍 1.添加信息模块。该模块作用是,添加学生的信息,包括学号,姓名,性别,年龄,出生日期,住址,手机号,e-mail几方面的信息。添加学生学号在100以内。tianjia() /*添加信息函数*/ FILE *fp;int num,num2,i,x; fp=fopen(stu2.txt,ab+); G:printf(t请输入学号:); H:scanf(%d,&num); V:if(num100) printf(n这个学号太大了!n请输入1-100 的学号:); scanf(%d,&num); if(num100)goto V; printf(n); num2=looknum(num); if(num=num2) /*判断这个学号是否存在*/ printf(n这个学号已经存在,请重新输入另一个学号。); goto H; i=num-1; stui.num=num; printf(t请输入姓名:); scanf(%s,); printf(t请输入性别:); scanf(%s,stui.sex); printf(t请输入年龄:); scanf(%d,&stui.age); printf(t请输入出生日期:); scanf(%s,stui.bro); printf(t请输入住址:); scanf(%s,stui.add); printf(t请输入手机号:); scanf(%s,stui.phone); printf(t请输入E-maill:); scanf(%s,stui.em); printf(ntnn); printf(t1.继续添加n); printf(t2.退出添加n); scanf(%d,&x); switch(x) case 1:goto G; default:break; fclose(fp); 2.显示信息模块。该模块作用是,按学号顺序显示全部学生的信息,包括学号,姓名,性别,年龄,出生日期,住址,手机号,e-mail几方面的信息。 quanbu()/*输出全部信息函数*/ int i; FILE *fp; fp=fopen(stu2.txt,rb); printf(tt全部学生信息如下nn); printf(学号t姓名t性别t年龄t出生日期t住址t手机号ttE-mailn); for(i=0;i=100;i+) if(stui.num!=0)printf(%dt%st%st%dt%st%st%st%sn,stui.num,,stui.sex,stui.age,stui.bro,stui.add,stui.phone,stui.em); fclose(fp); 3.修改信息模块。输入要修改的学生学号,先判断这个学号是否存在。如果存在,系统就确认修改信息,并重新输入信息。如果不存在,系统提示输入错误,返回菜单。xiugai()/*修改信息函数*/ FILE *fp; 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, stunum-1.num,,stunum-1.sex,stunum-1.age,stunum-1.bro,stunum-1.add,stunum-1.phone,stunum-1.em); printf(nt1.确认修改); printf(nt2.取消修改n); scanf(%d,&x); if(x=1) stunum-1.num=num; fp=fopen(stu2.txt,rb+); printf(t请输入姓名:); scanf(%s,); printf(t请输入性别:); scanf(%s,stunum-1.sex); printf(t请输入年龄:); scanf(%d,&stunum-1.age); printf(t请输入出生日期:); scanf(%s,stunum-1.bro); printf(t请输入住址:); scanf(%s,stunum-1.add); printf(t请输入手机号:); scanf(%s,stunum-1.phone); printf(t请输入E-maill:); scanf(%s,stunum-1.em); printf(ntn); goto P; fclose(fp); fp=fopen(stu2.txt,rb); else goto P; else printf(nt没有这个学号,你可能记错了!n); P:printf(nt1.继续修改n); printf(t2.退出修改n); scanf(%d,&y); switch(y) case 1:goto K; default:break; fclose(fp); 4.删除信息模块。输入要删除的学生学号,先判断这个学号是否存在。如果存在,系统就确认删除错误的信息。如果不存在,系统提示输入错误,返回菜单。 void shanchu()/*删除信息函数*/ int x=2,y=2,num,num2; FILE *fp; fp=fopen(stu2.txt,ab+); rewind(fp); L: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,stunum-1.num,,stunum-1.sex,stunum-1.age,stunum-1.bro,stunum-1.add,stunum-1.phone,stunum-1.em); printf(nt1.确认删除); printf(nt2.取消删除n); scanf(%d,&x); switch(x) case 1:stunum-1.num=0; printf(t=n); default:break; goto D; else printf(nt没有这个学号,你可能记错了!n); D:printf(nt1.继续删除n); printf(t2.退出删除n); scanf(%d,&y); switch(y) case 1:goto L; default:break; fclose(fp); 5.查询信息模块。输入要查询的学生的姓名或学号,先判断这个学号是否存在。如果该姓名或学号存在,系统就显示相关信息的信息。如果不存在,系统提示输入错误,返回菜单。 void chakan()/*查看信息函数*/ FILE *fp; int x=1,y=2,z=2,i,num,num2; char name,name2; fp=fopen(stu2.txt,rb); rewind(fp); 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,stunum-1.num,,stunum-1.sex,stunum-1.age,stunum-1.bro,stunum-1.add,stunum-1.phone,stunum-1.em); goto J; else printf(nt没有这个学号,你可能记错了!n); J: printf(nt1.继续查看n); printf(t2.退出查看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(&,&name)=0)/*字符串比较*/ if(stui.num!=0) /*判断这个学号是否存在*/ printf(t这个姓名信息如下nn); printf(学号t姓名t性别t年龄t出生日期t住址t手机号ttE-mailn); printf(%dt%st%st%dt%st%st%st%sn,stui.num,,stui.sex,stui.age,stui.bro,stui.add,stui.phone,stui.em); goto Q; if(i=101) printf(nt没有这个姓名,你可能记错了!n); Q: printf(nt1.继续查看n); printf(t2.退出查看n); scanf(%d,&z); switch(z) case 1:goto U; default:break; fclose(fp); 6.退出系统模块。该模块是一个主函数,输入“6”系统退出。 main()/*主函数*/ int a; printf(nt *欢迎使用*nn); printf(*n); printf(t *非校内人士,不得使用*n); printf(t-n); T:printf(nnt 1.添加学生信息nt 2.全部学生信息nt 3.修改学生信息nt 4.删除学生信息nt 5.查看学生信息nt 6.退出系统n); printf(n *=*=*=*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);goto T; printf(t谢谢您对本系统的支持和使用nn); printf(t=2016年6月29日=nnnnnnnnnnnnn); 4.2源代码#include struct student /*结构体*/ int num; char name20; /学号 char sex5; /姓名 int age; /性别 char bro15; /年龄 char add30; /住址 char phone13; /手机号 char em20; /E-mail stu100; /结构体名 int looknum(int num) /*查看是否有这个学号的函数*/ int i; FILE *fp; fp=fopen(stu2.txt,rb); rewind(fp); for(i=0;i100) printf(n这个学号太大了!n请输入1-100 的学号:); scanf(%d,&num); if(num100)goto V; printf(n); num2=looknum(num); if(num=num2) /*判断这个学号是否存在*/ printf(n这个学号已经存在,请重新输入另一个学号。); goto H; i=num-1; stui.num=num; printf(t请输入姓名:); scanf(%s,); printf(t请输入性别:); scanf(%s,stui.sex); printf(t请输入年龄:); scanf(%d,&stui.age); printf(t请输入出生日期:); scanf(%s,stui.bro); printf(t请输入住址:); scanf(%s,stui.add); printf(t请输入手机号:); scanf(%s,stui.phone); printf(t请输入E-maill:); scanf(%s,stui.em); printf(ntnn); printf(t1.继续添加n); printf(t2.退出添加n); scanf(%d,&x); switch(x) case 1:goto G; default:break; fclose(fp); quanbu()/*输出全部信息函数*/ int i; FILE *fp; fp=fopen(stu2.txt,rb); printf(tt全部学生信息如下nn); printf(学号t姓名t性别t年龄t出生日期t住址t手机号ttE-mailn); for(i=0;i=100;i+) if(stui.num!=0)printf(%dt%st%st%dt%st%st%st%sn,stui.num,,stui.sex,stui.age,stui.bro,stui.add,stui.phone,stui.em); fclose(fp); xiugai()/*修改信息函数*/ FILE *fp; 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, stunum-1.num,,stunum-1.sex,stunum-1.age,stunum-1.bro,stunum-1.add,stunum-1.phone,stunum-1.em); printf(nt1.确认修改); printf(nt2.取消修改n); scanf(%d,&x); if(x=1) stunum-1.num=num; fp=fopen(stu2.txt,rb+); printf(t请输入姓名:); scanf(%s,); printf(t请输入性别:); scanf(%s,stunum-1.sex); printf(t请输入年龄:); scanf(%d,&stunum-1.age); printf(t请输入出生日期:); scanf(%s,stunum-1.bro); printf(t请输入住址:); scanf(%s,stunum-1.add); printf(t请输入手机号:); scanf(%s,stunum-1.phone); printf(t请输入E-maill:); scanf(%s,stunum-1.em); printf(ntn); goto P; fclose(fp); fp=fopen(stu2.txt,rb); else goto P; else printf(nt没有这个学号,你可能记错了!n); P:printf(nt1.继续修改n); printf(t2.退出修改n); scanf(%d,&y); switch(y) case 1:goto K; default:break; fclose(fp); void shanchu()/*删除信息函数*/ int x=2,y=2,num,num2; FILE *fp; fp=fopen(stu2.txt,ab+); rewind(fp); L: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,stunum-1.num,,stunum-1.sex,stunum-1.age,stunum-1.bro,stunum-1.add,stunum-1.phone,stunum-1.em); printf(nt1.确认删除); printf(nt2.取消删除n); scanf(%d,&x); switch(x) case 1:stunum-1.num=0; printf(t=n); default:break; goto D; else printf(nt没有这个学号,你可能记错了!n); D:printf(nt1.继续删除n); printf(t2.退出删除n); scanf(%d,&y); switch(y) case 1:goto L; default:break; fclose(fp); void chakan()/*查看信息函数*/ FILE *fp; int x=1,y=2,z=2,i,num,num2; char name,name2; fp=fopen(stu2.txt,rb); rewind(fp); 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,stunum-1.num,,stunum-1.sex,stunum-1.age,stunum-1.bro,stunum-1.add,stunum-1.phone,stunum-1.em); goto J; else printf(nt没有这个学号,你可能记错了!n); J: print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实践应用2025年软件设计师试题及答案
- 如何培养学生的自主学习能力计划
- 2024年河北省文化和旅游厅下属事业单位真题
- 湖北省武汉市江岸区2025年八下数学期末学业质量监测模拟试题含解析
- 2024年贵州省商务厅下属事业单位真题
- 2024年南大奥宇高级中学招聘笔试真题
- 风险管理建议与企业应对措施试题及答案
- 打造高效学习计划软件设计师考试的试题及答案
- 2025年软考网络管理员考试复习笔记和试题及答案
- 代码注释与文档对照的作用试题及答案
- 鱼类卵子受精机制与精子激活
- 植物营养学智慧树知到期末考试答案章节答案2024年黑龙江八一农垦大学
- MOOC 市场调查与研究-南京邮电大学 中国大学慕课答案
- 凉水井煤矿矿山地质环境与土地复垦方案
- 思明区公开招聘非在编聘用人员报名表
- 联合办公协议书范本
- 质量部运行卓越绩效体系
- 利妥昔单抗用药注意事项课件
- 管理能力测试题大全
- 2023年公需科目:《“十四五”数字经济发展规划》解读等考试题
- 产品出厂检验报告
评论
0/150
提交评论