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

下载本文档

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

文档简介

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

2、个新人员的记录,并可输出人员活单,实现文件存盘和读入文件进行修改的功能。人员的基本信息包括姓名,性别,年龄,身份证号和简历(80个字符以内)。要求设计菜单来调用其各功能模块:新建文件、打开文件输入记录、输出记录查询记录(至少具有两种查询方式,例如以姓名查询和以身份证号查询)修改、插入和删除记录保存文件、退出三、设计要求及成果分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)写出详细设计说明(至少包括功能实现分析和模块流程图)编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注

3、释和花括号)设计完成的软件要便丁操作和使用设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天?选择课程设计题目,分析课题的要求第二天?编程第三天?编程及调试第四天?写课程设计报告第五天?提交课程设计报告(打印稿及电子稿)1. 五、评分标准根据平时上机考勤、表现和进度,教师将每天点名和检查根据课程设计完成情况,必须有可运行的软件。2. 根据课程设计报告的质量,如有$同,则所有$同的所有人均判为不及格内蒙古科技大学课程设计任务书1.4 第一章需求分析1.1引言1.2任务概述1.3数据描述功能需求第二章概要设计4总体设计42.2数据类型设计(或数据结构设计)42.3接口设计2.4

4、运行界面设计3.4 第三章详细设计63.1输入模块设计63.2输出模块设计3.3查找模块设计保存及读取模块设计94.1 第四章测试分析11测试程序执行情况11第五章用户手册(可选)14使用说明145.2运行说明14第/'章课程设计总结15附录:程序代码参考文献24第一章需求分析1.1 引言随着管理人数的增加,手动管理人员将会显得不方便。这时就需要使用软件来实施人性化的管理。1.2 任务概述做一个程序对人员信息实现:新建文件、打开文件、输入记录、输出记录、查询记录、修改、插入和删除记录、保存文件、退出功能数据描述采用结构体来储存人员信息。人员信息包括姓名、性别、年龄、身份证号、个人简历。

