c语言课程设计报告人员管理系统_第1页
c语言课程设计报告人员管理系统_第2页
c语言课程设计报告人员管理系统_第3页
免费预览已结束,剩余45页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、科技大学本科生课程设计说明书题 目:C语言课程设计人员管理系统学生姓名:武飞学号:1376807331专业:计算机科学与技术班级:2013-3指导教师:王丽颖科技大学课程设计任务书课程名称C语言课程设计设计题目人员管理系统指导教师王丽颖时间2014.12.31 2014.1.4、教学要求1. 巩固和加深学生对 C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。人员管理系统

2、现有一批人员的数据,要求输入计算机并存放在存中,然后增加若干个新人员的记录,并可输出人员清单,实现文件存盘和读入文件进行修改的功能。人员的基本信息包括姓名,性别,年龄,身份证号和简历(80个字符以)。要求设计菜单来调用其各功能模块:? 新建文件、打开文件? 输入记录、输出记录? 查询记录(至少具有两种查询方式,例如以姓名查询和以身份证号查询)? 修改、插入和删除记录? 保存文件、退出三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代

3、码书写要规,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少 200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天选择课程设计题目,分析课题的要求第二天编程第三天编程及调试第四天 写课程设计报告第五天提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。科技大学课程设计任务书 I第一章需求分析61.1 引言61.2 任务概述

4、61.3 数据描述61.4 功能需求6第二章概要设计42.1 总体设计42.2 数据类型设计(或数据结构设计)4'2.3 接口设计82.4 运行界面设计9第三章详细设计63.1 输入模块设计63.2 输出模块设计113. 3查找模块设计1 23.4 保存及读取模块设计9'第四章测试分析1 14.1 测试程序执行情况11第五章用户手册(可选) 145.1 使用说明1 45.2 运行说明14第六章课程设计总结15附录:程序代码22参考文献24'第一章需求分析1.1 引言随着管理人数的增加,手动管理人员将会显得不方便。这时就需要使用软件 来实施人性化的管理。1.2 任务概述做

5、一个程序对人员信息实现:新建文件、打开文件、输入记录、输出记录、 查询记录、修改、插入和删除记录、保存文件、退出功能1.3 数据描述采用结构体来储存人员信息。人员信息包括姓名、性别、年龄、身份证号、个人简历。姓名长度输入时不能超过10。性别输入时只能输入时一个字符 w/m。身份证长度输入时不能超过20。个人简历长度输入时不能超过120。1.4 功能需求新建文件、打开文件输入记录、输出记录查询记录(至少具有两种查询方式,例如以姓名查询和以身份证号查询)修改、插入和删除记录 保存文件、退出概要设计2.1 总体设计2.2 数据类型设计(或数据结构设计)typedef struct stude ntc

6、har n ameM;/姓名char sex;/性别int year;/年龄char num20;/身份证号char jia n120;/个人简历stu;/结构体储存2.3 接口设计表2.1 :函数列表函数名函数格式函数功能menuint menu( void)用户菜单readint read(stu st)添加人员信息xieruvoid xieru(stu st,int n)写信息到文件duquint duqu(stu st);从文件读取信息printvoid prin t(stu st,i nt n)输出信息到屏幕she nfen zhe ngvoidshe nfen zhe ng(stu

7、st,i nt n)按身份证查找信息xi ngmi ngvoid xi ngmi ng(stust,i ntn)按姓名查找xiugaivoid xiugai(stu st,int n)修改信息charuint charu(stu st,i nt n)插入信息shanchuvoid sha nchu(stu st,i nt n)删除信息2.4 运行界面设计* / |?| 盲"彳里齐 £奇宾XSMKJIXM宾宾氏关息件除取姓删谨 M3 6 9找 査 口息件 证變 >ffil8 亠司*口页自3自S信新副14 7输入你的选择0-?:r】AVV*第二早详细设计3.1 输入模块设

