课程设计--公职管理系统.doc_第1页
课程设计--公职管理系统.doc_第2页
课程设计--公职管理系统.doc_第3页
课程设计--公职管理系统.doc_第4页
课程设计--公职管理系统.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#include#includestruct zggz char num14; /*职工编号*/ char name50; /*职工姓名*/ float jbgz50; /*基本工资*/ float jt10; /*津贴*/ float ylbx; /*医疗保险*/ float zwgz; /*职务工资*/ float gjj; /*公积金*/ float zgz; /*总工资*/ int visible;struct result int flag; int position; struct zggz zggz; struct zggz zgz; FILE *fp; char table20; int index=0;/*-*/*-*/ void fscan() float temp; fscanf(fp,%s%s%f%f%f%f%f%f%fn,&zggz.num,,zggz.jbgz,&zggz.jt,&temp,&zggz.zwgz,&zggz.gjj,&zggz.zgz,&zggz.visible); zggz.ylbx=temp;void fprint() fprintf(fp,%-7s%-10s%-10f%-7f%-8.1f%-6f%-6f%-6f%4fn,zggz.num,,zggz.jbgz,zggz.jt,zggz.ylbx,zggz.zwgz,zggz.gjj,zggz.zgz,zggz.visible);void scan(int i) float temp; if(i=1|i=7) printf(请输入ID号:); scanf(%s,&zggz.num); if(i=2|i=7) printf(请输入职工姓名:); scanf(%s,&); if(i=3|i=7) printf(请输入基本工资名:); scanf(%s,&zggz.jbgz); if(i=4|i=7) printf(请输入津贴:); scanf(%s,&zggz.jt); if(i=5|i=7) printf(请输入书籍医疗保险:); scanf(%f,&temp); zggz.ylbx=temp; if(i=6|i=7) printf(请输入库内存储数量:); scanf(%d,&zggz.zwgz); printf(请输入公积金数量:); scanf(%d,&zggz.gjj); printf(请输入总共本数:); scanf(%d,&zggz.zgz); zggz.visible=1;void print() printf( %-7s|%-10s|%-10s|%-7s|%-8.1f|%-6d|%-6d|%-6dn,zggz.num,,zggz.jbgz,zggz.jt,zggz.ylbx,zggz.zwgz,zggz.gjj,zggz.zgz); printf(|-|-|-|-|-|-|-|-|n);void title() printf(-n); printf( ID号 姓名 基本工资 津贴 医疗保险 职务工资 公积金 总工资n); printf(|-|-|-|-|-|-|-|-|n);void head() cleardevice(); clrscr(); printf(16-550|3020,20=30(2)9 菜单); printf(16-550|10016,16=30(6)9a 输入); printf(16-550|12016,16=30(6)9b 显示); printf(16-550|14016,16=30(6)9c 修改); printf(16-550|16016,16=30(6)9d 查找); printf(16-550|18016,16=30(6)9e 删除); printf(16-550|20016,16=30(6)9f 恢复); printf(16-550|22016,16=30(6)9g 添加); printf(16-550|24016,16=30(6)9h 统计); printf(16-550|26016,16=30(6)9i 保存); printf(16-550|28016,16=30(6)9j 打开); printf(16-550|30016,16=30(6)9k 退出);void tottitle() printf(各项统计%39.1f|%-6d|%-6d|%-6dn,zgz.ylbx,zgz.zwgz,zgz.gjj,zgz.zgz); printf(-n);void clearzgz() zgz.ylbx=0; zgz.zwgz=0; zgz.gjj=0; zgz.zgz=0;/*-*/*-*/void input();void output();void modify();void search();void del();void backdel();void add();void gettot(); /*统计图书数量及金额*/void all(); /*统计函数*/void save();void openfile();void quit();void changeto() char i=0; for( ; ;) /*循环执行功能菜单*/ head(); clearzgz(); printf(16-400|40032,32=11(4)9请选择a至j); i=getch(); if(i=k) quit(); else switch(i) casea: input();break;/*调用记录输入函数*/ caseb: output();break;/*调用记录显示函数*/ casec: modify();break;/*调用记录修改函数*/ cased: search();break;/*调用记录查找函数*/ casee: del();break;/*调用记录删除函数*/ casef: backdel();break;/*调用记录恢复函数*/ caseg: add();break;/*调用记录添加函数*/ caseh: all();break;/*调用记录统计函数*/ casei: save();break;/*调用数据保存函数*/ casej: openfile();break;/*调用数据文件打开函数*/ void main() int drive=DETECT,mode; registerbgidriver(EGAVGA_driver); initgraph(&drive,&mode, ); cleardevice(); setbkcolor(9); textcolor(RED); printf(16co4st8e320,170,0,360,300,70,2,4); printf(16-10|2048,24=2(14)9中南大学); printf(16-90|14055,55=11(13)9职工工资管理系统); printf(16-246|28020,20=8(12)9设计者: 电气信息1019 涂睿 ); printf(16-250|36020,20=8(4)9请按Enter键进入); getch(); setbkcolor(15); strcpy(table,temp.txt); changeto();/*-*/*-*/void indexup()/*下一页*/ index+;void indexdown()/*上一页*/ if(index=1) index-; else printf(已经是第一页!);void input() char ch=0; head(); printf(16-400|40032,32=11(4)9输入功能); printf(nnn 本功能将清空表内原有内容,重新输入。n 若只要添加信息,请用【添加】功能,确认继续?(输入Y或N); while(1) scanf(%c,&ch); if(ch=Y|ch=y|ch=n|ch=N) break; else printf(n请输入”Y“或”N“!n); if(ch=Y|ch=y) if(fp=fopen(table,w)=NULL) printf(can not open this filen); getch(); else add(); fclose(fp);void output() int i=0; char ch; head(); clearzgz(); printf(16-400|40032,32=11(4)9显示全部); if(fp=fopen(table,r)=NULL) printf(无法打开文件n); else printf(nnn); title(); while(!feof(fp) fscan(); if(zggz.visible!=0)/*判断是否被删除*/ i+; if(i=(1+index*7)&i(8+7*index) print(); gettot(); tottitle(); fclose(fp); printf(1上一页,2下一页,其他键退出t现在是第%d页,index+1); ch=getch(); if(ch=1) indexdown(); output(); else if(ch=2) indexup(); output(); struct result find(int type) /*1.modify,2.search,3.del,4.backdel*/ char temp20,temp250,ch;/*temp是原值,temp2是关键字,搜索时候比较temp和temp2*/ char i; struct result res; res.flag=0; res.position=0; printf(nnn您希望以什么作为关键字,搜索需要操作的书籍?n1ID号,2职工姓名,3基本工资,4津贴(请输入1到4):); while(1) scanf(%c,&i); if(i=1|i=2|i=3|i=4) break; else printf(请正确输入1到4:); if(fp=fopen(table,r)=NULL) printf(can not open this filen); exit(0); printf(关键字:); scanf(%s,temp2); printf(n查询到的信息n); title(); while(!feof(fp) res.position=ftell(fp);/*获取当前位置*/ fscan(); if(i=1) strcpy(temp,zggz.num); else if(i=2) strcpy(temp,); else if(i=3) strcpy(temp,zggz.jbgz); else if(i=4) strcpy(temp,zggz.jt); if(!strcmp(temp,temp2)&zggz.visible!=0) res.flag=1; print(); gettot(); if(type!=2) break; tottitle(); if(res.flag=0) printf(nn查找不到需要的信息); fclose(fp); return res;void modify() struct result res; int i=0;/*j做实参,觉定修改什么*/ head(); printf(16-400|40032,32=11(4)9更新内容); res=find(1); if(fp=fopen(table,r+)=NULL) printf(can not open this filen); exit(0); if(res.flag!=0) printf(n您希望更新什么?n1 ID号,2 职工姓名,3 基本工资,4 津贴,5津贴,6职务工资情况,7所有信息,0退出?n输入0到7:); scanf(%d,&i); if(i=0) changeto(); scan(i); fseek(fp,res.position,0);/*转到这一行的起始位置*/ fprint(); title(); print(); printf(ttt按任意键继续); getch(); fclose(fp);void search() find(2); getch();void del() struct result res; char ch; head(); printf(16-400|40032,32=11(4)9删除); res=find(3); if(fp=fopen(table,r+)=NULL) printf(can not open this filen); exit(0); if(res.flag!=0) printf(确定要删除吗?(输入(Y/N)):); scanf(%c,&ch); while(1) scanf(%c,&ch); if(ch!=Y&ch!=y&ch!=n&ch!=N) printf(n请输入Y或N!:); else break; if(ch=Y|ch=y) zggz.visible=0; fseek(fp,res.position,0);/*转到这一行的起始位置*/ fprint(); printf(删除成功!); else printf(删除取消。); printf(ttt按任意键继续); getch(); fclose(fp);void backdel() struct result res; char ch; head(); printf(16-400|40032,32=11(4)9恢复); if(fp=fopen(table,r)=NULL) printf(无法打开文件n); else printf(n 以下是已经删除的数据:n); title(); while(!feof(fp) fscan(); if(zggz.visible!=1)/*判断是否被删除*/ print(); fclose(fp); printf(-n); res=find(4); if(res.flag=1) printf(确定要恢复吗?(输入(Y/N)):); while(1) scanf(%c,&ch); if(ch!=Y&ch!=y&ch!=n&ch!=N) printf(n请输入Y或N!:); else break; if(ch=Y|ch=y) zggz.visible=1; fseek(fp,res.position,0);/*转到这一行的起始位置*/ fprint(); printf(恢复成功!); else printf(操作取消。); printf(ttt按任意键继续); getch(); fclose(fp); void add() char ch; if(fp=fopen(table,a)=NULL) printf(can not open this filen); exit(0); while(1) head(); printf(16-400|40032,32=11(4)9添加记录); scan(7); fprint(); title(); print(); printf(继续输入或是退出?(C/E); getchar(); scanf(%c,&ch); while(1) scanf(%c,&ch); if(ch=C|ch=e|ch=E|ch=c) break; else printf(n请正确输入C或E); if(ch=E|ch=e) break; fclose(fp);void gettot()/*统计功能*/ zgz.ylbx+=zggz.ylbx; zgz.zwgz+=zggz.zwgz; zgz.gjj+=zggz.gjj; zgz.zgz+=zggz.zgz;void all() int i=0,flag=0; head(); printf(16-400|40032,32=11(4)9统计); if(fp=fopen(table,r)!=NULL) flag=1; while(!feof(fp) fscan(); if(zggz.visible!=0)/*判断是否被删除*/ gettot(); i+; printf(nn总计: 本库共有%d种图书n合计%d本,共计%6.1f元,现职务工资%d本,公积金%d本,i,zgz.zgz,zgz.ylbx,zgz.zwgz,zgz.gjj); getch(); fclose(fp); if(flag=1) fp=fopen(table,r); head(); printf(16-400|40032,32=11(4)9统计); printf(nn以下书籍为2000年以后出版:n); i=0; clearzgz(); while(!feof(fp) fscan(); if(zggz.jt0=2&zggz.visible!=0) print(); gettot(); i+; printf(nn总计: 共有%d种图书n合计%d本,共计%6.1f元,现职务工资%d本,公积金%d本,i,zgz.zgz,zgz.ylbx,zgz.zwgz,zgz.gjj); getch(); fclose(fp);/*-*/ head(); fp=fopen(table,r); printf(16-400|40032,32=11(4)9统计); printf(nn以下书籍为2000年以前出版:n); i=0; clearzgz(); while(!feof(fp) fscan(); if(zggz.jt0=1&zggz.visible!=0) print(); gettot(); i+; printf(nn总计: 共有%d种图书

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论