5、姓名长度输入时不能超过10。性别输入时只能输入时一个字符w/m身份证长度输入时不能超过20。个人简历长度输入时不能超过120。功能需求新建文件、打开文件输入记录、输出记录查询记录(至少具有两种查询方式,例如以姓名查询和以身份证号查询)修改、插入和删除记录保存文件、退出第二章概要设计2.1总体设计7.谕山信息数据类型设计(或数据结构设计)typedefstructstudent(charnameM;/姓名charsex;/性别intyear;/年龄charnum20;/身份证号charjian120;/个人简历stu;/结构体储存接口设计表2.1:函数歹0表函数名函数格式函数功能menuintm

6、enu(void)用户菜单readintread(stust)添加人员信息xieruvoidxieru(stust,intn)写信息到文件duquintduqu(stust);从文件读取信息printvoidprint(stust,intn)输出信息到屏幕shenfenzhengvoidshenfenzheng(stust,intn)按身份证查找信息xingmingvoidxingming(stust,intn)按姓名查找xiugaivoidxiugai(stust,intn)修改信息charuintcharu(stust,intn)插入信息shanchuvoidshanchu(stust,i

7、ntn)删除信息2.4运行界面设计第三章详细设计3.1输入模块设计intread(stust)(inti=-1;system("cls");printf("tt*n");*n");printf("tt*1.更新成员信息printf("tt*n");doi+;printf("请输入姓名:n");scanf("%s",&);if(atoi()>=0)printf("请输入性别(w/m):n");printf(-请输

8、入年龄:n");/scanf("%d",&sti.year);printf("请输入身份证号:n")scanf("%s",&sti.num);printf(-请输入简历:n");scanf("%s",&sti.jian);printf("n编号%d>据添加成功!n",i+1);printf(-输入姓名为负数结束输入!n");printf("n");elsebreak;while(sti.num>0);print

9、f("nn");printf("数据更新成功!n");system("pause");/按任意键继续returni;3.2输出模块设计voidprint(stust,intn)(inti;system("cls");/活屏printf("nn");printf("编号t姓名t性另叭t年龄t身份证号tt简介n");for(i=0;i<n;i+)(printf("%dt%st%ct%dt%-24s%sn",i+1,,sti.sex,sti

10、.year,sti.num,sti.jian);厂3.3查找模块设计voidshenfenzheng(stust,intn)(charx20;inti;system("cls");printf("tt*n");printf("tt*2.身份证号查找*n");printf("tt*n");printf("输入你要查询的身份证号:");scanf("%s”,x);for(i=0;i<n;i+)(if(strcmp(sti.num,x)=0)printf("姓名t性另叭t年龄

11、t身份证号tt简介n");Prmff(-ws4汶C4汶d4汶竺汶sm=sf三.nampsf三.sexk三.year-sf三.num-sf三-an);prmffcnw)sysfem(=pa)use=)refum;prmff(=*弟座一=)*prmffcnw)sysfem(=pa)us5voidx5'gmmg(sfus吕5-fn)charxkOLinti;system("cls");printf("tt*printf("tt*3.姓名查找printf("tt*printf("输入你要查询的姓名:");scanf

12、("%s",x);*n");*n");for(i=0;i<n;i+)if(strcmp(,x)=0)printf("姓名t性另叭t年龄t身份证号tt简介n");printf("%st%ct%dt%st%sn",,sti.sex,sti.year,sti.num,sti.jian);n");printf("按键返回!");getchar();/*按任意健*/getchar();return;printf("未找到!");print

13、f("nn");system("pause");3.4保存及读取模块设计()voidxieru(stust,intn)-FILE*fp;if(fp=fopen("ren.txt","w")=NULL)(printf("保存文件失败!n");return;fwrite(st,sizeof(stu),n,fp);printf("保存成功!n");fclose(fp);system("pause");intduqu(stust)(FILE*fp;inti;if(

14、fp=fopen("ren.txt","r")=NULL)printf(-文件不存在!打开失败!n");return0;for(i=0;!feof(fp);i+)(fread(&sti,sizeof(stu),1,fp);fclose(fp);printf("读取成功!n");system("pause");returni-1;第四章测试分析4.1 测试程序执行情况第五章用户手册(可选)使用说明运行程序会显示菜单根据菜单输入编号实现相应功能;更新人员信息身份证号查找姓名查找修改信息插入信息删除信息

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

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

17、,当中有很多程序都是几个同学一起讨论出来的,让我体会到了集体的力量是无限的,当然更让我坚定了以后要好好掌握C语言这一门课程的决附录:程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>/字符申操作#defineN30/人数#defineM10/名字长度typedefstructstudentcharnameM;charsex;intyear;charnum20;charjian120;stu;intmenu(void);/用户菜单intread(stust);/添加人员信息写入信息到文件voidx

18、ieru(stust,intn);/intduqu(stust);/从文件读取信息voidprint(stust,intn);/输出信息voidshenfenzheng(stust,intn);/按身份证查找信息voidxingming(stust,intn);/按姓名查找voidxiugai(stust,intn);/修改信息intcharu(stust,intn);/插入信息voidshanchu(stust,intn);/删除信息main()inta,n;sturenN;system("color0A”);/修改颜色while(1)system("cls")

19、;/活屏printf("n");printf("t*理*n");printf("t*n");printf("t*1.更新人员信息2.身份证号查找3.姓名查找*n");printf("t*4.修改信息5.插入信息6.删除信息*n");printf("t*7.输出信息8.保存文件9.读取文件*n");printf("t*0.退出*n");printf("t*n");a=menu();switch(a)case1:n=read(ren);br

20、eak;case2:shenfenzheng(ren,n);break;case3:xingming(ren,n);break;case4:xiugai(ren,n);break;case5:n=charu(ren,n);break;case6:shanchu(ren,n);n-;break;case7:print(ren,n);printf("nn");system("pause");break;case8:xieru(ren,n);break;case9:n=duqu(ren);break;case0:system("cls");

21、printf("nnn");printf("t*n");printf("t*n");printf("t*n");printf("t*谢谢使用*n");printf("t*n");printf("t*n");printf("t*n");exit(0);/exit(code)当code为0时正常退出。非0时出现某种错误后退default:printf("输入错误!请输入0-9的数字!n");system("pa

22、use");break;return0;intmenu(void)/用户菜单inta;printf("nt输入你的选择(0-9):bb");scanf("%d",&a);returna;voidxieru(stust,intn)(FILE*fp;if(fp=fopen("ren.txt","w")=NULL)(printf("保存文件失败!n");return;fwrite(st,sizeof(stu),n,fp);printf("保存成功!n");fclo

23、se(fp);system("pause");intduqu(stust)FILE*fp;inti;if(fp=fopen("ren.txt","r")=NULL)(printf(-文件不存在!打开失败!n");return0;for(i=0;!feof(fp);i+)(fread(&sti,sizeof(stu),1,fp);fclose(fp);printf("读取成功!n");system("pause");returni-1;intread(stust)(inti=-1

24、;system("cls");printf("tt*n");printf("tt*1.更新成员信息*n");printf("tt*n");doi+;printf("请输入姓名:n");scanf("%s",&);if(atoi()>=0)printf("请输入性别(w/m):n");scanf("%c",&sti.sex);printf(-请输入年龄:n");scanf(&

25、quot;%d",&sti.year);printf("请输入身份证号:n");scanf("%s",&sti.num);printf(-请输入简历:n");scanf("%s",&sti.jian);printf("n编号敏据添加成功!n",i+1);printf(-输入姓名为负数结束输入!n");printf("n");elsebreak;while(sti.num>0);printf("nn");printf(

26、"数据更新成功!n");system("pause");returni;voidprint(stust,intn)(inti;system("cls");printf("nn");printf("编号t姓名t性别t年龄t身份证号tt简介n");for(i=0;i<n;i+)(printf("%dt%st%ct%dt%-24s%sn",i+1,,sti.sex,sti.year,sti.num,sti.jian);voidshenfenzheng(stus

27、t,intn)charx20;inti;system("cls");printf("tt*n");printf("tt*2.身份证号查找*n");printf("tt*n");IIprintf("输入你要查询的身份证号:");scanf("%s",x);for(i=0;i<n;i+)if(strcmp(sti.num,x)=0)printf("姓名t性另叭t年龄t身份证号tt简介n");printf("%st%ct%dt%st%sn&quo

28、t;,,sti.sex,sti.year,sti.num,sti.jian);printf("nn");system("pause");return;printf("未找到!");printf("nn");system("pause");voidxingming(stust,intn)(charx10;inti;system("cls");printf("tt*3.姓名查找*n");*n");printf("tt*pri

29、ntf("输入你要查询的姓名:");scanf("%s",x);for(i=0;i<n;i+)(if(strcmp(,x)=0)(printf("姓名t性另叭t年龄t身份证号tt简介n");printf("%st%ct%dt%st%sn",,sti.sex,sti.year,sti.num,sti.jian);printf("nn");system("pause");return;printf("未找到!");prin

30、tf("nn");system("pause");intcharu(stust,intn)inti=n-1;system("cls");printf("tt*n");printf("tt*5.插入信息*n");printf("tt*n");doi+;printf("请输入姓名:n");scanf("%s",&);if(atoi()>=0)printf("请输入性别(w/m):n&q

31、uot;);scanf("%c",&sti.sex);printf(-请输入年龄:n");scanf("%d",&sti.year);printf("请输入身份证号:n");scanf("%s",&sti.num);printf(-请输入简历:n");scanf("%s",&sti.jian);printf("n编号敏据添加成功!n",i+1);printf(-输入姓名为负数结束输入!n");printf(&quo

32、t;n");elsebreak;while(sti.num>0);printf("nn");system("pause");returni;voidxiugai(stust,intn)intx;system("cls");printf("tt*n");printf("tt*4.修改信息*n");printf("tt*n");print(st,n);printf("n请输入要修改的信息编号:");scanf("%d",&x);pr

温馨提示

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

评论

0/150

提交评论