C语言-课程设计-教师工资管理系统(职工工资管理系统).doc_第1页
C语言-课程设计-教师工资管理系统(职工工资管理系统).doc_第2页
C语言-课程设计-教师工资管理系统(职工工资管理系统).doc_第3页
C语言-课程设计-教师工资管理系统(职工工资管理系统).doc_第4页
C语言-课程设计-教师工资管理系统(职工工资管理系统).doc_第5页
免费预览已结束,剩余19页可下载查看

下载本文档

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

文档简介

课程设计 教师工资管理系统运行平台:VC6.0(其他平台未经测试,不一定保证有效)制作者:弓箭 中南大学 信息科学与工程学院源代码如下:#include #include #include #include #define LEN sizeof(struct teacher)struct teacher int num;char name20;char sex20;char workplace50;char address50;long phone;double de_salary;double de_jintie;double de_shenghuobutie;double yingfa_salary;double cost_phone;double cost_water_elec;double cost_rent;double cost_tax;double cost_weisheng;double cost_gongjijin;double cost_all;double shifa_salary;struct teacher *next;/*读取函数*/struct teacher *load()struct teacher *p1,*p2,*head;FILE *fp;int i=1;if(fp=fopen(save,rb)=NULL)printf( 文件不存在!按下任意键返回主菜单.);getch();return (NULL);elsehead=NULL;p1=(struct teacher *)malloc(LEN);while (fread(p1,LEN-4,1,fp)=1)if(i=1)head=p1;p2=p1;i=2;else p2-next=p1;p2=p2-next;p1=(struct teacher *)malloc(LEN);p2-next=NULL;free(p1);fclose(fp);return(head);/*欢迎菜单函数*/void welcome()printf(nnn 欢迎使用教师工资管理系统Beta1.2版权所有 侵权必究ILLEGAL COPY BANNED欢迎使用教师工资管理系统Beta1.2num=atoi(num);printf( 请输入姓名:);gets(px-name);printf( 请输入性别:);gets(px-sex);printf( 请输入单位名称:);gets(px-workplace);printf( 请输入家庭住址:);gets(px-address);printf( 请输入联系电话:);gets(num);px-phone=atoi(num);printf( 请输入基本工资:);gets(num);px-de_salary=atof(num);printf( 请输入津贴:);gets(num);px-de_jintie=atof(num);printf( 请输入生活补贴:);gets(num);px-de_shenghuobutie=atof(num);printf( 请输入电话费:);gets(num);px-cost_phone=atof(num);printf( 请输入水电费:);gets(num);px-cost_water_elec=atof(num);printf( 请输入房租:);gets(num);px-cost_rent=atof(num);printf( 请输入个人所得税:);gets(num);px-cost_tax=atof(num);printf( 请输入卫生费:);gets(num);px-cost_weisheng=atof(num);printf( 请输入公积金:);gets(num);px-cost_gongjijin=atof(num);px-yingfa_salary=px-de_salary+px-de_jintie+px-de_shenghuobutie;px-cost_all=px-cost_phone+px-cost_water_elec+px-cost_rent+px-cost_tax+px-cost_weisheng+px-cost_gongjijin;px-shifa_salary=px-yingfa_salary-px-cost_all;printf( 数据输入完毕,按下任意键继续.);getch();system(cls);printf(nnn 插入教师信息 n);printf( *n);printf( * 1.输入教师号 *n);printf( * 2.输入姓名 *n);printf( * 3.返回上级菜单 *n);printf( *n);printf( 请选择插入方式:);scanf(%d,&i);getchar();while (i3)printf( 输入有误!请重新输入:);scanf(%d,&i);getchar();switch(i)case 1:printf( 请输入要插入在哪条数据后面:);scanf(%d,&t);getchar();p1=head;while (p1-num!=t)if (p1-next!=NULL)p1=p1-next;else printf( 查找不到相关数据!n);break;if (p1-num=t)printf(-要插入的信息如下:-n);printf(教工号 姓名 性别 单位名称 家庭住址 联系电话n);printf( %-4d %-13s %s %-19s %-19s%-14ldn,px-num,px-name,px-sex,px-workplace,px-address,px-phone);printf(电话费 水电费 房租 个人所得税 卫生费 公积金 合计扣款n);printf( %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lfn,px-cost_phone,px-cost_water_elec,px-cost_rent,px-cost_tax,px-cost_weisheng,px-cost_gongjijin,px-cost_all);printf(基本工资 津贴 生活补贴 应发工资 实发工资n);printf( %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn,px-de_salary,px-de_jintie,px-de_shenghuobutie,px-yingfa_salary,px-shifa_salary);printf(-n);printf( 确定插入吗?(y或n):);scanf(%c,&k);getchar();if (k=y|k=Y)if (p1-num=t)if(p1=head)/*如果插入点为头指针*/p3=p1-next;p1-next=px;px-next=p3;p2=head;else if(p1-next=NULL)/*如果插入点为末尾指针*/p3=p1;p1=head;p2=head;while(p1-next!=p3)p1=p1-next;p1=p1-next;p1-next=px;px-next=NULL;else/*如果插入点为中间指针*/p3=p1;p1=head;p2=head;while(p1-next!=p3)p1=p1-next;p1=p1-next;p3=p1-next;px-next=p3;p1-next=px;if(fp=fopen(save,wb)=NULL)printf( 文件不存在!按下任意键返回主菜单.);getch();elsedofwrite(p2,LEN-4,1,fp);if(p2-next!=NULL)p2=p2-next;while(p2-next!=NULL);if(p2!=head)fwrite(p2,LEN-4,1,fp);fclose(fp);printf( 插入成功!按下任意键继续.);getch();else printf( 插入已被取消!按下任意键继续.);getch();break;case 2:printf( 请输入要插入的教师姓名:);gets(name);p1=head;while (strcmp(p1-name),name)!=0)if (p1-next!=NULL)p1=p1-next;else printf( 查找不到相关数据!n);break;if (strcmp(p1-name),name)=0)printf(-要插入的信息如下:-n);printf(教工号 姓名 性别 单位名称 家庭住址 联系电话n);printf( %-4d %-13s %s %-19s %-19s%-14ldn,p1-num,p1-name,p1-sex,p1-workplace,p1-address,p1-phone);printf(电话费 水电费 房租 个人所得税 卫生费 公积金 合计扣款n);printf( %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lf n,p1-cost_phone,p1-cost_water_elec,p1-cost_rent,p1-cost_tax,p1-cost_weisheng,p1-cost_gongjijin,p1-cost_all);printf(基本工资 津贴 生活补贴 应发工资 实发工资n);printf( %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn,p1-de_salary,p1-de_jintie,p1-de_shenghuobutie,p1-yingfa_salary,p1-shifa_salary);printf(-n);printf( 确定插入吗?(y或n):);scanf(%c,&k);getchar();if (k=y|k=Y)if (strcmp(p1-name),name)=0)if(p1=head)/*如果插入点为头指针*/p1-next=px;p2=head;else if(p1-next=NULL)/*如果插入点为末尾指针*/p3=p1;p1=head;p2=head;while(p1-next!=p3)p1=p1-next;p1=p1-next;p1-next=px;px-next=NULL;else/*如果插入点为中间指针*/p3=p1;p1=head;p2=head;while(p1-next!=p3)p1=p1-next;p1=p1-next;p1-next=px;p3=p3-next;px-next=p3;if(fp=fopen(save,wb)=NULL)printf( 文件不存在!按下任意键返回主菜单.);getch();elsedofwrite(p2,LEN-4,1,fp);if(p2-next!=NULL)p2=p2-next;while(p2-next!=NULL);if(p2!=head)fwrite(p2,LEN-4,1,fp);fclose(fp);printf( 插入成功!按下任意键继续.);getch();else printf( 插入已被取消!按下任意键继续.);getch();break;case 3:break;default :break;if (i!=3)printf(n 继续插入其他教师的信息吗?(y或n));scanf(%c,&n);getchar();while(n=y|n=Y)&i!=3);printf( 数据插入成功!按下任意键返回主菜单.);getch();getchar();/*输入函数*/void insert()FILE *fp;char m,num30;struct teacher *p1;p1=(struct teacher *)malloc(LEN);if(fp=fopen(save,ab)=NULL)printf( 文件不存在!按下任意键返回主菜单.);getch();elseprintf( 请输入教师信息:n);doprintf( -n);printf( 请输入教工号:);gets(num);p1-num=atoi(num);printf( 请输入姓名:);gets(p1-name);printf( 请输入性别:);gets(p1-sex);printf( 请输入单位名称:);gets(p1-workplace);printf( 请输入家庭住址:);gets(p1-address);printf( 请输入联系电话:);gets(num);p1-phone=atoi(num);printf( 请输入基本工资:);gets(num);p1-de_salary=atof(num);printf( 请输入津贴:);gets(num);p1-de_jintie=atof(num);printf( 请输入生活补贴:);gets(num);p1-de_shenghuobutie=atof(num);printf( 请输入电话费:);gets(num);p1-cost_phone=atof(num);printf( 请输入水电费:);gets(num);p1-cost_water_elec=atof(num);printf( 请输入房租:);gets(num);p1-cost_rent=atof(num);printf( 请输入个人所得税:);gets(num);p1-cost_tax=atof(num);printf( 请输入卫生费:);gets(num);p1-cost_weisheng=atof(num);printf( 请输入公积金:);gets(num);p1-cost_gongjijin=atof(num);p1-yingfa_salary=p1-de_salary+p1-de_jintie+p1-de_shenghuobutie;p1-cost_all=p1-cost_phone+p1-cost_water_elec+p1-cost_rent+p1-cost_tax+p1-cost_weisheng+p1-cost_gongjijin;p1-shifa_salary=p1-yingfa_salary-p1-cost_all;fwrite(p1,LEN-4,1,fp);printf( 输入下一个?(y或n));m=getchar();if(m!=y&m!=Y)printf( 数据保存成功!按下任意键返回主菜单.);getch();getchar();while (m=y|m=Y);fclose(fp);/*修改函数*/void modify()struct teacher *head,*p1,*p2;int i;FILE *fp;char m=n,n=n,num230;p1=head=(struct teacher *)malloc(LEN);if(head=load()!=NULL)doint num=0;char name20;p1=head;system(cls);printf(nnn 修改教师信息 n);printf( *n);printf( * 1.输入教师号 *n);printf( * 2.输入姓名 *n);printf( * 3.返回上级菜单 *n);printf( *n);printf( 请选择修改方式:);scanf(%d,&i);getchar();while (i3)printf( 输入有误!请重新输入:);scanf(%d,&i);getchar();switch(i)case 1:printf( 请输入要修改的教师号:);scanf(%d,&num);getchar();while (p1-num!=num)if (p1-next!=NULL)p1=p1-next;else printf( 查找不到相关数据!n);break;if (p1-num=num)system(cls);printf(nnn 欢迎使用教师工资管理系统Beta1.2num,p1-name,p1-sex,p1-workplace,p1-address,p1-phone);printf(电话费 水电费 房租 个人所得税 卫生费 公积金 合计扣款n);printf( %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lf %-10.1lfn,p1-cost_phone,p1-cost_water_elec,p1-cost_rent,p1-cost_tax,p1-cost_weisheng,p1-cost_gongjijin,p1-cost_all);printf(基本工资 津贴 生活补贴 应发工资 实发工资n);printf( %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn,p1-de_salary,p1-de_jintie,p1-de_shenghuobutie,p1-yingfa_salary,p1-shifa_salary);printf(-n);printf( *n);printf( * 1.教师号 2.姓名 *n);printf( * 3.性别 4.单位名称 *n);printf( * 5.家庭住址 6.联系电话 *n);printf( * 7.基本工资 8.津贴 *n);printf( * 9.生活补贴 10.电话费 *n);printf( * 11.水电费 12.房租 *n);printf( * 13.所得税 14.卫生费 *n);printf( * 15.公积金 *n);printf( *n);doprintf( 请选择要修改的数据:);scanf(%d,&i);getchar();while (i15|inum=atoi(num2);break;case 2:printf( 请输入新姓名:);gets(p1-name);break;case 3:printf( 请输入新性别:);gets(p1-sex);break;case 4:printf( 请输入新单位名称:);gets(p1-workplace);break;case 5:printf( 请输入新家庭住址:);gets(p1-address);break;case 6:printf( 请输入新联系电话:);gets(num2);p1-phone=atoi(num2);break;case 7:printf( 请输入新基本工资:);gets(num2);p1-de_salary=atof(num2);break;case 8:printf( 请输入新津贴:);gets(num2);p1-de_jintie=atof(num2);break;case 9:printf( 请输入新生活补贴:);gets(num2);p1-de_shenghuobutie=atof(num2);break;case 10:printf( 请输入新电话费:);gets(num2);p1-cost_phone=atof(num2);break;case 11:printf( 请输入新水电费:);gets(num2);p1-cost_water_elec=atof(num2);break;case 12:printf( 请输入新房租:);gets(num2);p1-cost_rent=atof(num2);break;case 13:printf( 请输入新所得税:);gets(num2);p1-cost_tax=atof(num2);break;case 14:printf( 请输入新卫生费:);gets(num2);p1-cost_weisheng=atof(num2);break;case 15:printf( 请输入新公积金:);gets(num2);p1-cost_gongjijin=atof(num2);break;default:break;p1-yingfa_salary=p1-de_salary+p1-de_jintie+p1-de_shenghuobutie;p1-cost_all=p1-cost_phone+p1-cost_water_elec+p1-cost_rent+p1-cost_tax+p1-cost_weisheng+p1-cost_gongjijin;p1-shifa_salary=p1-yingfa_salary-p1-cost_all;printf( 继续修改其他数据吗?(y或n):);scanf(%c,&m);getchar();while (m=y|m=Y);p2=head;if(fp=fopen(save,wb)=NULL)print

温馨提示

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

评论

0/150

提交评论