8、计int read(stu st)int i=-1;system( "cls");*n");prin tf("tt*1.更新成员信息prin tf("tt*n");doi+;printf("请输入姓名:n");sca nf("%s",&sti. name);if(atoi(sti. name)>=0)printf("请输入性别(w/m) : n"); sca nf(” c",&sti.sex);printf("请输入年龄:n"

9、;);sca nf("%d",&sti.year);printf("请输入身份证号:n");sca nf("%s",&sti. nu m);printf("请输入简历:n");sea nf("%s",&sti.jia n);printf("n 编号%d数据添加成功!printf("输入姓名为负数结束输入!n");prin tf("n"); else break;while(sti. nu m>0);printf(&q

10、uot;nn");printf("数据更新成功! n");system("pause"); /按任意键继续return i;3.2 输出模块设计void prin t(stu st,i nt n)int i;system( "cls" );/ 清屏printf("nn");printf("编号t姓名t性别t年龄t身份证号tt简介n");for(i=0;i <n ;i+)prin tf("%dt%st%ct%dt%-24s%sn",i+1,sti. name,s

11、ti.sex,sti.year,sti. nu m,sti.jia n);3.3 查找模块设计void she nfen zhe ng(stu st,i nt n)char x20;int i;system( "cls");prin tf("tt*n")prin tf("tt*2身份证号查找prin tf("tt*n")printf(”输入你要查询的身份证号:");scan f("%s",x);for(i=0;i <n ;i+)if(strcmp(sti. nu m,x)=0)printf

