职工信息管理系统c语言课程设计

上传人:aa****6 文档编号:35218659 上传时间:2018-03-12 格式:DOCX 页数:40 大小:294.43KB
返回 下载 相关 举报
职工信息管理系统c语言课程设计_第1页
第1页 / 共40页
职工信息管理系统c语言课程设计_第2页
第2页 / 共40页
职工信息管理系统c语言课程设计_第3页
第3页 / 共40页
职工信息管理系统c语言课程设计_第4页
第4页 / 共40页
职工信息管理系统c语言课程设计_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《职工信息管理系统c语言课程设计》由会员分享,可在线阅读,更多相关《职工信息管理系统c语言课程设计(40页珍藏版)》请在金锄头文库上搜索。

1、C 语言课程设计设计(论文) 题目: 职工信息管理系统 所 在 院: 专 业 班 级: 15通信工程 学 生 姓 名: 学 号: 指 导 教 师: 2017年3月5日 课程设计(论文)任务书 设计题目: 职工信息管理系统 专业班级: 学号 姓名 主要内容 职工信息包括:职工号、姓名、性别、年龄、学历、 地址、电话,设计一个职工信息管理系统,其功能主要包 括: (1)主函数提供各部分的函数调用 (2)职工信息输入模块 (3)职工信息浏览模块 (4)职工信息查询模块 (5)职工信息删除 (6)职工信息修改功能 基本要求: 按照内容要求,设计完整的职工信息管理系统。要求 调试通过,不存在漏洞,方便用

2、户操作。功能的实现上力求容错能力要强且提示信息完备。目录 1问题描述.2 2设计要求.3 3分析与实现.4 1.输入新员工信息.4 2.删除信息息.7 3.显示信息.10 4.通过学历查找信息.13 4运行与测试.15 5总结与思考.21 附录一.21职工信息管理系统 1问题描述 用 C 语言为公司设计一个职工信息管理系统 其功能主要包括: (1)主函数提供输入、处理和输出部分的函数调用,各功能模 块采用菜单方式选择。 (2)职工信息输入模块可根据提示输入职工的工号、姓名、性别、年龄等基本信 息 (3)职工信息浏览模块可通过菜单选择显示职工信息将所有职工信息显示。 (4)职工信息查询模块 通过

3、菜单选择查询方式,提供按学历查询和按职工号查询两 种查询方式。采用基本查找算法即可。 (5)职工信息删除 通过菜单选择删除操作,读记录,判断是否要删除(与输入 的要删除的记录比较) ,如果要删除,则舍弃。 (6)职工信息修改功能 修改操作判断是否是要修改的记录,如果是,则修改记录, 否则记录不变。2设计要求 1. 界面清晰,美观大方。 2. 要求使用菜单的形式描述功能项,菜单设计美观大方、实用, 可仿照课程说明书模板或自行设计。 3. 模块化程序设计:要求在设计的过程中,按功能定义函数或 书写多个文件,进行模块化设计,各个功能模块用函数的形式 来实现。 4. 程序以缩进格式书写,要求清晰、易懂

4、。 5. 各功能模块要求必须有准确描述函数功能的注释,重要语句 最好也加上注释,以更好地让读者理解。 6. 要求对 2-3 个重要功能模块进行描述 7. 除了上述的基本要求外,本系统的数据处理是文本文件能直 接进行信息的修改3分析与实现 本程序采用模块化设计,主函数清晰、明了,各功能分别在不 同模块中实现。 本程序通过链表进行一系列的操作,能够随时添加和删除,而 不担心出现问题在输入函数的时候为了方便操作需要加载以前 的文件这就给输入函数带来了一定的困难,因为链表需要遍历 所有的节点进行添加。 1.输入新员工信息 void creat(struct Staff *p, int i)/获取链表的

