C语言课程设计报告:职工信息管理系统程序设计

上传人:s9****2 文档编号:432597956 上传时间:2022-07-29 格式:DOC 页数:20 大小:239.01KB
返回 下载 相关 举报
C语言课程设计报告:职工信息管理系统程序设计_第1页
第1页 / 共20页
C语言课程设计报告:职工信息管理系统程序设计_第2页
第2页 / 共20页
C语言课程设计报告:职工信息管理系统程序设计_第3页
第3页 / 共20页
C语言课程设计报告:职工信息管理系统程序设计_第4页
第4页 / 共20页
C语言课程设计报告:职工信息管理系统程序设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

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

1、C语言课程设计报告 设计题目:职工信息管理系统程序设计班级:031094-11姓名:舒平学号:20091001905指导老师:邵玉祥课程设计评语2目 录31课程论文题目42程序设计思路43功能模块图54数据结构设计55算法设计66程序代码137程序运行结果228编程中遇到的困难及解决方法259总结心得及良好建议2610致谢26 1 课程论文题目职工信息管理系统程序设计一、 题目要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:(1) 系统以菜单的方式工作。(2) 职工信息录入功能 (职工信息用文件保存)。(3)

2、职工浏览功能。(4) 职工信息查询功能,查询方式可按学历查询或者工号查询。(5) 职工信息的删除、修改功能(可选项)。2程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。 3功能模块图职工信息管理系统信息修改信息查询信息浏览信息录入按学历查询按工号查询5算法设计1主函数提供输入、处理和

3、输出部分的函数调用,各功能模块采用菜单方式选择。开 始显示一系列的功能选择输入n,判断n是否是0到6NY根据n值调用各功能模块2浏览模块【分析】该模块的功能是浏览职工的全部信息显示职工记录(10个一屏)按任意键显示下一屏按任意键返回主菜单3排序模块 开 始输入n判断n是否是0到2NY12浏览职工信息按实发工资排序按工资卡号排序返回?输出12主菜单4查询模块【分析】 该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。流程图如下:开 始选择按工号还是学历查询输入职工工号或者学历是否找到职工记录?显示没有找到显示找到的记录询问用户是否继续查找?选择:

4、1)查找另一个 2)修改 3)返回菜单结束5修改模块 【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。流程图如下:开 始显示所有记录,让用户选择需修改的职工输入需修改的工号i!=0? Y显示找到的记录,调用修改记录询问用户是否继续修改 返回主菜单结束6程序代码#include#define N 50struct workerchar id50;char name20;char sex10;char age10;char edu20;cha

5、r salary10;char address20;char tel20;workerN;void save(int n) /保存函数,保存n个记录 FILE *fp; int i; if(fp=fopen(worker.txt,wb)=NULL) /以只写方式为输出打开一个二进制文件 printf(nCannot open filen); for(i=0;in;i+) if(fwrite(&workeri,sizeof(struct worker),1,fp)!=1) printf(file write errorn); fclose(fp);int load() /加载函数 FILE *f

6、p; int i; if(fp=fopen(worker.txt,rb)=NULL) printf(nCannot open filen); return NULL; for(i=0;!feof(fp);i+) fread(&workeri,sizeof(struct worker),1,fp); fclose(fp); return(i-1);void no_input(int i,int n) /工号输入函数,i表示第i个职工的信息,n表示比较到第n个职工 int j,k,w1; do w1=0; printf(工号:); scanf(%s,workeri.id); for(j=0;wor

7、keri.idj!=0;j+) if(workeri.idj9) /判断工号是否为数字 puts(请重新输入!n); w1=1;break; if(w1!=1) for(k=0;knn 1).工号 2).姓名 3).性别 4).年龄 5).工资 6).学历 7).地址 8).电话 9).取消); printf(请选择?: bb); scanf(%d,&c); if(c9|c9|c1); do switch(c) case 1:no_input(i,n);break; case 2:printf(name:);scanf(%s,workeri.name);break;case 3:printf(

8、sex:);scanf(%s,workeri.sex);break;case 4:printf(age:);scanf(%s,workeri.age);break;case 5:printf(salary:);scanf(%s,workeri.salary);break;case 6:printf(edu:);scanf(%s,workeri.edu);break;case 7:printf(address:);scanf(%s,workeri.address);break;case 8:printf(tel:);scanf(%s,workeri.tel);break; case 9:menu();break; puts(nNow:n); printf_face(); printf_one(i); printf(n确定?nnt1).是 2).否,重新修改 3).不保存退出 bb); scanf(%d,&w1); if(w1=1)save(n); while(w1=2); return(w1);printf_face() /显示数据结构项目 printf(nt工号 姓名 性别 年龄 工资 学历 地址 电话号码n); void enter()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

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