- 215.79 KB
- 2022-05-14 15:54:26 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
C语言课程设计-人员管理系统
作者:
日期:内蒙古科技大学本科生课程设计说明书题目:C语言课程设计人员管理系统学生姓名:武飞学号:1376807331专业:计算机科学与技术班级:2013-3指导教师:王丽颖
内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书课程名称c语言课程设计设计题目人员管理系统内蒙古科技大学课程设计说明书内蒙古科技大学课程设计说明书指导教师王丽颖时间2014.12.31-2014.1.4内蒙古科技大学课程设计说明书内蒙古科技大学课程设计说明书一、教学要求1.2.3.巩固和加深学生对c语言课程的基本知识的理解和掌握掌握c语言编程和程序调试的基本技能利用c语言进行基本的软件设计内蒙古科技大学课程设计说明书内蒙古科技大学课程设计说明书4.5.1.分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2.3.写出详细设计说明(至少包括功能实现分析和模块流程图)编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4.设计完成的软件要便于操作和使用5.设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天选择课程设计题目,分析课题的要求第二天编程第三天编程及调试第四天写课程设计报告第五天提交课程设计报告(打印稿及电子稿)五、评分标准1.根据平时上机考勤、表现和进度,教师将每天点名和检查2.根据课程设计完成情况,必须有可运行的软件。掌握书写程序设计说明文档的能力提高运用c语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。人员管理系统现有一批人员的数据,要求输入计算机并存放在内存中,然后增加若干个新人员的记录,并可输出人员清单,实现文件存盘和读人文件进行修改的功能。人员的基本信息包括姓名,性别,年龄,身份证号和简历(80个字符以内)。要求设计菜单来调用其各功能模新建文件、打开文件输入记录、输出记录查询记录(至少具有两种查询方式,例如以姓名查询和以身份证号查询)修改、插入和删除记录保存文件、退出三、设计要求及成果内蒙古科技大学课程设计说明书内蒙古科技大学课程设计说明书3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。
内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书I第一章需求分析1.1引言312任务概述31.3数据描述31.4功能需求3第二章概要设计2.1总体设计422数据类型设计(或数据结构设计)42.3接口设计52.4运行界面设计5第三章详细设计•£3.1输入模块设计63.2输出模块设计713查找模块设计73.4保存及读取模块设计9第四章测试分析114.1测试程一一序执行情况11第五章用户手册(可选)145.1使用说明145.2运14第六章课程设计总结15附录:程序代码16参考文献•・24#内蒙古科技大学课程设计说明书第一章需求分析1.1引言11
内蒙古科技大学课程设计说明书随着管理人数的增加,手动管理人员将会显得不方便。这时就需要使用软件来实施人性化的管理。1.1任务概述做一个程序对人员信息实现:新建文件、打开文件、输入记录、输出记录、查询记录、修改、插入和删除记录、保存文件、退出功能1.2数据描述采用结构体来储存人员信息。人员信息包括姓名、性别、年龄、身份证号、个人简历。姓名长度输入时不能超过10。性别输入时只能输入时一个字符w/m。身份证长度输入时不能超过20。个人简历长度输入时不能超过120。1.3功能需求新建文件、打开文件输入记录、输出记录查询记录(至少具有两种查询方式,例如以姓名查询和以身份证号查询)修改、插入和删除记录保存文件、退出11
内蒙古科技大学课程设计说明书第二章概要设计2.1总体设计11.更新人”2..身份」Y3.姓名查〕T4.修改信.15,插入信,17.输出信■“9读取文.♦>To一退出.2.2数据类型设计(或数据结构设计)11内蒙古科技大学课程设计说明书11内蒙古科技大学课程设计说明书typedefstructstudent(charname[M];//姓名charsex;〃性另【Jintyear;//年龄charnum[20];//身份证号11
内蒙古科技大学课程设计说明书charjian[120];//个人简历}stu;//结构体储存11
内蒙古科技大学课程设计说明书2.3接口设计表2.1:函数列表函数名函数格式函数功能menuintmenu(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[],intn)删除信息2.4运行界面设计吊官八里系字充心地3KIAN_.it11内蒙古科技大学课程设计说明书11内蒙古科技大学课程设计说明书戈氢牛专一建各余投生删实■■■;0戈—查号息军i证建Mu258。自』、一二R二贝1.nn、D.nn、D;新口一47捌入你的选择佃-111
内蒙古科技大学课程设计说明书11内蒙古科技大学课程设计说明书第三章详细设计3.1输入模块设计intread(stust[])(inti=-1;system(""cis");★★★★*********★★★*********★★*******nn);prin*1•更新成员信息u*********************************prin**nn);(开始)/输出提/加输入姓/i++;printf(”请输入姓名:n");seanf(,,%s,,,&st[i].name);if(atoi(st[i].name)>=0)(printf("请输入性别(w/m):nH);seanf("%c",&st[i].sex);printf(”请输入年龄:n”);seanf("%d”,&st[i].year);printf(“请输入身份证号:n");/输入简/seanf("%s”,&st[i].num);printf(”请输入简历:n");seanf(n%sM,&st[i].jian);printf(nn编号%d数据添加成功!n”,i+1);printf("输入姓名为负数结束输入!n");printf(un");}elsebreak;}while(st[i].num>0);11
内蒙古科技大学课程设计说明书11
内蒙古科技大学课程设计说明书printf("nnn);printf("数据更新成功!nH);system(npausen);〃按任意键继续returni;)3.2输出模块设计voidprint(stust[],intn)inti;system(“cls");〃清屏printf(unn");printf("编号t姓名t性别t年龄t身份证号tt简介n");for(i=0;i、*★戊息件杏一建找查号息件证翌¥2580急占一口二贝目、D新h-w11内蒙古科技大学课程设计说明书11内蒙古科技大学课程设计说明书输入你的选择11•更新成员信息11内蒙古科技大学课程设计说明书常输入姓名:采二藕5人性别如心请输入年龄;请输入身份证号:L请输入简历Ihe1lo11输入姓名・举四请输入性别VW。A=11
内蒙古科技大学课程设计说明书请输入年龄;请输入身份证号:4.1测试程序执行情况11
2.身份证号查找请按任意键继续•-蟹你驾的警,李四配黎证号—情按任意键继续…年龄身份证号1122w33编号姓卷性别1张三《2李四m3主五■改的信息编号’2请输入性别5勿》;请输入年龄:请输入身份证号I和输入简历:hello编号z数据修改成功!请按任意键继续••-13
5寸再入信息1313鲤入姓名二老K请输入性别5勿》:请输入年龄:请输入身份证号:器输入简历’llwHo请输入姓名:-1晴按任意键继・1313编号姓卷性别年龄I张三W2季四w23主五w4若7w4身悦证号问力Ijhello)hello2hello33hello1313请按任意键继续•・龄年123另性”:名三四齐姓身悦证号简介1hello2hello3hello请按任意键继续一一13内蒙古科技大学课程设计说明书第五章用户手册(可选)5.1使用说明运行程序会显示菜单根据菜单输入编号实现相应功能;25
内蒙古科技大学课程设计说明书1•更新人员信息2•身份证号查找3•姓名查找4•修改信息5.插入信息6•删除信息7.输出信息8.保存文件9.读取文件0.退出5.2运行说明只有退出程序时。保存文件。下次运行按读取。才能读取成功!更新人员信息会覆盖到当前的人员信息。需要注意。25
内蒙古科技大学课程设计说明书第六章课程设计总结全部模块化设计。未定义全局变量做干扰。采用结构体。不足之处,身份证长度未做限定,有些不足。需要改善的有数据存储方式。改成链式存可能会更佳。还可以进一步优化程序使其实现分级菜单。实现真正意义上的新建文件,读取文件。所遇到的问题是如何给每个数据的储存文件取不同名字。如何把每个文件名读取进来。通这次的课程设计,我们对c语言这门课程有了深一步的理解。它是计算机程序设计的重要理论技术基础,在我们计算机专业的学习中占据十分重要的地位,同时也使我们知道要学习这门课程,仅学习书本上的知识是不够的,还要有较高的实践能力。因为我们学习知识就是为了实践,而只有实践多编写程序才能更好的理解与掌握书本上的东西。通过本课题,进一步熟悉了c语言的基本东西。我们还要学会分析题目的已知与未知,学会中合起来考虑问题,在逐步的展开思想,特别是碰到大问题时要细细的分解成为许多小的问题来解决。同时我.还学到了课外的知识,碰到难题是不要逃避,而是要迎难而上,反复的实验调试结果后,再错的基础上做修改。谈到错是成功之母,说明我们在莫一件事上要多次吸取经验教训。这次课程设计,让我对于以往上课不理解、不太清楚的问题,通过亲身实践弄懂了许多,同时因为程序是在老师及同学的帮主下完成的,当中有很多程序都是几个同学一起讨论出来的,让我体会到了集体的力量是无限的,当然更让我坚定了以后要好好掌握C语言这一门课程的决心!25
内蒙古科技大学课程设计说明书附录:程序代码#include#include#include//字符串操作#defineN30//人数#defineM10〃名字长度typedefstructstudent{charname[M];charsex;intyear;charnum[20];charjian[120];}stu;intmenu(void);//用户菜单intread(stust[]);〃添加人员信息voidxieru(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;sturen[N];system(Hcolor0A");n修改颜色while(1)25内蒙古科技大学课程设计说明书25
内蒙古科技大学课程设计说明书system("cis");〃清屏printf("nH);printf("n");printf("n“);•*★★*******★★★★★★*prinprintf("t*1.更新人员信息一printf(Ht*4.修改信息printf("t*7.输出信息printf("t*人员管理系统*******************n");2.身份证号查找5.插入信息8.保存文件0.退出3.姓名查找6.删除信息9.读取文件*nn);*n");*n");*n"1);*nn)25
内蒙古科技大学课程设计说明书25内蒙古科技大学课程设计说明书**nH);***★★**★★**★★**★★**★★**★★**★★**★★**★***★★**★*★a=menu();switch(a)case1:n=read(ren);break;case2:shenfenzheng(ren,n);break;case3:xingming(ren,n);break;case4:xiugai(ren3n);break;case5:n=charu(ren,n);break;case6:shanchu(ren,n);n--;break;case7:print(ren,n);printf("nsystem(Hpausen);break;case8:xieru(ren,n);break;case9:n=duqu(ren);break;case0:system(nclsH);printf(Mnnn");prin廿(”t***********************************************n”);prinprinprinprintf(nt*printf(nt*谢谢使用!)))))25
内蒙古科技大学课程设计说明书prjn甘*************************************************n")・exit(O);//exit(code)当code为0时正常退出。非0时出现某种错误后退default:printf("输入错误!请输入0・9的数字!n");system("pause");break;))return0;)intmenu(void)//用户菜单(inta;printf("nt输入你的选择(0-9):[]bb");scanf("%d",&a);returna;)voidxieru(stust[]Jntn)(FILE*fp;if((fp=fopenf"ren.txt,,;"w"))==NULL)(printf("保存文件失败!n");return;)fwrite(st,sizeof(stu),n,fp);printf("保存成功!nn);fclose(fp);system("pauseM);)intduqu(stust[])(FILE*fp;inti;if((fp=fopen(Hren.txtn;"r,,))==NULL)(printf("文件不存在!打开失败!n");return0;25
内蒙古科技大学课程设计说明书)for(i=0;!feof(fp);i++)25
内蒙古科技大学课程设计说明书fread(&st[i],sizeof(stu),15fp);)fclose(fp);printf(“读取成功!nn);system(f,pauseH);returni-1;)intread(stust[])(inti=-1;system("clsH);printf(*"tt***★★★******★***★******★★★***★**★★*、“)•printf(*"tt*1•更新成员信息printf(Htt**do{i++;printf(”请输入姓名:n");scanf("%s",&st[i].name);if(atoi(st[i].name)>=0)(printf("请输入性别(w/m):n");scanf(n%c",,&st[i].sex);prinH("请输入年龄:n");scanf("%d“,&st[i].year);printf(“请输入身份证号:n");scanf("%s"&st[i].num);printf("请输入简历:n");scanf("%sH,&st[i].jian);n");prinprintf(nn编号%d数据添加成功!prin廿("输入姓名为负数结束输入!tf(unH);)elsebreak;}while(st[i].num>0);n");printf(Mnprintf(“数据更新成功!n");system(npause");returni;25
内蒙古科技大学课程设计说明书)voidprint(stust[],intn)25
内蒙古科技大学课程设计说明书inti;system("cis");printf(Hnn");printf("编号t姓名t性别t年龄t身份证号tt简介n");for(i=0;i=0)(printf("请输入性别(w/m):n");scanf(n%c",&st[i].sex);printf(”请输入年龄:n");scanf("%dH,&st[i].year);printf(”请输入身份证号:nH);scanf(n%s",&st[i].num);printf("请输入简历:n");scan&st[i].jian);printf("n编号%d数据添加成功!n",i+1);printf("输入姓名为负数结束输入!n”);25
内蒙古科技大学课程设计说明书elsebreak;n");}while(st[i].num>0);printf("n-system(f,pausen);returni;voidxiugai(stust[],intn)intx;system("cis");printf(Htt**25内蒙古科技大学课程设计说明书25内蒙古科技大学课程设计说明书4修改信息*nM);25内蒙古科技大学课程设计说明书pHA*t付t★忖**★******★★★*********、«)•printf("n请输入要修改的信息编号:”);scanf(u%d",&x);printf(”请输入姓名:n");scanf("%s",&st[x-1].name);printf("请输入性别(w/m):n");scanf(n%c",&st[x-1].sex);printf(”请输入年龄:nH);scanf("%d"&st[x-1].year);printf(”请输入身份证号:nH);scanf("%s",&st[x-1].num);printf("请输入简历:nH);scanf("%sH,&st[x-1].jian);n");printf(Mn编号%d数据修改成功!printf(Hnsystem("pause");)voidshanchu(stust[],intn)intx.i-zH।systdm(cis);printfC"tt**25内蒙古科技大学课程设计说明书25内蒙古科技大学课程设计说明书6.删除信息*n”);25内蒙古科技大学课程设计说明书25内蒙古科技大学课程设计说明书优1百*卅★★★******★★***★★***★*、“)•printf(nn请输入要删除的信息编号:");scanfor(i=x-1;i