C语言课程设计 人员管理系统.doc
《C语言课程设计 人员管理系统.doc》由会员分享,可在线阅读,更多相关《C语言课程设计 人员管理系统.doc(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、优质文本内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 人员管理系统学生姓名: 学 号:专 业: 班 级: 指导教师: 日 期: 优质文本内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目人员管理系统指导教师时间一、教学要求1. 稳固和加深学生对C语言课程的根本知识的理解和掌握2. 掌握C语言编程和程序调试的根本技能3. 利用C语言进行根本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。人员管理系统现有一批人员的数椐,要求输入计算机并存放在内存中
2、,然后增加假设干个新人员的记录,并可输出人员清单,实现文件存盘和读入文件进行修改的功能。人员的根本信息包括姓名,性别,年龄,身份证号和简历80个字符以内。要求设计菜单来调用其各功能模块:v 新建文件、翻开文件v 输入记录、输出记录v 查询记录至少具有两种查询方式,例如以姓名查询和以身份证号查询v 修改、插入和删除记录v 保存文件、退出三、设计要求及成果1. 分析课程设计题目的功能需求可选用数组或链表实现,可多人最多3人协作完成一个题目2. 写出详细设计说明至少包括功能实现分析和模块流程图3. 编写程序代码,调试程序使其能正确运行代码书写要标准,标示符要见名知意,要有必要的注释,每人至少500行
3、代码,不包括注释和花括号4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告请严格按照模板进行排版四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告打印稿及电子稿五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,那么所有雷同的所有人均判为不及格。六、建议参考资料1?C语言程序设计?,谭浩强,清华大学出版社2?C语言程序设计课程设计?,刘振安,机械工业出版社目 录内蒙古科技大学课程设计任务书II目
4、录III第一章 需求分析41.1引言41.2任务概述41.3数据描述41.4功能需求41.5任务方案5第二章概要设计62.1总体设计62.2数据类型设计或数据结构设计62.3接口设计62.4运行界面设计7第三章详细设计113.1输入模块设计113.2输出模块设计123.3查找模块设计133.4修改模块设计153.5删除模块设计183.6保存及读取模块设计21第四章测试分析224.1测试程序执行情况224.2出现的问题和解决的方法22第五章用户手册可选235.1使用说明235.2运行说明23第六章课程设计总结24附录:程序代码25参考文献40致谢40优质文本第一章 需求分析1.1 引言将人员信息
5、进行统一的管理,方便进行查找,并进行修改。一个简易的人员信息管理系统可以解决一些简单的问题1.2 任务概述1.能查看所有人员信息2.能增加人员信息,增加的简历字数不大于80字,性别为男女、身份证号不多于18位3.能查找人员4.能修改人员信息5.能删除人员信息6.能保存人员信息7.能退出1.3 数据描述char name60;char sex2;int age;char IDnumber18;char resume80;人员信息用结构体记录,包括姓名字符数组、性别字符数组、年龄整形、身份证号字符数组、简历字符数组1.4 功能需求1.能查看所有人员信息2.能增加人员信息3.能查找人员4.能修改人员
6、信息5.能删除人员信息6.能保存人员信息7.能退出1.5 任务方案1.先编出主函数2.各各功能分成一个一个的子函数进行编辑3.最后进行整合第二章 概要设计2.1 总体设计1.确定界面,使用户可选择操作工程1查看人员信息、2增加人员信息、3查找人员、4修改人员信息、5删除记录、6保存数据、7关于作者、8退出系统2.查看功能:输出已经保存的数据3.增加人员信息功能:使用结构体,要求用户输入姓名、性别、年龄、身份证号、个人简历,并写入文件4. 查找人员功能:使用户输入姓名、身份证号其中一项可以进行查找5. 修改人员信息功能:使用户输入姓名、身份证号其中一项可以进行查找,并进行修改6.删除记录功能:
7、使用户输入姓名、身份证号其中一项可以进行查找,并进行删除7.保存数据功能:将增加的数据保存到文档中8. 关于作者功能:输出作者信息9.退出系统:将文件关闭,退出程序2.2 数据类型设计或数据结构设计char name60;char sex2;int age;char IDnumber18;char resume80;人员信息用结构体记录,包括姓名字符数组、性别字符数组、年龄整形、身份证号字符数组、简历字符数组2.3 接口设计 函数名函数格式函数功能fh()void fh();输出字符串:=按Enter键返回主菜单shouye()void shouye();输出首页select()void se
8、lect();查看人员信息add()void add();增加人员信息chazhao()void chazhao();查找人员findname()void findname();通过名字查找人员信息findIDnumber()void findIDnumber();通过身份证号查找人员信息change()void change();更改人员信息changebyname()void changebyname();通过查找名字更改人员信息changebyIDnumber()void changebyIDnumber();通过查找身份证号更改人员信息del()void del();删除人员信息del
9、byname()void delbyname();通过查找名字删除人员信息delbyIDnumber()void delbyIDnumber();通过查找身份证号删除人员信息save()void save();保存数据writer()void writer();编者信息dq(struct student st)int dq(struct student st);读取数据bc(struct student *st)void bc(struct student *st);保存数据2.4 运行界面设计1.初始界面2.查看界面3.增加界面4.查找界面5.修改界面6.删除界面7.保存界面8.作者界面9.
10、退出界面优质文本第三章 详细设计3.1 输入模块设计void add()/增加人员信息 int numberTemp=0;int i=0;struct student temp;printf(请输入要增加的人员信息数量:);scanf(%d,&numberTemp);for(i=0;inumberTemp;i+) printf(输入第%d个人员信息n,i+1); printf(姓名:); scanf(%s,temp.name); printf(性别:); scanf(%s,temp.sex); printf(年龄:); scanf(%d,&temp.age); printf(身份证号:); s
11、canf(%s,temp.IDnumber); printf(简历:); scanf(%s,temp.resume); stNumber+=temp; /将刚添加的写入到数组 bc(&temp); /将刚添加的写入到文件 printf(添加成功n);3.2 输出模块设计void select() int i=0;printf(以下是全部人员信息n);printf(t姓名t性别t年龄t身份证号t简历n);for(i=0;iNumber;i+) printf(t%st%st%dt%st%sn,sti.name,sti.sex,sti.age,sti.IDnumber,sti.resume);3.3
12、 查找模块设计void chazhao()/查找人员 int n=0;printf(1 按姓名查找n);printf(2 按身份证号查找n);scanf(%d,&n); switch(n) case 1: findname();break;case 2: findIDnumber();break;default: printf(输入有误,结束!n);break;void findname()/按姓名查找 char name7;int i=0;printf(请输入要查找的人员姓名:);scanf(%s,name);system(cls);printf(t姓名t性别t年龄t身份证号t简历n);fo
13、r (i=0;iNumber;i+) if (strcmp(name,sti.name)=0) printf(t%st%st%dt%st%sn,sti.name,sti.sex,sti.age,sti.IDnumber,sti.resume); void findIDnumber()/按身份证号查找 char IDnumber18;int i=0;printf(请输入要查找人员的身份证号:);scanf(%s,IDnumber);system(cls);printf(t姓名t性别t年龄t身份证号t简历n);for (i=0;iNumber;i+) if (strcmp(IDnumber,sti
14、.IDnumber)=0) printf(t%st%st%dt%st%sn,sti.name,sti.sex,sti.age,sti.IDnumber,sti.resume);3.4 修改模块设计void change() int way=0;printf(请选择修改查找方式n);printf(1 通过姓名查找修改n);printf(2 通过身份证号查找修改n);scanf(%d,&way);switch(way)case 1: changebyname();break;case 2: changebyIDnumber();break; default: printf(输入有误,结束!n);b
15、reak;void changebyname()FILE *fp=NULL;char name60;int i=0;int changeIndex=0; int index=0;printf(请输入要修改的人员姓名:n);scanf(%s,name);for (i=0;iNumber;i+)if (strcmp(name,sti.name)=0) changeIndex=i+1; break;if(!changeIndex) return; changeIndex-;printf(t姓名t性别t年龄t身份证号t简历n);printf(t%st%st%dt%st%sn,stchangeIndex
16、.name,stchangeIndex.sex,stchangeIndex.age,stchangeIndex.IDnumber,stchangeIndex.resume);printf(请重新输入该人员信息);printf(姓名:);scanf(%s,stchangeIndex.name);printf(性别:);scanf(%s,stchangeIndex.sex);printf(年龄:);scanf(%d,&stchangeIndex.age);printf(身份证号:);scanf(%s,stchangeIndex.IDnumber);printf(简历:);scanf(%s,stch
17、angeIndex.resume);fp=fopen(C:/student.dat,wb);for (i=0;iNumber;i+)fwrite(&sti,sizeof(struct student),1,fp);fclose(fp);void changebyIDnumber()FILE *fp=NULL;char IDnumber18;int i=0;int changeIndex=0;int index=0;printf(请输入要修改的人员身份证号:n);scanf(%s,IDnumber);for (i=0;iNumber;i+) if (strcmp(IDnumber,sti.IDn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言课程设计 人员管理系统 语言 课程设计 人员 管理 系统
限制150内