c语言课程设计人员管理系统_第1页
c语言课程设计人员管理系统_第2页
c语言课程设计人员管理系统_第3页
c语言课程设计人员管理系统_第4页
c语言课程设计人员管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

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

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

6、K3.姓名查找LJr14.修改信息J厂,(开始)5.插入信息L6.删除信息*J7.输出信息LJa8.保存信息LJ厂9.读取文件LJr丁2.2数据类型设计(或数据结构设十ah)0.退出LJtypedef struct studentchar nameM; /姓名char sex; /性别int year; /年龄char num20; / 身份证号char jian120;/ 个人简历stu; /结构体储存2.3 接口设计表2.1 :函数列表函数名函数格式函数功能menuint menu(void)用户菜单readint read(stu st口)添加人员信息xieruvoid xieru(st

7、u st口,int n)写信息到文件duquint duqu(stu st);从文件读取信息printvoid print(stu st口,int n)输出信息到屏幕shenfenzhengvoidshenfenzheng(stust口,int n)按身份证查找信息xingmingvoid xingming(stu st口,int n)按姓名查找xiugaivoid xiugai(stust口,intn)修改信息charuint charu(stu st口,int n)插入信息shanchuvoid shanchu(stu st口,int n)删除信息2.4 运行界面设计*MrM*M1*t*t

