《最新C语言-课程设计-教师工资管理系统(职工工资管理系统).doc》由会员分享,可在线阅读,更多相关《最新C语言-课程设计-教师工资管理系统(职工工资管理系统).doc(132页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言-课程设计-教师工资管理系统(职工工资管理系统)课程设计 教师工资管理系统课程设计 教师工资管理系统运行平台:VC6.0(其他平台未经测试,不一定保证有效)制作者:弓箭 中南大学 信息科学与工程学院源代码如下:#include #include #include #include #define LEN sizeof(struct teacher)struct
2、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
3、 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
4、=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-workpl
5、ace);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);prin
6、tf( 请输入水电费:);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_jin
7、tie+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);print
8、f( * 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(-要插入的信息
9、如下:-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-co
10、st_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=
11、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
12、;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);p
13、1=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(电话费 水电费 房租 个人所
14、得税 卫生费 公积金 合计扣款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-d
15、e_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;p
16、1-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-
17、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
18、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( 请输入家庭住址:)
19、;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)
20、;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_shenghuobuti
21、e;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);/*修改函数*
22、/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(
23、请选择修改方式:);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-workpl