《C语言课程设计职工信息管理系统程序设计》.doc

《C语言课程设计职工信息管理系统程序设计》.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C语言课程设计职工信息管理系统程序设计》

C语言课程设计报告 设计题目:职工信息管理系统程序设计 课程设计评语 2 目 录 3 1.课程论文题目 4 2.程序设计思路 4 3.功能模块图 5 4.数据结构设计 5 5.算法设计 6 6.程序代码 13 7.程序运行结果 22 8.编程中遇到的困难及解决方法 25 9.总结心得及良好建议 26 10.致谢 26 课程论文题目 职工信息管理系统程序设计 题目要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能: 系统以菜单的方式工作。 职工信息录入功能 (职工信息用文件保存)。 职工浏览功能。 职工信息查询功能,查询方式可按学历查询或者工号查询。 职工信息的删除、修改功能(可选项)。 2.程序设计思路 1、设计思路 (1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作; (2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现; (3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。 3.功能模块图 5.算法设计 1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。 N Y 2浏览模块 【分析】 该模块的功能是浏览职工的全部信息 3排序模块 N Y 1 2 1 2 4查询模块 【分析】 该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。流程图如下: 5修改模块 【分析】 该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。流程图如下: Y 6.程序代码 #includestdio.h #define N 50 struct worker { char id[50]; char name[20]; char sex[10]; char age[10]; char edu[20]; char salary[10]; char address[20]; char tel[20]; }worker[N]; void save(int n) //保存函数,保存n个记录 { FILE *fp; int i; if((fp=fopen(worker.txt,wb))==NULL) //以只写方式为输出打开一个二进制文件 { printf(\nCannot open file\n); } for(i=0;in;i++) if(fwrite(worker[i],sizeof(struct worker),1,fp)!=1) printf(file write error\n); fclose(fp); } int load() //加载函数 { FILE *fp; int i; if((fp=fopen(worker.txt,rb))==NULL) {printf(\nCannot open file\n); return NULL; } for(i=0;!feof(fp);i++) fread(worker[i],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,worker[i].id); for(j=0;worker[i].id[j]!=\0;j++) if(worker[i].id[j]0||worker[i].id[j]9) //判断工号是否为数字 {puts(请重新输入!\n); w1=1;break; } if(w1!=1) for(k=0;kn;k++) //比较到第N个职工 if(k!=istrcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档