12、("姓名t性别t年龄t身份证号tt简介n");prin tf("%st%ct%dt%st%sn",sti. name,sti.sex,sti.year,sti.num,sti.jia n);printf("n-n");system("pause"); return;printf("未找到!");printf("nn");system("pause");(开始丿I提示信息I/ 输入姓名 /void xi ngmi ng(stu st,i nt n)char

13、x10;int i;system( "cls");*n");*prin tf("tt*3.姓名查找prin tf("tt*n");printf("输入你要查询的姓名:");sea nf("%s",x);f or(i=0;i< n;i+)if(strcmp(sti. name,x)=O)printf("姓名t性别t年龄t身份证号ttprin tf("%st %ct%dt%st%sn",sti. name,sti.sex,sti.year,sti. num,sti

14、.jia n);printf("n-n");printf("按键返回!");/*按任意健*/getchar();getchar();return;printf("未找到!");printf("nn");system("pause");3.4保存及读取模块设计void xieru(stu st,int n)FILE *fp;if(fp=fope n("ren .txt","w")=NULL)printf("保存文件失败!n"); retu

15、rn;fwrite(st,sizeof(stu), n, fp);printf("保存成功! n");fclose(fp);system("pause");开始 int duqu(stu st)开始返回FILE *fp;int i;if(fp=fope n("re n.txt","r")=NULL)printf("文件不存在!打开失败!n"); return 0;for(i=0;!feof(fp);i+)fread(&sti,sizeof(stu),1,fp);fclose(fp);pr

16、intf("读取成功! n");system("pause");return i-1;第四章测试分析4.1 测试程序执行情况找息# 查變 名除取 姓删徴-M-苛* 餐*屮3*人员管理系统*«茜衷超躍信息 專曩魅延号査找* 4進改宿息S-fcA'fe息* 7-Ols息&堆仔丈件* 限追出输入你的选择弋0-9北【】1OE.MLJC3C 垃:*丄更新成员信息*滝iSlitiMMi牺等耳鸿KKiMKXMnsliXKlKiM魅啊鸿魅啊鸿1濟请諭入年龄: 请输八身竹证号;青输入简历;ielloIWBt 入!mvts:華四请输入性别请输入年龄

17、:i青输入身询证号:一 » w I*2 身份证号查找*HglgXKilJXSgUHUXKilrfXKHXXXKilrfXXiHXWEXXXXKKKjKK蔚人你要宣询的身醪号性别1身份证号1hello简介SsesBEi-T-更姓名查找*XHMEK(耳 IfmOtMKIiOtIfmOtMXlKmfJtKItItKIItJIKIfKItIt谿祢要觀姓铲身份证号 季四 口 22你好简介R青按任意键继续编号 堆宜 性别年論身悦证号1卷二VI112圭nm223主T1ij33简介 hello 你好hello驚邈i改的信息编号 2 ±四!请输入性别g丹令输入年龄|釦输入身份证号:青输入简历

18、|hello騙号z数据修改成功!请按任意键継续.4*5-插人信息*幢徹入姓名.请输入性别A情输入年龄;青输入身份证号;麟输入!请输入姓名:-1请按任意犍继绫 名三四卓八 姓墾王老身份证号简介1 hello2 hello3 hello4 hello瞬严信息编琢4请按任意犍继续-堆名 鞭三 挙四 王五性别WVJ年龄1身份证号1简介 hello hello hello请按任意键継续第五章用户手册(可选)5.1 使用说明运行程序会显示菜单根据菜单输入编号实现相应功能;1. 更新人员信息2身份证号查找3. 姓名查找4. 修改信息5. 插入信息6. 删除信息7. 输出信息8. 保存文件9. 读取文件0.退

19、出5.2 运行说明只有退出程序时。保存文件。下次运行按读取。才能读取成功!更新人员信息会覆盖到当前的人员信息。需要注意。第六章课程设计总结全部模块化设计。未定义全局变量做干扰。采用结构体。不足之处,身份证长度未做限定,有些不足。需要改善的有数据存储方式。改成链式存可能会更佳。还可以进一步优化程序使其实现分级菜单。 实现真正意 义上的新建文件,读取文件。所遇到的问题是如何给每个数据的储存文件取不同 名字。如何把每个文件名读取进来。通这次的课程设计,我们对C语言这门课程有了深一步的理解。它是计算机程序设计的重要理论技术基础, 在我们计算机 专业的学习中占据十分重要的地位,同时也使我们知道要学习这门

20、课程, 仅学习 书本上的知识是不够的,还要有较高的实践能力。因为我们学习知识就是为了实 践,而只有实践多编写程序才能更好的理解与掌握书本上的东西。通过本课题, 进一步熟悉了 C语言的基本东西。我们还要学会分析题目的已知与未知,学会 中合起来考虑问题,在逐步的展开思想,特别是碰到大问题时要细细的分解成为 许多小的问题来解决。同时我还学到了课外的知识, 碰到难题是不要逃避,而是 要迎难而上,反复的实验调试结果后,再错的基础上做修改。谈到错是成功之母, 说明我们在莫一件事上要多次吸取经验教训。 这次课程设计,让我对于以往上课 不理解、不太清楚的问题,通过亲身实践弄懂了许多,同时因为程序是在老师及 同

21、学的帮主下完成的,当中有很多程序都是几个同学一起讨论出来的, 让我体会 到了集体的力量是无限的,当然更让我坚定了以后要好好掌握C语言这一门课程的决心!附录:程序代码#in clude<stdio.h>#in clude<stdlib.h>#i nclude<stri ng.h>字符串操作#defi ne N 30 / 人数#defi ne M 10 / 名字长度typedef struct stude ntchar n ameM;char sex;int year;char num20;char jian 120;stu;int men u(void);/

22、用户菜单int read(stu st);添加人员信息void xieru(stu st,i nt n);/写入信息到文件int duqu(stu st);从文件读取信息void prin t(stu st,i nt n);/输出信息按身份证查找信息void she nfen zhe ng(stu st,i nt n);/按姓名查找void xi ngmi ng(stu st,i nt n);/ void xiugai(stu st,i nt n);/ 修改信息in t charu(stu st,i nt n);/插入信息void sha nchu(stu st,i nt n);/删除信息ma

23、in ()int a,n;stu ren N;system("color 0A");修改颜色while(1)system( "cls" );/ 清屏prin tf("n");prin tf("n ”);prin tf("n");*人员管理系统);*n");prin tf("t*prin tf("t*1.更新人员信息2.身份证号查找3姓名查找* n");prin tf("t*4.修改信息5.插入信息6.删除信息* n");prin tf("

24、;t*7.输出信息8.保存文件9.读取文件* n");0.退出* n");prin tf("t* n");a=me nu();switch(a)case 1:n=read(re n);break;case 2:she nfen zhe ng(re n,n); break;case 3:xingmin g(re n,n);break;case 4:xiugai(re n,n); break;case 5:n=charu(re n,n);break;case 6:sha nchu(re n,n);n-;break;case 7:prin t(re n,n);

25、printf("nn");system("pause");break;case 8:xieru(re n,n); break;case 9:n=duqu (ren);break;case 0:system( "cls");prin tf("nnn");prin tf("t* n");*n");prin tf("t*n");prin tf("t*谢谢使用* n");prin tf("t* n");*n");*n&quo

26、t;);prin tf("t* prin tf("t* exit(O); /exit (code )当code为0时正常退出。非 0时出现某种错误后退default:printf("输入错误!请输入 0-9的数字! n”);system("pause");break;return 0;int me nu (void)/用户菜单int a;printf("nt输入你的选择(0-9): bb");scan f("%d",&a);return a;void xieru(stu st,i nt n) FI

27、LE *fp;if(fp=fope n("re n. txt","w")=NULL) printf("保存文件失败!n”); return;fwrite(st,sizeof(stu), n, fp);printf("保存成功!n");fclose(fp);system("pause");int duqu(stu st)FILE *fp;int i;if(fp=fope n("re n. txt","r")=NULL)printf(”文件不存在!打开失败!n"

28、;); return 0;for(i=0;!feof(fp);i+)fread( &sti ,sizeof(stu),1,fp);fclose(fp);printf(” 读取成功!n");system("pause");return i-1;int read(stu st)int i=-1;system( "cls");prin tf("tt*n");prin tf("tt*1.更新成员信息* n");prin tf("tt*n");doi+;printf(”请输入姓名:n&q

29、uot;);scan f("%s", &sti. name);if(atoi(sti .n ame)>=0)printf("请输入性别(w/m) : n”);scanf(” %c",&sti.sex);printf("请输入年龄:n”);scan f("%d",&sti.y ear);printf("请输入身份证号:n");scan f("%s",&sti.nu m);printf("请输入简历:n”);scan f("%s&q

30、uot;, &sti.jia n);n ”,i+1);n");printf("n编号%d数据添加成功!printf("输入姓名为负数结束输入!prin tf("n");elsebreak;while(sti. num >0);printf("nn");printf("数据更新成功!n");system("pause");return i;void print(stu st,int n)int i;system( "cls");printf("

31、n-n ”);printf(”编号t姓名t性别t年龄t身份证号tt简介n”);for(i=0;i< n;i+)prin tf("%dt%st%ct%dt%-24s%sn",i+1,sti. name,sti.sex,sti.year,sti. num,sti.jia n);void she nfen zhe ng(stu st,i nt n) char x20;int i;system( "cls");*n");prin tf("tt*2.身份证号查找*n");prin tf("tt*n");pri

32、ntf(”输入你要查询的身份证号:");scan f("%s",x);for(i=0;i< n; i+)if(strcmp(sti. nu m,x)=0) printf("姓名t性别t年龄t身份证号tt简介n");prin tf("%st%ct%dt%st%sn",sti. name,sti.sex,sti.year,sti. num,sti.jia n);n");prin tf("nsystem("pause");return;n");printf("未找到

33、!"); printf("nsystem("pause");void xingming(stu st,int n) char x10;int i;system( "cls");prin tf("tt* *prin tf("tt*3.姓名查找* n");prin tf("tt* *printf(”输入你要查询的姓名:");scan f("%s",x);for(i=0;i< n; i+)if(strcmp(sti. name,x)=0)printf(”姓名t性别t

34、年龄t身份证号tt简介n");printf("%st %ct%dt%st%sn",,sti.sex,sti.year,sti.num,sti.jian);printf("nn");system("pause");return;printf("未找到!");printf("nn");system("pause");int charu(stu st,i nt n)int i=n-1;system( "cls");prin tf(&qu

35、ot;tt*n");prin tf("tt*5.插入信息* n");prin tf("tt*n");doi+; printf(”请输入姓名:n");scan f("%s", &sti. name);if(atoi(sti .n ame)>=0)printf(” 请输入性别(w/m) : n”); scanf(” %c",&sti.sex);printf("请输入年龄:n”);scan f("%d",&sti.y ear);printf("

36、;请输入身份证号:n");scan f("%s",&sti.nu m);printf("请输入简历:n”);scan f("%s", &sti.jia n);printf("n编号%d数据添加成功!printf("输入姓名为负数结束输入!prin tf("n");elsebreak;while(sti. nu m>0);n ”,i+1);n");n");printf("nsystem("pause");return i;void xiugai(stu st,i nt n)int兀system( "cls");prin tf("tt* *prin tf("tt*4.修改信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论