5、头进行操作 int n = 0; char c; struct Staff *head; struct Staff *p1, *p2, *temp, *t1;/ 设置指针为了指针指向的变 换 temp = p; t1 = p; system(“cls“); if (temp = NULL)/如果信息文件为空,进行重新创建链表 head = temp; else while (temp-next != NULL)/ 使指针指到最后一个节点 temp = temp-next; p1 = p2 = (struct Staff *)malloc(LEN); memset(p1, 0, LEN); sc

6、anf_info(p, p1, i); printf(“nnttt 是否继续输入:YORN?“); color(12); /提示 c = getchar(); color(7); head = p1; if (p != NULL) temp-next = head; for (;) if (n != 0) printf(“nnttt 是否继续输入:YORN?“); color(12); c = getchar(); color(7); if (c = n | c = N)/判断是否结束输入 p2-next = p1; p2 = p1; break; else n = n + 1; system

7、(“cls“);if (n = 1) head = p1; else p2-next = p1; p2 = p1; p1 = (struct Staff *)malloc(LEN);/ 申请内存空间 memset(p1, 0, LEN);/ 将申请到的内存清 0 scanf_info(p, p1, i); p2-next = NULL; if (i = 0) p = head; void scanf_info(struct Staff *p, struct Staff *p1, int i)/输入信息 struct Staff *head; int j; j = i; head = p; pr

8、intf(“nnnttt 输入职工号:t“); getchar(); color(10); gets(p1-num); color(7); printf(“ttt 请输入姓名:t“); color(10); gets(p1-name); color(7); printf(“ttt 请输入性别:t“); color(10); gets(p1-sex); color(7); printf(“ttt 请输入年龄:t“);color(10); gets(p1-age); color(7); printf(“ttt 请输入学历:t“); color(10); gets(p1-education); co

9、lor(7); printf(“ttt 请输入地址:t“); color(10); gets(p1-address); color(7); printf(“ttt 请输入电话:t“); color(10); gets(p1-telephone); color(7); 2.删除信息息 对比所有信息,也就是说一个职员只要知道任何一个信息就能 找到,函数会查找所有信息进行对比 void deletedate(struct Staff * head) struct Staff * p = head; struct Staff *p1 = NULL, *p3 = NULL; char c; int n

10、= 0, m = 0; int space = 0; FILE *fp; char s35; system(“cls“); if (fp = fopen(“ 删除的数据.txt“, “at“) = NULL) printf(“tt 无法将删除数据保存!谨慎操作!n“); exit(0); printf(“nnnntt 输入将要删除的数据:“); getchar(); printf(“tt“); color(14); gets(s); color(7); while (p != NULL) if (strcmp(s, p-num) = 0) deletedate: while (1) n = 1

11、; system(“cls“); printf(“nntt%-10s%-10s%-5s%-5s%-20s%-35s%-15snn“, “职工号“, “姓名“, “ 性别“, “年龄“, “学历“, “ 住址“, “电话“); printf_info(p); m = 1; printf(“nntt 是否删除该数据(yORn): tt“); color(12); c = getchar(); color(7); if (c = y | c = Y) fprintf(fp, “%-10s%-10s%-5s%-5s%- 20s%-35s%-15s“, p-num, p-name, p-sex, p-a

12、ge, p-education, p-address, p-telephone);if (p = head) head = p-next; else if (p-next = NULL) p1-next = NULL; else p1-next = p3; break; if (c = n | c = N) printf(“nntt 点击任意键进入下一 次搜索。 。 。“); getchar(); getchar(); break; else; else if (strcmp(s, p-name) = 0) goto deletedate; else if (strcmp(s, p-sex)

13、= 0) goto deletedate; else if (strcmp(s, p-age) = 0) goto deletedate; else if (strcmp(s, p-education) = 0) goto deletedate;else if (strcmp(s, p-address) = 0) goto deletedate; else if (strcmp(s, p-telephone) = 0) goto deletedate; else; p1 = p; if (p-next = NULL); space = 1; p = p-next; if (space != 1) p3 = p-next; if (m = 1) printf(“nntt 记录已经输出完了!“); if (n = 0) printf(“t

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号