C语言 课程设计 教师工资管理系统(职工工资管理系统)_工资管理系统课程设计

2020-02-28 其他范文 下载本文

C语言 课程设计 教师工资管理系统(职工工资管理系统)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“工资管理系统课程设计”。

课程设计 教师工资管理系统

运行平台:VC6.0(其他平台未经测试,不一定保证有效)

制作者:弓箭 中南大学 信息科学与工程学院

源代码如下:

#include #include #include #include #define LEN sizeof(struct teacher)

struct teacher { int num;char name[20];char sex[20];char workplace[50];char addre[50];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);} else {

head=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

*******************************************************n”);printf(“

*

C语言课程设计

教师工资管理系统

*n”);

printf(“

*

班级: 电气信息类1001班

学号:0909100119

*n”);printf(“

*

姓名:弓箭

*n”);printf(“

*******************************************************n”);printf(“nn

按下任意键进入系统...”);getch();system(“cls”);} /**********************************制作人员名单*************************************/ void list(){ system(“cls”);printf(“nnn

>>>>>版权所有 侵权必究

学校(College):

中南大学 Central South University

*n”);printf(“*

软件名称(Software): 教师工资管理系统 Teacher's Salary Managing System

*n”);

printf(“*

版本号(Edition):

Beta1.2

*n”);printf(“*

制作人(Producer):

弓箭 James

*n”);printf(“*

所在班级(Cla):

电气信息类1001班 Electric Information 1001

*n”);printf(“*

所在学院(Institute):信息科学与工程学院 Information Engineering Institute*n”);printf(“*******************************************************************************n”);printf(“

>>>>>ILLEGAL COPY BANNED

按下任意键返回主菜单...”);getch();} /***********************************菜单函数*****************************************/ int menu(){ int i;printf(“nnn

>>>>>欢迎使用教师工资管理系统Beta1.2

*******************************************************n”);printf(“

*

1.输入教师信息

*n”);printf(“

*

2.插入教师信息

*n”);printf(“

*

3.修改教师信息

*n”);printf(“

*

4.删除教师信息

*n”);printf(“

*

5.浏览教师信息

*n”);printf(“

*

6.显示制作人员名单

*n”);printf(“

*

7.退出系统

*n”);printf(“

*******************************************************n”);printf(“

请输入你想要的操作:”);scanf(“%d”,&i);getchar();return i;} /***********************************插入函数*****************************************/ void input(){ struct teacher *head,*p1,*p2,*p3,*px;int i,t;FILE *fp;char k,n='n',num[30],name[20];p1=p2=p3=px=(struct teacher *)malloc(LEN);if((head=load())!=NULL){

do

{

n='n';

printf(“

请输入要插入的教师信息:n”);

printf(“

------------------------------n”);

printf(“

请输入教工号:”);gets(num);px->num=atoi(num);

printf(“

请输入姓名:”);gets(px->name);

printf(“

请输入性别:”);gets(px->sex);

printf(“

请输入单位名称:”);gets(px->workplace);

printf(“

请输入家庭住址:”);gets(px->addre);

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

>>>>>>>>>>> 插入教师信息

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->addre,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();

}

else

{

do

{

fwrite(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->addre,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();

}

else

{

do

{

fwrite(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,num[30];

struct teacher *p1;p1=(struct teacher *)malloc(LEN);if((fp=fopen(”save“,”ab“))==NULL){

printf(”

文件不存在!按下任意键返回主菜单...“);getch();} else {

printf(”

请输入教师信息:n“);

do

{

printf(”

------------------------------n“);

printf(”

请输入教工号:“);gets(num);p1->num=atoi(num);

printf(”

请输入姓名:“);gets(p1->name);

printf(”

请输入性别:“);gets(p1->sex);

printf(”

请输入单位名称:“);gets(p1->workplace);

printf(”

请输入家庭住址:“);gets(p1->addre);

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',num2[30];p1=head=(struct teacher *)malloc(LEN);if((head=load())!=NULL){

do

{

int num=0;

char name[20];

p1=head;

system(”cls“);

printf(”nnn

>>>>>>>>>>> 修改教师信息

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.2

printf(”---原信息如下:--n“);

printf(”教工号

姓名

性别

单位名称

家庭住址

联系电话n“);

printf(” %-4d %-13s %s

%-19s %-19s%-14ldn“,p1->num,p1->name,p1->sex,p1->workplace,p1->addre,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“);

do

{

printf(”

请选择要修改的数据:“);

scanf(”%d“,&i);getchar();

while(i>15||i

{

printf(”

输入有误!请重新输入:“);

scanf(”%d“,&i);getchar();

}

switch(i)

{

case 1:printf(”

请输入新教师号:“);gets(num2);p1->num=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->addre);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)

{

printf(”

文件不存在!按下任意键返回主菜单...“);getch();

}

else

{

fwrite(head,LEN-4,1,fp);

do

{

p2=p2->next;

fwrite(p2,LEN-4,1,fp);

}while(p2->next!=NULL);

printf(”------------------------------修改后数据如下:--n“);

printf(”教工号

姓名

性别

单位名称

家庭住址

联系电话n“);

printf(” %-4d %-13s %s

%-19s %-19s%-14ldn“,p1->num,p1->name,p1->sex,p1->workplace,p1->addre,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“);

}

fclose(fp);

}

break;

case 2:printf(”

请输入要修改的教师姓名:“);

gets(name);

while(strcmp(p1->name,name)!=0)

{

if(p1->next!=NULL)

p1=p1->next;

else

{

printf(”

查找不到相关数据!n“);

break;

}

}

if(strcmp(p1->name,name)==0)

{

system(”cls“);

printf(”nnn

>>>>>欢迎使用教师工资管理系统Beta1.2

printf(“---原信息如下:--n”);

printf(“教工号

姓名

性别

单位名称

家庭住址

联系电话n”);

printf(“ %-4d %-13s %s

%-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->addre,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(“

*******************************************************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”);

do

{

printf(“

请选择要修改的数据:”);

scanf(“%d”,&i);getchar();

while(i>15||i

{

printf(“

输入有误!请重新输入:”);

scanf(“%d”,&i);getchar();

}

switch(i)

{

case 1:printf(“

请输入新教师号:”);gets(num2);p1->num=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->addre);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)

{

printf(“

文件不存在!按下任意键返回主菜单...”);getch();

}

else

{

fwrite(head,LEN-4,1,fp);

do

{

p2=p2->next;

fwrite(p2,LEN-4,1,fp);

}while(p2->next!=NULL);

printf(“------------------------------修改后数据如下:--n”);

printf(“教工号

姓名

性别

单位名称

家庭住址

联系电话n”);

printf(“ %-4d %-13s %s

%-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->addre,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”);

}

fclose(fp);

}

break;

case 3:break;

default :break;

}

if(i!=3)

{

printf(“n

继续修改其他教师的信息吗?(y或n)”);

scanf(“%c”,&n);

}

}while((n=='y'||n=='Y')&&i!=3);} }

/***********************************删除函数*****************************************/ void deletes(){ struct teacher *head,*p1,*p2,*p3;int i;char k;FILE *fp;char n='n';p1=p2=p3=(struct teacher *)malloc(LEN);if((head=load())!=NULL){

do

{

int num;

char name[20];

p1=head;

system(“cls”);

printf(“nnn

>>>>>>>>>>> 删除教师信息

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)

{

printf(”-----------------------------要删除的信息如下:-n“);

printf(”教工号

姓名

性别

单位名称

家庭住址

联系电话n“);

printf(” %-4d %-13s %s

%-19s %-19s%-14ldn“,p1->num,p1->name,p1->sex,p1->workplace,p1->addre,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(”

确定删除吗?(y或n):“);scanf(”%c“,&k);getchar();} if(k=='y'||k=='Y'){ if(p1->num==num){ if(p1==head){

p1=p1->next;

p2=p1;} else if(p1->next==NULL)

{

p3=p1;p1=head;p2=head;

while(p1->next!=p3)

{p1=p1->next;}

p1->next=NULL;

}

else{

p2=head;p3=p1;p1=head;

while(p1->next!=p3)

{p1=p1->next;}

p3=p3->next;

p1->next=p3;

}

if((fp=fopen(”save“,”wb“))==NULL){

printf(”

文件不存在!按下任意键返回主菜单...“);getch();} else { do {

fwrite(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);

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->addre,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=p1->next;

p2=p1;

}

}

else if(p1->next==NULL)

{

p3=p1;p1=head;p2=head;

while(p1->next!=p3)

{p1=p1->next;}

p1->next=NULL;

}

else{

p2=head;p3=p1;p1=head;

while(p1->next!=p3)

{p1=p1->next;}

p3=p3->next;

p1->next=p3;

}

if((fp=fopen(”save“,”wb“))==NULL)

{

printf(”

文件不存在!按下任意键返回主菜单...“);getch();

}

else

{

do

{

fwrite(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);} }while((n=='y'||n=='Y')&&i!=3);}

/***********************************浏览函数*****************************************/ void scan(){ struct teacher *head,*p1;int i;char m='n';p1=head=(struct teacher *)malloc(LEN);if((head=load())!=NULL){

system(”cls“);

printf(”nnn

>>>>>>>>>>> 浏览教师信息

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:p1=head;

printf(“----------------------------所有保存的信息如下:n”);

printf(“教工号

姓名

性别

单位名称

家庭住址

联系电话n”);

do

{

printf(“ %-4d %-13s %s

%-19s %-19s%-14ld”,p1->num,p1->name,p1->sex,p1->workplace,p1->addre,p1->phone);

if(p1->next!=NULL)

{p1=p1->next;}

else break;

}while(1);

p1=head;

printf(“电话费

水电费

房租

个人所得税

卫生费

公积金

合计扣款n”);

do

{

printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

%-10.1lf %-10.1lf %-10.1lf ”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

if(p1->next!=NULL)

{p1=p1->next;}

else break;

}while(1);

p1=head;

printf(“基本工资

津贴

生活补贴

应发工资

实发工资n”);

do

{

printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lf n”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

if(p1->next!=NULL)

{p1=p1->next;}

else break;

}while(1);

p1=head;

printf(“n-----------------n”);

printf(“

按下任意键返回主菜单...”);

getch();

break;

case 2:

do

{

int num=0;

char name[20];

p1=head;

system(“cls”);

printf(“nnn

>>>>>>>>>>> 浏览教师信息

printf(”

*******************************************************n“);

printf(”

*

1.输入教师号

*n“);

printf(”

*

2.输入姓名

*n“);

printf(”

*******************************************************n“);

printf(”

请输入你想要的操作:“);

scanf(”%d“,&i);getchar();

while(i2)

{

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)

{

printf(”所查信息如下:---n“);

printf(”教工号

姓名

性别

单位名称

家庭住址

联系电话n“);

printf(” %-4d %-13s %s

%-19s %-19s%-14ldn“,p1->num,p1->name,p1->sex,p1->workplace,p1->addre,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“);

}

break;

case 2:printf(”

请输入要查询的教师姓名:“);

gets(name);

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->addre,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“);

}

break;

default :break;

}

printf(”

继续浏览吗?(y或n)“);

scanf(”%c“,&m);

}while(m=='y'||m=='Y');

case 3:break;

} } }

/***********************************主函数*****************************************/ void main(){ int a=1;welcome();while(1){

system(”cls“);

a=menu();switch(a){ case 1:insert();break;

} case 2:input();break;case 3:modify();break;case 4:deletes();break;case 5:scan();break;case 6:list();break;case 7:printf(”

欢迎下次使用!“);getch();exit(0);break;default :printf(”

输入有误,请重新输入!");getch();break;} } getch();

《C语言 课程设计 教师工资管理系统(职工工资管理系统).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言 课程设计 教师工资管理系统(职工工资管理系统)
点击下载文档
相关专题 工资管理系统课程设计 教师 工资管理系统 课程设计 工资管理系统课程设计 教师 工资管理系统 课程设计
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文