C语言课程设计报告职工信息管理系统设计.docx
《C语言课程设计报告职工信息管理系统设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告职工信息管理系统设计.docx(13页珍藏版)》请在三一办公上搜索。
1、C语言课程设计报告职工信息管理系统设计职工信息管理系统设计 一、设计任务 课题:职工信息管理系统设计 职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等。是设计一职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能输入 职工信息浏览功能 输出 查询和排序功能 算法 按工资查询 按学历查询等 职工信息删除,修改功能。 补充要求: 1)整个系统均用c语言实现; 2)可以利用数组,指针,链表来实现数据结构设计; 3)系统具有输入,显示,查询,删除,排序,插入,保存,读取等基本功能; 4)系统的各个功能模块都用函数的形式来实现; 5)可以将信息保存在文件中读取出来。
2、 1 二、系统设计方案 1.程序采用模块化设计,主函数为程序的入口,各模块独立,可分块调试,各模块由主函数控制调用。主函数的控制功能通过循环执行一个开关语句来实现。该开关语句的条件值为调用主菜单函数得到的返回值,根据该值,调用相应的各功能函数。 2.应用高级语言程序设计中的基本控制结构,如选择和循环等,并且包含对文件的读、写等基本操作,在软件开发过程中应用了软件工程的基本理论。因此,系统的设计方法是结构化设计方法,开发手段是C语言。 3.源程序运用多个函数,开头先进行函数声明,然后分别定义、调用各函数。 开始 主函数 载入模块 录 入 记 录 模 块 浏览 记 录 模 块 删除 记 录 模 块
3、 修改 记 录 模 块 按姓名 查询 记 录 模 块 按工号 按学历 退出程序 模 块 保存数据模块 结束 2 程序流程图 三、程序主要代码分析 /*下面定义职工信息结构*/ typedef struct worker int id; char name20; char sex3; int age; char edu50; int wages; char adr255; char phone13; WORKER, *PWORKER; /typedef struct WORKER *PWORKER; typedef struct link WORKER w; struct link *next;
4、 LINK, *PLINK; /typedef struct LINK *PLINK; /*创建职工信息链表*/ PLINK create PLINK p=(PLINK)malloc(sizeof(LINK); if(NULL!=p) p-next=NULL; return p; printf(内存不足!n); return NULL; 3 分析:我认为链表的使用正是本程序的最精彩的地方所在,较数组而言它的使用带来了很多优点:空间的灵活分配,虽然地址不是连续的,但只要找到链表的头所有数据都可以迅速找到可以灵活的插入或删除元素而不会像数组那样带来较多数据的移动 /*显示程序界面文字*/ void
5、 message system(color 09f);/*设置当前窗口的背景色和前景色*/ /* 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色 3 = 浅绿色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 = 紫色 D = 淡紫色 6 = 黄色 E = 淡黄色 7 = 白色 F = 亮白色*/ system(cls); printf(tt*nn); printf(tt欢迎进入职工管理系统w.id); h=p-next; while(h) 4 分析:界面设计我运用了适当的标点使得界面变得清晰大方,背景色的添加也可给用户新的视觉效果 分析:周密地考虑
6、到了内存不足以及职工号已存在导致的录入失败,给予用户适当的提示使得设计更加人性化 if(h-w.id=q-w.id) free(q); printf(录入失败提示:此职工号已经存在!n); return -1; h=h-next; printf(请输入职工姓名(文字):); scanf(%s,&q-w.name); printf(请输入职工性别(文字):); scanf(%s,&q-w.sex); printf(请输入职工年龄(数字):); scanf(%d,&q-w.age); printf(请输入职工学历(文字):); scanf(%s,&q-w.edu); printf(请输入职工工资(
7、数字):); scanf(%d,&q-w.wages); printf(请输入职工住址(文字):); scanf(%s,&q-w.adr); printf(请输入职工电话(文字):); scanf(%s,&q-w.phone); /*按姓名查询*/ PLINK findname(PLINK p,char *name) message; printf(按姓名 查询n); printf(职工号t姓名t性别t年龄t学历t工资t住址t电话n); while(NULL!=p-next) if(0=strcmp(p-next-w.name,name) printf(%dt%st%st%dt%st%dt%s
8、t%sn, p-next-w.id,p-next-w.name,p-next-w.sex,p-next-w.adr, p-next-w.edu,p-next-w.wages,p-next-w.adr,p-next-w.phone); return p; 5 分析:适当的录入提示,更加方便了用户的录入操作 q-next=p-next; p-next=q; printf(._.录入成功!._.n); return -1; 分析:链表、结构指针的使用大大方便了信息的查找定位。值得注意的是判断两字符串内容是否相同时需用到strcmp函数! p=p-next; printf(._.查询结束!._.n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 职工 信息管理 系统 设计

链接地址:https://www.31ppt.com/p-3155460.html