教师工资管理系统_第1页
教师工资管理系统_第2页
教师工资管理系统_第3页
教师工资管理系统_第4页
教师工资管理系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、#include#include#include#include#define n 100struct teacher int num; /id号 char name20;/姓名 int lxdh;/ 联系电话 int jbgz; /基本工资 int shbt; /生活补贴 int jt; / /津贴 int dhf; /电话费 int shdf; / 水电费 int fz; /房租 int gjj; /公积金 int suo; /所得税 int yfgz; / 应发工资 int hjkk; /合计扣款 int total; /总工资ee100; void menu();void input(

2、);void save(int);void display();void del();void zengjia();void chaxun();void xiugai(); void start(); /*定义各函数*/void main()/主函数int n,t; char a; start();getch(); menu(); do printf(功能选择(1-8):n); scanf(%d,&n); if(n=1&n 1 输入教师信息 nn);printf( 2 显示教师信息 nn);printf( 3 查找教师信息 nn);printf( 4 删除教师信息 nn);printf( 5

3、添加教师信息 nn);printf( 6 修改教师信息 nn);printf( 7 退出 nn);void input() /*录入函数*/ int i,m; system(cls); printf(职工人数(1-100):n); scanf(%d,&m); for (i=0;im;i+) printf(请输入职工号: ); scanf(%d,&eei.num); printf(请输入姓名: ); scanf(%s,&); getchar(); printf(请输入联系电话: ); scanf(%d,&eei.lxdh); printf(请输入基本工资: ); scanf(%d

4、,&eei.jbgz); printf(请输入补贴: ); scanf(%d,&eei.shbt);printf(请输入津贴: ); scanf(%d,&eei.jt); printf(请输入电话费: ); scanf(%d,&eei.dhf); printf(请输入水电费: ); scanf(%d,&eei.shdf); printf(请输入所得税: ); scanf(%d,&eei.suo); printf(请输入房租: ); scanf(%d,&eei.fz);printf(请输入公积金: ); scanf(%d,&eei.gjj);eei.yfgz=(eei.jbgz)+(eei.sh

5、bt)+(eei.jt);eei.hjkk=(eei.dhf)+(eei.shdf)+(eei.gjj)+(eei.suo)+(eei.fz); eei.total=(eei.yfgz)-(eei.hjkk);/计算总工资 printf(n);/计算总工资 printf(n创建完毕!n); save(m);/保存职工人数mvoid save(int m) /*保存文件函数*/ int i; file*fp; /声明fp是指针,用来指向file类型的对象 if (fp=fopen(teacher_list,wb)=null) /打开职工列表文件为空 printf (打开失败n); exit(0)

6、; for (i=0;im;i+) /*将内存中职工的信息输出到磁盘文件中去*/ fwrite(&eei,sizeof(struct teacher),1,fp);/写入数据块 &eei:是要输出数据的地址 sizeof(struct teacher):获取一个单体的长度 1:数据项的个数 fp:目标文件指针 fclose(fp);/ 缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区int load() /*导入函数 int型*/ file*fp; int i=0; if(fp=fopen(teacher_list,rb)=null) printf (cannot open

7、 filen); exit(0); else do fread(&eei,sizeof(struct teacher),1,fp); /读取 i+; while(feof(fp)=0); /检测流上的文件结束符 fclose(fp); return(i-1);/返回人数void display() /*浏览函数*/ int i,sum=0; int m=load(); system(cls); printf(职工号 姓名 基本工资 补贴 津贴 电话费 水电费 房租 公积金 所得税 应发工资 合计扣款 总工资 n); for(i=0;im;i+) /*m为输入部分的职工人数*/ printf(n

8、 %d%5s %5d %5d %5d %5d %5d %5d %5d %5d %5d %8d %10d ,eei.num,,eei.jbgz,eei.shbt,eei.jt,eei.dhf,eei.shdf,eei.fz,eei.gjj,eei.suo,eei.yfgz,eei.hjkk,eei.total); sum+=eei.total;/计算员工总工资之和 printf(nn职工平均工资为:%d n,sum/m);void del() /*删除函数 */ int m=load(); int i,j,n,t,button; char name20; printf(n 原来的

9、职工信息:n); display(); /显示删除前的员工信息 printf(n); printf(按姓名删除:n); scanf(%s,name); for(button=1,i=0;button&im;i+)/主函数中确定button=1时各函数才可以被调用 if(strcmp(,name)=0)/按员工姓名查找到某员工 并调出其资料 printf(n此人原始记录为:n);/显示选定员工的信息 printf(职工号 姓名 基本工资 补贴 津贴 电话费 水电费 房租 公积金 所得税 应发工资 合计扣款 总工资 n); printf(n %d%5s %5d %5d %5d %5

10、d %5d %5d %5d %5d %5d %8d %10d ,eei.num,,eei.jbgz,eei.shbt,eei.jt,eei.dhf,eei.shdf,eei.fz,eei.gjj,eei.suo,eei.yfgz,eei.hjkk,eei.total); printf(n确定删除 请按1,不删除请按0n); scanf(%d,&n); if(n=1) for(j=i;jm-1;j+)/从第i项开始 将后一项的各成员的值赋给前一项各对应的成员 完成对第i项的删除 strcpy(,eej+1.name); eej.num=eej+1.num; eej

