收藏 分销(赏)

c语言课程设计--学生基本信息管理系统.doc

上传人:丰**** 文档编号:5431289 上传时间:2024-10-31 格式:DOC 页数:23 大小:576KB
下载 相关 举报
c语言课程设计--学生基本信息管理系统.doc_第1页
第1页 / 共23页
c语言课程设计--学生基本信息管理系统.doc_第2页
第2页 / 共23页
c语言课程设计--学生基本信息管理系统.doc_第3页
第3页 / 共23页
c语言课程设计--学生基本信息管理系统.doc_第4页
第4页 / 共23页
c语言课程设计--学生基本信息管理系统.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、内蒙古科技大学课程设计说明书内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 学生基本信息管理系统学生姓名:学 号:专 业:软件工程班 级:2015软件一班指导教师:日 期:2016年1月5日22内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目学生基本信息管理系统指导教师时间2016年1月1日1月5日 一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题

2、,独立完成,题目选定后不可更换。某班学生基本信息管理,包括以下功能:v 从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里v 具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录)v 具有插入、修改和删除信息的功能v 具有输出文件数据信息的功能三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少500行代码

3、,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C语言程序设计,谭浩强,清华大学出版社2C语言程序设计课程设计,刘振安,机械工业出版社目 录内蒙古科技大学课程设计任务书I第一章 需

4、求分析31.1引言31.2任务概述31.3数据描述31.4功能需求31.5性能需求31.6运行需求41.7任务计划4第二章概要设计52.1总体设计52.2数据类型设计(或数据结构设计)52.3接口设计 /函数声明52.4运行界面设计5第三章详细设计73.1输入模块设计73.2输出模块设计73.3查找模块设计73.4排序模块设计73.5保存及读取模块设计7第四章测试分析84.1测试程序执行情况84.2出现的问题和解决的方法8第五章用户手册(可选)95.1使用说明95.2运行说明9第六章课程设计总结10附录:程序代码11参考文献12致谢13第一章 需求分析1.1 引言编写一个程序来处理同学个人信息

5、。通过一个结构体数组来存放输入的每一位同学的记录(包括姓名、电话号码、e_mail、地址),然后将其信息存入文件中。输入一个姓名查询该同学的信息,并显示在屏幕上。1.2 任务概述1运行环境本系统对于硬件要求不高,软件只要是windows2000及以上版本都可以使用。2用户特点本系统对用户的要求不高,一般懂得一些基本的电脑操作即可。维护人员为本小组的开发人员,均为计算机专业本科教育,懂得VC+6.0编程。3条件与限制计算机一台1.3 数据描述系统数据类型有:整型int,字符型char,结构体struct;自己定义的数据类型有:shuru() 等1.4 功能需求3.1功能划分学生信息管理系统可分为

6、三部分:信息管理;修改;查询;存储.3.2功能描述(1)信息管理功能:能对学生的各种信息进行管理、登记,保存等。(2)修改处理功能:对学生信息进行管理登记,保存记录。(3) 存储功能:让管理人员对学生的信息进行存储。1.5 性能需求1时间特性本系统对时间的要求较高,时间反应要快,在查询时必须能在几秒时间内作出反应,弹出所要查询的各类图书信息以及借阅者信息。2兼容性和扩展性仅限在学校电脑使用。1.6 运行需求1用户界面屏幕格式:(1)要求有菜单及工具栏以方便操作(2)各数据库信息可在屏幕上直接修改(3)各数据统计结果可在屏幕上显示(4)进行系统分析后的结果在另一窗口中显示2硬件环境普通的计算机3

7、软件环境支持的操作系统包括Windows98/XP/7/8/10中文版及以上版本要用到的编译语言vc+6.01.7 任务计划该程序主要实现影碟信息的管理任务其中包括影碟信息录入功能,碟信息浏览功能,影碟信息查找或排序功能,影碟信息的删除与修改,影碟的借出与归还。详情如下:(1) 输入的形式为int,char;输入值的范围为int:-21474836482147483647,char:-128127;(2) 输出的形式为数字,汉字,字母;第二章 概要设计2.1 总体设计开始3 4调用函数struct record5调用函数 shuru ()6调用函数 chaxun()78调用函数 xiugai(

8、)9调用函数 shanchu()10调用函数 xianshi()11调用函数 baocun()1213 结束13.1 数据类型设计(或数据结构设计)13.2 接口设计 函数名函数格式 函数功能shuruVoid信息输入chaxunVoid信息查询xiugaiVoid信息修改shanchuVoid信息删除xianshiVoid信息显示baocunVoid错误提醒caidanVoid分菜单tuichuxitongVoid退出系统huanyingyemianVoid欢迎界面13.3 运行界面设计功能选择第三章 详细设计3.1 输入模块设计开始 输入学生数量输入学生信息n确定输入么?yn要保存么?y保

