




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上中国地质大学(武汉)课程设计报告题 目 c语言程序设计 姓 名 学 号 专 业 统计学 所在院系 经济管理学院 指导老师 江俊君 日 期 2016/6/11 目 录1课程论文题目职工信息管理系统内容:要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。 功能:实现简单的职工工资信息管理,职工工资的基本信息包括编号、姓名、基本工资、奖金、工资总额等 1. 系统以菜单方式工作。2. 职工信息录入功能(职工信息用文件保存)。3. 职工信息浏览功能 。4.职工信息查询功能。查询方式。(1)按学历查询。(2)按工号查询。2程序设计思路(1)需求分
2、析系统要以菜单方式工作,因而根据题目要求,提供键盘式选择菜单实现功能选择,职工信息采用文件保存,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、等操作;要实现职工信息的查询,则要提供查找功能(包括按学历查询和按工号查询两种查询方式);要实现职工信息的删除、修改,则要提供文件记录的删除 、修改功能。(2)总体设计根据上面的需求分析,可以将这个系统设计分为以下模块:职工信息输入模块、职工信息浏览模块、职工信息查询模块、职工信息删除与修改模块(3)数据信息建立职工信息结构体,结构体成员包括工号、姓名、性别、年龄、学历、工资、住址和电话。Struct employeec
3、har num20;char name8;char sex10;char age10;char xueli30;char wanges10;char tel15;char addr50;emN3功能模块图录入模块菜单浏览模块学历查询工号查询查询模块4. 数据结构设计建立职工信息结构体,结构体成员包括工号、姓名、性别、年龄、学历、工资、住址和电话。Struct employeechar num20;/工号char name30;/姓名char sex10;/性别char age10;/年龄char xueli30;/学历char wanges10;/工资char tel15;/电话char ad
4、dr50;住址emN5算法设计1.输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的void append()函数来实现。2.浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。 3. 按职工号查询模块:可以按职工号来查询职工的相关信息,通过自己定义的void search_num()函数来实现。 8.按职工的的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的void search_xuelil函数来实现。4.退出模块:退出职工信息管理系统,通过头文件windows.h中的exit(0)函数来实现。 1. 录入模块v
5、oid append()int i,n;FILE*fp;fp=fopen("employee_list","wb");/俩一起定义fpprintf("请输入职工个数 n");scanf("%d",&n);for (i=0;i<n;i+) printf("请输入职工号: ");scanf("%d",&emi.num);printf("请输入姓名: ");scanf("%s",);getchar();
6、printf("请输入性别(f-女 m-男): ");scanf("%s",&emi.sex);printf("请输入年龄: ");scanf("%s",&emi.age);printf("请输入学历: ");scanf("%s",emi.xueli);printf("请输入工资: ");scanf("%s",&emi.wanges);printf("请输入住址: ");scanf("
7、;%s",emi.addr);printf("请输入电话: ");scanf("%s",emi.tel);printf("n"); save(n);2.浏览模块void display() int i;int m=load(); printf(" 职工号t姓名tt性别tt年龄n");printf(" 学历tt工资tt住址tt电话n");for(i=0;i<m;i+)printf("%dt",emi.num);printf("%st",emi
8、.name);printf("%st",emi.sex);printf("%st",emi.age);printf("%st",emi.xueli);printf("%st",emi.wanges);printf("%st",emi.addr);printf("%st",emi.tel);printf("n");2. 查询模块void search()int a;printf("n按职工号查询请按1n按学历查询请按2n返回主菜单请按3n"
9、;);scanf("%d",&a); switch(a) case 1:printf("按职工号查询n");search_num();break; case 2:printf("按学历查询n");search_xueli();break; case 3:main();break; default: printf("您输入有误,请重新选择!n"); break; (1)按工号查询void search_num()int num,i,t; int m=load(); /使m=文件输入的个数printf(&quo
10、t;请输入要查找的职工号:n"); scanf("%d",&num); for(i=0;i<m;i+) if(num=emi.num) printf("n已找到此人,其记录为:n"); printf(" 职工号t姓名tt性别tt年龄n");printf(" 学历tt工资tt住址tt电话n"); printf("%dt",emi.num);printf("%st",);printf("%st",emi.sex);pri
11、ntf("%st",emi.age);printf("%st",emi.xueli);printf("%st",emi.wanges);printf("%st",emi.addr);printf("%st",emi.tel);printf("n");break; if(i=m) /因为i=0,i=m就超了printf("n对不起,查无此人n"); printf("n"); printf("返回查询函数请按1,继续查询职工号请按
12、2n"); scanf("%d",&t); switch(t) case 1:search();break; case 2:search_num(); break; default:break; (2)按学历查找void search_xueli() char xueli30;int i,t; int m=load(); printf("请输入要查找的学历:n"); scanf("%s",xueli);for(i=0;i<m;i+) if(strcmp(emi.xueli,xueli)=0) printf(&q
13、uot;n已找到,其记录为:n"); printf(" 职工号t姓名tt性别tt年龄n");printf(" 学历tt工资tt住址tt电话n");printf("%dt",emi.num);printf("%st",);printf("%st",emi.sex);printf("%st",emi.age);printf("%st",emi.xueli);printf("%st",emi.wanges);prin
14、tf("%st",emi.addr);printf("%st",emi.tel);printf("n");if(i=m) printf("n对不起,查无此人n"); printf("n"); printf("返回查询函数请按1,继续查询学历请按2n"); scanf("%d",&t); switch(t) case 1:search();break; case 2:search_xueli();break; default :break; 6程序代
15、码#include <stdio.h>#include <stdlib.h>/包括exit(0),无需定义#include <string.h>#include <conio.h>#define N 100/可以随便改人数void append(); /录入void display(); /浏览void search(); /查询void search_num(); /工号void search_xueli();/学历void save(int); /声明一个形参 struct employee/定义结构体数组 全局变量int num;/在sea
16、rch_num for的if中不行char name30;/省事char sex10;char age10;char xueli30;char wanges10;char tel15;char addr50;emN;void main() int n;n=1;while(n)/用一个循环使之能够返回printf("*职工信息管理系统*n");printf("1.录入职工信息n");printf("2.浏览职工信息n");printf("3.查询职工信息n");printf("4.退出n");pr
17、intf("请按功能序号:n");scanf("%d",&n);switch(n)case 1:append();break;case 2:display();break;case 3:search();break;case 4:exit(0);n=0;break ;default:printf("输入错误指令n");printf("n按任意键继续n");getch();void append()int i,n;FILE*fp;fp=fopen("employee_list","
18、;wb");/俩一起定义fpprintf("请输入职工个数 n");scanf("%d",&n);for (i=0;i<n;i+) printf("请输入职工号: ");scanf("%d",&emi.num);printf("请输入姓名: ");scanf("%s",);getchar(); printf("请输入性别(f-女 m-男): ");scanf("%s",&emi.s
19、ex);printf("请输入年龄: ");scanf("%s",&emi.age);printf("请输入学历: ");scanf("%s",emi.xueli);printf("请输入工资: ");scanf("%s",&emi.wanges);printf("请输入住址: ");scanf("%s",emi.addr);printf("请输入电话: ");scanf("%s"
20、,emi.tel);printf("n"); save(n);void save(int n)/save函数save了多少个FILE*fp;int i;if(fp=fopen("employee_list","wb")=NULL) /能否以写的形式打开,wb2进制 printf ("cannot open filen");exit(0); for(i=0;i<n;i+)if(fwrite(&emi,sizeof(struct employee),1,fp)!=1)/printf("file
21、write errorn");fclose(fp); int load()/数出录入的个数 FILE*fp; int i; if(fp=fopen("employee_list","rb")=NULL) printf ("cannot open filen"); exit(0); for(i=0;!feof(fp);i+)/feof检查文件是否结束,结束时返回非零值 fread(&emi,sizeof(struct employee),1,fp);/以二进制向文件读写数据,地址,字节,读多少个数据,文件指针fclos
22、e(fp);return(i); void display() int i;int m=load(); printf(" 职工号t姓名tt性别tt年龄n");printf(" 学历tt工资tt住址tt电话n");for(i=0;i<m;i+)printf("%dt",emi.num);printf("%st",);printf("%st",emi.sex);printf("%st",emi.age);printf("%st",emi.
23、xueli);printf("%st",emi.wanges);printf("%st",emi.addr);printf("%st",emi.tel);printf("n");void search()int a;printf("n按职工号查询请按1n按学历查询请按2n返回主菜单请按3n");scanf("%d",&a); switch(a) case 1:printf("按职工号查询n");search_num();break; case 2:
24、printf("按学历查询n");search_xueli();break; case 3:main();break; default: printf("您输入有误,请重新选择!n"); break; void search_num()int num,i,t; int m=load(); /使m=文件输入的个数printf("请输入要查找的职工号:n"); scanf("%d",&num); for(i=0;i<m;i+) if(num=emi.num) printf("n已找到此人,其记录
25、为:n"); printf(" 职工号t姓名tt性别tt年龄n");printf(" 学历tt工资tt住址tt电话n"); printf("%dt",emi.num);printf("%st",);printf("%st",emi.sex);printf("%st",emi.age);printf("%st",emi.xueli);printf("%st",emi.wanges);printf("%s
26、t",emi.addr);printf("%st",emi.tel);printf("n");break; if(i=m) /因为i=0,i=m就超了printf("n对不起,查无此人n"); printf("n"); printf("返回查询函数请按1,继续查询职工号请按2n"); scanf("%d",&t); switch(t) case 1:search();break; case 2:search_num(); break; default:bre
27、ak; void search_xueli() char xueli30;int i,t; int m=load(); printf("请输入要查找的学历:n"); scanf("%s",xueli);for(i=0;i<m;i+) if(strcmp(emi.xueli,xueli)=0) printf("n已找到,其记录为:n"); printf(" 职工号t姓名tt性别tt年龄n");printf(" 学历tt工资tt住址tt电话n");printf("%dt",
28、emi.num);printf("%st",);printf("%st",emi.sex);printf("%st",emi.age);printf("%st",emi.xueli);printf("%st",emi.wanges);printf("%st",emi.addr);printf("%st",emi.tel);printf("n");if(i=m) printf("n对不起,查无此人n"); printf("n"); printf("返回查询函数请按1,继续查询学历请按2n"); scanf("%d",&t); switch(t) case 1:search();break; case 2:search_xueli();break; default :break; 7程序运行结果1.运行程序菜单模块初始化,如图1. 按1进入职工信息录入模块,输入职工信息工号007,姓名007,性别M,年龄30,学历zhongguodizhidaxue,工资9999,住址beiqu21d电话如图2. 在输入完N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药库设备维护管理制度
- 药店奖罚规章管理制度
- 药店设备投放管理制度
- 营林防火安全管理制度
- 设备公司营销管理制度
- 设备安全细节管理制度
- 设备现场施工管理制度
- 设施权属清册管理制度
- 设计单位员工管理制度
- 诈骗公司经营管理制度
- 中医药与老年病科课件
- 2025春季学期国开电大本科《人文英语4》一平台机考真题及答案(第三套)
- 国家开放大学《人文英语4 》期末机考题库
- 2024年河北特岗教师计划招聘真题
- 道教考试试题及答案
- 2025年全国I卷作文讲评
- 车位租赁备案合同
- 2024年中考二模 模拟卷 数学(江西卷)(参考答案及评分标准)
- 综合办公室考试题及答案
- 2025年中考押题预测卷:生物(福建卷01)(考试版)
- 劳务费合同协议书
评论
0/150
提交评论