C语言课程设计职工信息管理系统程序设计 .doc
《C语言课程设计职工信息管理系统程序设计 .doc》由会员分享,可在线阅读,更多相关《C语言课程设计职工信息管理系统程序设计 .doc(19页珍藏版)》请在三一办公上搜索。
1、C语言课程设计报告 设计题目:职工信息管理系统程序设计课程设计评语2目 录31课程论文题目42程序设计思路43功能模块图54数据结构设计55算法设计66程序代码137程序运行结果228编程中遇到的困难及解决方法259总结心得及良好建议2610致谢26 1 课程论文题目 职工信息管理系统程序设计一、 题目要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:(1) 系统以菜单的方式工作。(2) 职工信息录入功能 (职工信息用文件保存)。(3) 职工浏览功能。(4) 职工信息查询功能,查询方式可按学历查询或者工号查询。(
2、5) 职工信息的删除、修改功能(可选项)。2程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。 3功能模块图职工信息管理系统信息修改信息查询信息浏览信息录入按学历查询按工号查询5算法设计1主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。开 始显示一系列的功能选择输
3、入n,判断n是否是0到6NY根据n值调用各功能模块2浏览模块【分析】该模块的功能是浏览职工的全部信息显示职工记录(10个一屏)按任意键显示下一屏按任意键返回主菜单3排序模块 开 始输入n判断n是否是0到2NY12浏览职工信息按实发工资排序按工资卡号排序返回?输出12主菜单4查询模块【分析】 该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。流程图如下:开 始选择按工号还是学历查询输入职工工号或者学历是否找到职工记录?显示没有找到显示找到的记录询问用户是否继续查找?选择:1)查找另一个 2)修改 3)返回菜单结束5修改模块 【分析】该模块的功能是
4、显示所有职工的信息,考虑到记录较多,建议采用分屏显示。显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。流程图如下:开 始显示所有记录,让用户选择需修改的职工输入需修改的工号i!=0? Y显示找到的记录,调用修改记录询问用户是否继续修改 返回主菜单结束6程序代码#include#define N 50struct workerchar id50;char name20;char sex10;char age10;char edu20;char salary10;char address20;char tel20;w
5、orkerN;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 *fp; int i; if(fp=fopen(worker.txt,rb)=N
6、ULL) 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;workeri.idj!=0;j+) if(workeri.idj9) /判断工号
7、是否为数字 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(sex:);scanf(%s,workeri.sex);break;case
8、 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();
9、 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() /输入模块 int i,n; printf(输入多少个职工信息(0-%d):,N-1); scanf(%d,&n); printf(n 请输入职工信息nn); for(i=0;in;i+) input(i); if(i!
10、=0) save(n); printf_back();browse() /浏览模块 int i,j,n; n=load(); printf_face(); for(i=0;in;i+) if(i!=0)&(i%10=0) printf(nn按任意键显示下一页.); getch(); puts(nn); printf_one(i); printf(t这里有 %d 条记录.n,n); printf(n按任意键返回.); getch(); menu();modify() /修改模块struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();dok
11、=-1;printf_face();for(i=0;in;i+)if(i!=0)&(i%10=0) /目的是分屏显示printf(nn记住要修改的工号.按任意键显示下一页);getch();puts(nn);printf_one(i); /调用显示一个记录的函数doprintf(nn输入要修改的职工工号! 工号:);scanf(%s,s.id); /输入要修改的IDfor(i=0;inn1).工号 2.学历 3).取消并返回); printf(Which you needed?: bb); scanf(%d,&c); if(c3|c3|c1); switch(c) case 1:search1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言课程设计职工信息管理系统程序设计 语言 课程设计 职工 信息管理 系统 程序设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2384817.html