9、存y要继续输入么?n结束开始3.2 输出模块设计 打开记录文件输出数据n是否退出y结束开始3.3 查找模块设计选择查找方式按照姓名名查找按照学号查找y继续查找么?n结束开始3.4 排序模块设计选择排序方式按照上市时间排序按照库存排序y继续排序么?n结束开始3.5 保存及读取模块设计打开并读取文件yny结束退出?保存是否保存?第四章 测试分析4.1 测试程序执行情况50.1pause函数 选择界面1.1录入学生数目1.2录入信息2.1浏览已录入的信息第五章 用户手册(可选)该程序设计语言为C,支持中文输入输出,方便快捷,小巧实用。大多数输入错误都会有明确的提示,要求重新输入,但有小部分bug因篇

10、幅原因请用户自行注意。1.修改删除功能时,请不要输入不存在的电影编号,否则会出现乱码(仅出现,并不会影响管理文件)2.录入时请不要尝试故意输入错误信息,以免造成未知的后果。3.每当输入Y/N时请不要输入其他字符,以免误操作。第六章 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今让我我们仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,

11、几个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,也懂得集体团队的重要性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程

12、设计终于顺利完成了,在设计中遇到了很多编程问题,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢。附录:程序代码#include#include#include#define LEN 5#define N 5struct recordchar code20;char name10;char sex5;char time20;char add20;char sch20;char cla10;char eva5;stuN;int k=1,m,n;void shuru();void chaxun();void xiugai();void shanchu();void xianshi();voi

13、d baocun();void caidan();void tuichuxitong();void huanyingjiemian();int main()while(k)huanyingjiemian();system(pause);system(cls);printf(请输入任意键进入菜单!n);system(cls);caidan();system(pause);return 0;void help()system(COLOR 2f);printf(n 尊敬的用户你好!);printf(n-n);printf(n n);printf(n 1.欢迎进入帮助系统 n);printf(n n)

14、;printf(n-n);printf(| |);printf(| 2请按照菜单提示输入数字命令|);printf(| |);printf(n 3谢谢您的使用 n);printf(| |);printf(n n);void shuru()int i,flag=1;while(flag)flag=0;printf(请输入需要创建的信息!n);scanf(%d,&n);if(n5)flag=1;printf(输入错误,请检查后重新输入!n);for(i=0;in;i+)printf(请输入第%d个学生的基本信息:n,i+1);printf(请输入学号:n);scanf(%s,stui.code);

15、getchar();printf(请输入姓名:n);scanf(%s,stui.name);getchar();printf(请输入性别:n);scanf(%s,stui.sex);getchar();printf(请输入出生年月:n);scanf(%s,stui.time);getchar();printf(请输入籍贯:n);scanf(%s,stui.add);getchar();printf(请输入学院:n);scanf(%s,stui.sch);getchar();printf(请输入专业:n);scanf(%s,stui.cla);getchar();printf(请输入奖惩信息:n

16、);scanf(%s,stui.eva);getchar();printf(录入完毕!n);baocun();void baocun()int i;FILE *fp;if(fp=fopen(student.txt,wb)=NULL)printf(文件不能打开!n);exit(0);for(i=0;in;i+)if(fwrite(&stui,sizeof(struct record),1,fp)!=1)printf(文件输入错误!n);fclose(fp);void chazhao()int i,t,flag;char s130;system(COLOR 5f);printf(n = n);pr

17、intf( |1.按学号查询 | );printf( |2.按姓名查询 | );printf( |3.退出系统 | );printf(=);while(1)flag=0;printf(请输入子菜单编号:);scanf(%d,&t);switch(t)case 1:printf(请输入要查询的学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;printf(学生姓名 学号 性别 出生年月 籍贯 学院 专业 奖惩信息 n);printf(=n);printf(%6s %7s %5s %9s %8s %10s %1

18、0s %10sn,stui.code,stui.name,stui.sex,stui.time,stui.add,stui.sch,stui.cla,stui.eva);if(flag=0)printf(该学号不存在!n);break;case 2:printf( 输入要查询的学生姓名: n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.name,s1)=0) flag=1;printf(学生姓名 学号 性别 出生年月 籍贯 学院 专业 奖惩信息 n);printf(=n);printf(%6s %7s %5s %9s %8s %10s %10s %10

19、sn,stui.code,stui.name,stui.sex,stui.time,stui.add,stui.sch,stui.cla,stui.eva);if(flag=0)printf(改姓名不存在!n);break;case 3:return; default:printf(请在1-3之间选择n);void xiugai()int i,t,num;char s130,s230;printf( 请输入要查询的学生的学号 :n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)num=i;system(COLOR 4f);print

20、f(=n);printf( | 1.修改姓名 | n);printf(=n);printf( | 2.修改性别 | n);printf(=n);printf( | 3.修改出生年月 | n);printf(=n);printf( | 4.修改籍贯 | n);printf(=n);printf( | 5.修改电话号码 | n);printf(=n);printf( | 6.修改所在院系 | n);printf(=n);printf( | 7.修改专业 | n);printf(=n);printf( | 8.修改奖惩信息 | n);printf(=n);printf( | 9.退出本菜单 | n)

