1、v 修改、插入和删除记录v 保存文件、退出三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿
2、)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。第一章 需求分析1.1 引言随着管理人数的增加,手动管理人员将会显得不方便。这时就需要使用软件来实施人性化的管理。1.2 任务概述做一个程序对人员信息实现:新建文件、打开文件、输入记录、输出记录、查询记录、修改、插入和删除记录、保存文件、退出功能1.3 数据描述 采用结构体来储存人员信息。 人员信息包括姓名、性别、年龄、身份证号、个人简历。 姓名长度输入时不能超过10。 性别输入时只能输入时一个字符w/m。
3、 身份证长度输入时不能超过20 。 个人简历长度输入时不能超过120。1.4 功能需求 新建文件、打开文件 输入记录、输出记录 查询记录(至少具有两种查询方式,例如以姓名查询和以身份证号查询) 修改、插入和删除记录 保存文件、退出第二章 概要设计2.1 总体设计2.2 数据类型设计(或数据结构设计)typedef struct student char nameM; /姓名 char sex; /性别 int year; /年龄 char num20; /身份证号 char jian120; /个人简历 stu; /结构体储存2.3 接口设计 表2.1:函数列表函数名函数格式 函数功能menu
4、int menu(void)用户菜单readint read(stu st)添加人员信息xieruvoid xieru(stu st,int n)写信息到文件duquint duqu(stu st);从文件读取信息printvoid print(stu st,int n)输出信息到屏幕shenfenzhengvoid shenfenzheng(stu st,int n)按身份证查找信息xingmingvoid xingming(stu st,int n)按姓名查找xiugaivoid xiugai(stu st,int n)修改信息charuint charu(stu st,int n)插入信
5、息shanchuvoid shanchu(stu st,int n)删除信息2.4 运行界面设计第三章 详细设计3.1 输入模块设计int i=-1;system( cls ); printf(tt*n); printf(tt* 1.更新成员信息 *n do i+; printf(请输入姓名:n scanf(%s,&sti.name); if(atoi(sti.name)=0) 请输入性别(w/m): %csti.sex); printf(请输入年龄: scanf(%dsti.year);请输入身份证号:sti.num);请输入简历:结束sti.jian);n编号%d数据添加成功!,i+1);
6、输入姓名为负数结束输入!) ; else break; while(sti.num0);n-n数据更新成功! system(pause /按任意键继续 return i; 3.2 输出模块设计 int i; system( /清屏编号t姓名t性别t年龄t身份证号tt简介n for(i=0;in;i+) printf(%dt%st%ct%dt%-24s%sn,i+1,sti.name,sti.sex,sti.year,sti.num,sti.jian);3.3 查找模块设计 char x20;tt* 2.身份证号查找 *n输入你要查询的身份证号: scanf(,x); if(strcmp(sti
7、.num,x)=0)姓名t性别t年龄t身份证号tt简介n%st%ct%dt%st%sn,sti.name,sti.sex,sti.year,sti.num,sti.jian); system( return;未找到!char x10;tt* 3.姓名查找 *n输入你要查询的姓名:scanf(f or(i=0; if(strcmp(sti.name,x)=0)%st %ct%dt%st%sn按键返回! getchar(); /*按任意健*/3.4 保存及读取模块设计 FILE *fp; if(fp=fopen(ren.txt,w)=NULL)保存文件失败! return; fwrite(st,s
8、izeof(stu),n,fp);保存成功! fclose(fp); int duqu(stu st)打开成功读取文件返回人数关闭文件YNr文件不存在!打开失败! return 0;!feof(fp);fread(&sti,sizeof(stu),1,fp);读取成功! return i-1;第四章 测试分析4.1 测试程序执行情况第五章 用户手册(可选)5.1 使用说明运行程序会显示菜单根据菜单输入编号实现相应功能;1.更新人员信息 2.身份证号查找 3.姓名查找4.修改信息 5.插入信息 6.删除信息7.输出信息 8.保存文件 9.读取文件0.退出5.2 运行说明只有退出程序时。保存文件。
9、下次运行按读取。才能读取成功!更新人员信息会覆盖到当前的人员信息。需要注意。第六章 课程设计总结全部模块化设计。未定义全局变量做干扰。采用结构体。不足之处,身份证长度未做限定,有些不足。需要改善的有数据存储方式。改成链式存可能会更佳。还可以进一步优化程序使其实现分级菜单。实现真正意义上的新建文件,读取文件。所遇到的问题是如何给每个数据的储存文件取不同名字。如何把每个文件名读取进来。通这次的课程设计,我们对C语言这门课程有了深一步的理解。它是计算机程序设计的重要理论技术基础,在我们计算机专业的学习中占据十分重要的地位,同时也使我们知道要学习这门课程,仅学习书本上的知识是不够的,还要有较高的实践能
10、力。因为我们学习知识就是为了实践,而只有实践多编写程序才能更好的理解与掌握书本上的东西。通过本课题,进一步熟悉了C语言的基本东西。我们还要学会分析题目的已知与未知,学会中合起来考虑问题,在逐步的展开思想,特别是碰到大问题时要细细的分解成为许多小的问题来解决。同时我还学到了课外的知识,碰到难题是不要逃避,而是要迎难而上,反复的实验调试结果后,再错的基础上做修改。谈到错是成功之母,说明我们在莫一件事上要多次吸取经验教训。这次课程设计,让我对于以往上课不理解、不太清楚的问题,通过亲身实践弄懂了许多,同时因为程序是在老师及同学的帮主下完成的,当中有很多程序都是几个同学一起讨论出来的,让我体会到了集体的
11、力量是无限的,当然更让我坚定了以后要好好掌握C语言这一门课程的决心!附录:程序代码#includestdlib.hstring.h/字符串操作 #define N 30 /人数 #define M 10 /名字长度 stu;int menu(void);/用户菜单 int read(stu st);/添加人员信息 void xieru(stu st,int n);/写入信息到文件 /从文件读取信息void print(stu st,int n);/输出信息 void shenfenzheng(stu st,int n);/按身份证查找信息void xingming(stu st,int n);
12、/按姓名查找 void xiugai(stu st,int n);/修改信息 int charu(stu st,int n);/插入信息 void shanchu(stu st,int n);/删除信息 main() int a,n; stu renN;color 0A/修改颜色 while(1) system( /清屏 t*人员管理系统*nt* *nt* 1.更新人员信息 2.身份证号查找 3.姓名查找 *nt* 4.修改信息 5.插入信息 6.删除信息 *nt* 7.输出信息 8.保存文件 9.读取文件 *nt* 0.退出 *nt*n a=menu(); switch(a) case 1:
13、 n=read(ren); break; case 2: shenfenzheng(ren,n); case 3: xingming(ren,n); case 4: xiugai(ren,n); case 5: n=charu(ren,n); case 6: shanchu(ren,n); n-; case 7: print(ren,n); system( case 8: xieru(ren,n); case 9: n=duqu(ren); case 0: system( nnnt*nt* 谢谢使用! *n exit(0); /exit(code)当code为0时正常退出。非0时出现某种错误后退 default:输入错误!请输入0-9的数字! return 0;int menu(void)/用户菜单 int a;nt输入你的选择(0-9): bba); return a; int duqu(stu st) fread(& int i=-1; elsett*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1