11、.jbgz=eej+1.jbgz; eej.shbt=eej+1.shbt; eej.jt=eej+1.jt;eei.dhf=eei+1.dhf; eej.fz=eej+1.fz; eej.gjj=eej+1.gjj;eej.suo=eej+1.suo; eej.yfgz=eej+1.yfgz;eej.hjkk=eej+1.hjkk; eej.total=eej+1.total; button=0; if(!button)/button=0表明删除已完成 m=m-1;/总员工数减少一人 else printf(n查无此人!n); printf(n 删除后的所有职工信息:n); save(m);

12、 /调用保存函数 display(); /调用浏览函数 printf(n);printf(按任意键返回); getch(); menu(); void zengjia()/*添加函数*/ file*fp; int n; int count=0; int i; int m=load(); printf(n 原来的职工信息:n); display(); printf(n); fp=fopen(eeploee_list,a); printf(请输入想增加的职工数:n);/确定要加入的职工数n scanf(%d,&n); for (i=m;i(m+n);i+)/添加n名员工的信息 printf(n 请

13、输入新增加职工的信息:n); printf(请输入职工号: ); scanf(%d,&eei.num); printf(n); printf(请输入职工号: ); scanf(%d,&eei.num); printf(请输入姓名: ); scanf(%s,&); getchar(); printf(请输入联系电话: ); scanf(%d,&eei.lxdh); printf(请输入基本工资: ); scanf(%d,&eei.jbgz); printf(请输入补贴: ); scanf(%d,&eei.shbt);printf(请输入津贴: ); scanf(%d,&eei.j

14、t); printf(请输入电话费: ); scanf(%d,&eei.dhf); printf(请输入水电费: ); scanf(%d,&eei.shdf); printf(请输入所得税: ); scanf(%d,&eei.suo); printf(请输入房租: ); scanf(%d,&eei.fz); printf(请输入公积金: ); scanf(%d,&eei.gjj);eei.yfgz=(eei.jbgz)+(eei.shbt)+(eei.jt);eei.hjkk=(eei.dhf)+(eei.shdf)+(eei.gjj)+(eei.suo)+(eei.fz); eei.tota

15、l=(eei.yfgz)-(eei.hjkk);/计算总工资 printf(n);/计算总工资 printf(n); count=count+1; printf(已增加的人数:n); printf(%dn,count); printf(n添加成功n); m=m+count;/将新添加员工的人数加到总员工人数中 printf(n增加后的所有职工信息:n); printf(n); save(m); display();/显示添加后的信息 fclose(fp);void chaxun() char name30; int i,t; int m=load();system(cls);/清屏 print

16、f(请输入姓名:n); scanf(%s,name); for(i=0;im;i+) if(strcmp(,name)=0) printf(职工号 姓名 基本工资 补贴 津贴 电话费 水电费 房租 公积金 所得税 应发工资 合计扣款 总工资 n); printf(n %d%5s %5d %5d %5d %5d %5d %5d %5d %5d %5d %8d %10d ,eei.num,,eei.jbgz,eei.shbt,eei.jt,eei.dhf,eei.shdf,eei.fz,eei.gjj,eei.suo,eei.yfgz,eei.hjkk,eei.to

17、tal); if(i=m) printf(nn); printf(n); printf(返回查询菜单请按1,继续查询姓名请按2n); scanf(%d,&t); switch(t) case 1:menu();break; case 2:chaxun();break; void xiugai() /*修改函数*/ int num; /id号 char name20;/姓名 int lxdh;/ 联系电话 int jbgz; /基本工资 int shbt; /生活补贴 int jt; / /津贴 int dhf; /电话费 int shdf; / 水电费 int fz; /房租 int gjj;

18、 /公积金 int suo; /所得税 int yfgz; / 应发工资 int hjkk; /合计扣款 int total; /总工资 int b,c,i,n,t,button; int m=load(); system(cls); printf(n 原来的职工信息:n); display(); printf(n); printf(请输入要修改的职工的姓名:n); scanf(%s,name); for(button=1,i=0;button&i11|c1) printf(n选择错误,请重新选择!n); button=0; if(button=1) printf(n查无此人n); do sw

19、itch(c) /*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/ case 1:printf(职工号改为: ); scanf(%d,&num); eei-1.num=num; break; case 2:printf(姓名改为: ); scanf(%s,name); strcpy(,name); break; case 3:printf(基本工资改为: ); getchar(); scanf(%d,&jbgz); eei-1.jbgz=jbgz; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(

20、eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); break; case 4:printf(补贴改为: ); scanf(%d,&shbt); eei-1.shbt=shbt; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-

21、1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); break; case 5:printf(津贴改为: ); scanf(%d,&jt); eei-1.jt=jt; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); break;case 6:printf(电话费改为: ); scanf(

22、%d,&dhf); eei-1.dhf=dhf; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk);case 7:printf(水电费改为: );eei-1.shdf=shdf;eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); case 8:printf(房租改为: ); scanf(%d,&fz); eei-1.fz=fz; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-

温馨提示

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

评论

0/150

提交评论