21、; printf(=n); while(1)printf(请输入子菜单的编号:);scanf(%d,&t);switch(t)case 1:printf(请输入新的姓名:n);scanf(%s,s2);strcpy(stunum.name,s2);break;case 2:printf(请输入新的性别:n);scanf(%s,s2);strcpy(stunum.sex,s2);break;case 3:printf(请输入新的出生年月:n);scanf(%s,s2);strcpy(stunum.time,s2);break;case 4:printf(请输入新的籍贯:n);scanf(%s,s

22、2);strcpy(stunum.add,s2);break;case 5:printf(请输入新的院系:n);scanf(%s,s2);strcpy(stunum.sch,s2);break;case 6:printf(请输入新的专业:n);scanf(%s,s2);strcpy(stunum.cla,s2);break;case 7:printf(请输入新的奖惩信息:n);scanf(%s,s2);strcpy(stunum.eva,s2);break;case 8:return;default:printf(请在1-7之间选择n);void paixu()int i,j;char tem

23、p10;for(i=0;i1;j-)if(strcmp(stuj-1.code,stui.code)0)strcpy(temp,stuj-1.code);strcpy(stuj-1.code,stuj.code);strcpy(stuj.code,temp);strcpy(temp,stuj-1.name);strcpy(stuj-1.name,stuj.name);strcpy(stuj.name,temp);strcpy(temp,stuj-1.sex);strcpy(stuj-1.sex,stuj.sex);strcpy(stuj.sex,temp);strcpy(temp,stuj-1

24、.time);strcpy(stuj-1.time,stuj.time);strcpy(stuj.time,temp);strcpy(temp,stuj-1.add);strcpy(stuj-1.add,stuj.add);strcpy(stuj.add,temp);strcpy(temp,stuj-1.sch);strcpy(stuj-1.sch,stuj.sch);strcpy(stuj.sch,temp);strcpy(temp,stuj-1.cla);strcpy(stuj-1.cla,stuj.cla);strcpy(stuj.cla,temp);strcpy(temp,stuj-1

25、.eva);strcpy(stuj-1.eva,stuj.eva);strcpy(stuj.eva,temp);void shanchu()int i,j,flag=0;char s115;printf(请输入要删除的学生学号:n);scanf(%s,s1);for(i=1;in;i+)if(strcmp(stui.code,s1)=0)flag=1;for(j=1;jn-1;j+)stuj=stuj+1;if(flag=0)printf(该学号不存在!n);if(flag=1)printf(删除成功!显示请按6n);n-;void xianshi()int i;FILE *fp;if(fp=

26、fopen(student.txt,rb)=NULL)printf(打开文件时错误!按任意键退出!);system(pause);exit(0);printf( 所有学生信息为:n n);printf(学生姓名 学号 性别 出生年月 籍贯 学院 专业 奖惩信息 n);printf(=n);for(i=0;in;i+)fread(&stui,sizeof(struct record),1,fp);printf(%6s %7s %5s %9s %8s %10s %10s %10sn,stui.code,stui.name,stui.sex,stui.time,stui.add,stui.sch,s

27、tui.cla,stui.eva);void tuichuxitong()system(COLOR 3f);printf( -n);printf(n);printf(n);void huanyingjiemian()system(COLOR 6f);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n); printf( 尊敬的用户您好!n);printf(n); printf(n); printf( 欢迎使用n); printf(n);printf(n); printf(-n);print

28、f(n);void caidan()int num;system(COLOR 1f);printf(nn 学生个人信息管理系统nn); printf(=n); printf(n); printf( =系统功能菜单=n); printf( =友情提醒:查询前请刷新统!=n); printf( =n); printf( |=|n); printf( | 0.系统帮助说明 1.输入学生信息 |n); printf( |-|n); printf( | 2.查询学生信息 3.修改学生信息 |n); printf( |-|n); printf( | 4.按学号删信息 |n); printf( |-|n);

29、 printf( | 5.显示当前信息 6.保存当前信息 |n); printf( |-|n); printf( | 7.退出系统 |n); printf( |=|n); printf( =n); printf(请选择菜单编号: ); scanf(%d,&num); switch(num) case 0:system(cls);help();break; case 1:system(cls);shuru();break; case 2:system(cls);chazhao();break; case 3:system(cls);xiugai();break; case 4:system(cls);shanchu();break; case5:system(cls);xianshi();break; case 6:system(cls);baocun();break; case 7:system(cls);k=0;tuichuxitong(); break; default: printf(请在1-7之间选择n);参考文献苏小红主编C语言程序设计高等教育出目 录第一章 总论. .11、项目名称及承办单位.12、编制依据. .43、编制原则.54、项目概况. .65、结论.6第二章 项目提出的背景及必要性.81、项目提出的背景.82、项目建设的必要性.

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服