8、M*MMM*Xi* 吊里三三充:m z :« 乂 寄 x J4 X=14 7S 士同DTBJ 自U 21!信 新翻找 查 号息件 证要 身姓删读« 3 6 9找息件杳要名除取输入你的选择0-箝打J第三章 详细设计3.1输入模块设计int read(stu st口)int i=-1;system( "cls");printf("tt*n");printf("tt* 1.更新成员信息printf("tt*n");doi+;printf("请输入姓名:n");scanf("%s”,

9、&);if(atoi()>=0)printf("请输入性别(w/m): n");scanf(" %c”,&sti.sex);printf("请输入年龄:n");scanf("%d”,&sti.year);printf("请输入身份证号:n")scanf("%s”,&sti.num);printf("请输入简历:n");scanf("%s”,&sti.jian);*printf("n编号数据

10、添加成功!n",i+1);(一结束printf("输入姓名为负数结束输入!n");printf("n");else break;while(sti.num>0);printf("nAn");printf("数据更新成功!n");system("pause"); /按任意键继续return i;3.2输出模块设计void print(stu st口,int n)int i;system( "cls");/清屏printf("nAn");pri

11、ntf(" 编号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);3.3 查找模块设计void shenfenzheng(stu st,int n)char x20;int i;system( "cls");printf("tt*n");printf("tt* 2.身份证号查找printf("tt*n");pri

12、ntf(" 输入你要查询的身份证号:");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",,sti.sex,sti.year,sti.num,sti.jian);printf("nAn");system("pause");printf("未找到!)return;printf(&q

13、uot;nAn");system("pause");void xingming(stu st,int n)char x10;int i;system( "cls");printf("tt*n");printf("tt*3.姓名查找printf("tt*n");printf("输入你要查询的姓名:");scanf("%s",x);f or(i=0;i<n;i+)if(strcmp(,x)=0)printf(" 姓名t性别t年龄

14、t身份证号tt "介聃 printf("%st %ct%dt%st%sn",,sti.sex,sti.year,sti.num,sti.jian);printf("n'n");printf("按键返回!");getchar();/*按任意健 */getchar();return;printf("未找到!");printf("n'n");system("pause");3.4保存及读取模块设计成功打开void xieru(stu st口

15、,int n) FILE *fp;if(fp=fopen("ren.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=fopen("ren.txt","r")=NULL)printf("文件不存在

16、!打开失败!n");return 0;for(i=0;!feof(fp);i+)fread(&sti,sizeof(stu),1,fp);fclose(fp);printf("读取成功! n");system("pause");YNreturn i-1;第四章测试分析4.1 测试程序执行情况J、吊 言工里自上市寄寄 乂 j| j4 1泰息件除取姓删读* «3 6 9找S 号息件 证要 身息=m111口W自3自U 信 新翳14 7输入你的选择0-9”【】* L更新成员信息* *-*-*悔 MiXiilXiMMiXX MWrMiX

17、iMMiXE MiXMiXiMMiXE MiN*麟人姓名:乘三皆输入性别(忸/皿:卜输入年龄!卜输入身份证号:青输入简历:hello输入蓝生为负数结束输入!质输入姓名;拿四清输?V性别 <“门>;融输人年龄:输入身傥证号, 1 1 I2 .身份证号查找性别11份证号ihello简介请按任意键继续.3 .姓名查找物入你要查询的姓崔李四姓名 性别 年龄身份证号2 你好简介请按任意键继续. . .号名三四五 姓塞干性别VIFIW年龄123身份证号123简介 hello 你好 hello请嵌入整修改的信息编号:李四请输入性别"":请输入年龄:请输入身份证号;请输入简历:

18、hello编号2数据修改成功!5 -插入信息也唾入姓名;名八请输入性别;请输入年龄;3输入身份证号;请输入简历:he llo愉入迸省为负数结束输入!请输入姓名:-1请按任意键继续. . .名三四五八姓雷事性别年龄身份证号简介11helloW22helloW33hell。W44hello青输区要删除的信息编号,4 01除成功?请按任意键继续.名三四五 姓塞王 号简介 hello hello hello年龄身份证号112233请按任意键继续. . .第五章用户手册(可选)5.1 使用说明运行程序会显示菜单根据菜单输入编号实现相应功能;1. 更新人员信息2. 身份证号查找3. 姓名查找4. 修改信息

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

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

21、,通过亲身实践弄懂了许多,同时因为程序是在老师及同学的帮主下完成的,当中有很多程序都是几个同学一起讨论出来的,让我体会到了 集体的力量是无限的,当然更让我坚定了以后要好好掌握 C语言这一门课程的决附录:程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>/ 字符串操作#define N 30 /人数#define M 10 /名字长度typedef struct student char nameM;char sex;int year;char num20;char jian120;stu;int

22、 menu(void);/ 用户菜单int read(stu st);/添加人员信息void xieru(stu st,int n);/写入信息到文件int duqu(stu st);/从文件读取信息输出信息按身份证查找信息按姓名查找修改信息插入信息删除信息void print(stu st,int n);/void shenfenzheng(stu st,int n);/void xingming(stu st,int n);/void xiugai(stu st,int n);/ int charu(stu st,int n);/ void shanchu(stu st,int n);/

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

24、输出信息8.保存文件9.读取文件printf("t*0.退出*n");*n");*n");*n");printf("t*n");a=menu(); switch(a)case 1:n=read(ren);break;case 2:shenfenzheng(ren,n);break;case 3:xingming(ren,n);break;case 4:xiugai(ren,n);break;case 5:n=charu(ren,n);break;case 6:shanchu(ren,n);n-;break;case 7:pr

25、int(ren,n);printf("n-n");system("pause");break;case 8:xieru(ren,n);break;case 9:n=duqu(ren);break;case 0:printf("t* printf("t* printf("t* printf("t*system( "cls" ); printf("nnn");*n");*n");*n");*n");谢谢使用!printf("t*

26、printf("t* printf("t*n");*n");,*n");exit(0); /exit (code)当code为0时正常退出。非 0时出现某种错误后退default:printf(" 输入错误!请输入0-9 的数字!n");system("pause");break;return 0;int menu(void)/ 用户菜单int a;printf("nt 输入你的选择(0-9): bb");scanf("%d",&a);return a;vo

27、id xieru(stu st,int n)FILE *fp;if(fp=fopen("ren.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=fopen("ren.txt","r")=NULL)prin

28、tf(" 文件不存在! 打开失败!n");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" );printf("tt* printf("tt* printf("tt*n");1.更新成员信息*n");*n

29、");doi+;printf(" 请输入姓名:n");scanf("%s",&);if(atoi()>=0)printf(" 请输入性别(w/m) : n");scanf(" %c",&sti.sex);printf(" 请输入年龄:n");scanf("%d",&sti.year);printf(" 请输入身份证号:n");scanf("%s",&sti.

30、num);printf(" 请输入简历:n");scanf("%s",&sti.jian);n",i+1);n");printf("n 编号数据添加成功!printf(" 输入姓名为负数结束输入!printf("n") ;elsebreak;while(sti.num>0);printf("n-n");printf(" 数据更新成功!n");system("pause");return i;void print(stu s

31、t,int n)int i;system( "cls" );printf("n-n");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);void shenfenzheng(stu st,int n) char x20;int i;system( "cls" );pri

32、ntf("tt*printf("tt* 2.身份证号查找*n");printf("tt*n");*、c”'printf(" 输入你要查询的身份证号:");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",,sti.sex,sti.year,sti.num,st

33、 i.jian);printf("n-n");system("pause");return;printf(" 未找到!");printf("n-n");system("pause");void xingming(stu st,int n)char x10;int i;system( "cls" );printf("tt*n");printf("tt* 3.姓名查找*n");printf("tt*n");printf(

34、" 输入你要查询的姓名:");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,st i.jian);printf("n-n");system("pause");return;printf(" 未找到!"

35、;);printf("n -n");system("pause"); int charu(stu st,int n) int i=n-1;system( "cls" );printf("tt* printf("tt*n");5.插入信息*n");printf("tt*n");doi+;printf(" 请输入姓名:n");scanf("%s",&);if(atoi()>=0)printf(&

36、quot; 请输入性别(w/m) : n");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("n") ;elsebreak;while(sti.num>0);printf("n-n");system("pause");return i;void xiugai(stu st,int n)int x;system( "cls" );printf("tt*n");printf("tt* 4.修改信息

温馨提示

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

评论

0/150

提交评论