c语言程序设计教师工资管理系统文档格式.docx
- 文档编号:18899761
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:12
- 大小:36.13KB
c语言程序设计教师工资管理系统文档格式.docx
《c语言程序设计教师工资管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设计教师工资管理系统文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
=电话费+水电费+房租+所得税+卫生费+公积金;
实发工资=应发工资—合计扣款。
1教师信息处理J.输入教师信息
K.插入(修改)教师信息L.删除教师信息;
M.浏览教师信息;
(提示:
具体功能及操作参考题1。
)2教师数据处理;
A、按教师号录入教师基本工资,津贴,生活补贴,电话费,水电费,房租,所得税,
卫生费,公积金等基本信息;
B、教师实发工资、应发公资、合计扣款;
C、教师数据管理;
(提示:
输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件.)D、教师数据查询;
输入教师好或其她信息,即读出所有数据信息,并显示出来。
)E、教师综合信息输出;
(提示;
一、需求分析①教师信息处理
A输入教师信息
B插入修改教师信息C删除教师信息D浏览教师信息
②教师数据处理
A按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。
E教师实发工资,应发工资,合计扣款计算。
C教师数据管理D教师数据查询
E教师综合信息输出
二总体设计4.总体设计
建立动态链表。
删除结点
插入结点
三、详细设计源程序
#inc1udevstdio、h>
#includevstdlib、h>
#inc1ude<
conio、h>
#defineLENsizeof(structteacher)struetteacher衣creat();
structteacher{intnum;
charname[10];
char
sex[8];
charunit[10];
charaddress[10];
Iongtelnum;
f
1oatsalary_1;
floatallowance;
f1oatlife—allow;
f1oatsalary_2;
floattel—fee;
floattax;
floathealth_fee;
f1oatwater—fee;
floatrent;
floatgrant;
floattotal_fee;
floatactua1
_salary;
structteacher衣next;
};
intn;
struct
teacher*head;
F
1LE
*fp;
struct
teacher*creat(vo
id)
{structteacher*p1,*p2
n=0;
p1=p2=(structteach
er
*)malloc(LEN);
printf
("
教师号:
”);
scanf("
%dH,&
p1—>
num);
fflush(stdin);
printf("
教师姓名:
”;
)gets(p1—〉name);
printf("
教师性别:
");
gets(p1—〉sex);
printf(”单位名称:
”);
gets(p1—>
unit);
printf("
家庭地址:
gets(p1-〉address);
printf(”电话号码:
"
);
scanf(”%1d"
&
p1—>
te1num);
fflush(stdin);
printf(基”本工资:
scanf("
%f",&
p1->
salary_1);
fflush(stdin);
printf("
津贴:
”;
scanf("%f”,&
p1—>
allowance);
fflush(stdin);
printf("生活补贴:
");
scanf(”%f"
&
p1-〉life_al1ow);
fflush(stdin);
printf("
电话费:
"
);
seanf("
%f”,&
1—>
tel_fee);
fflush(stdin);
printf("
个人所得税:
");
seanf(”%f”&
p1—>
tax);
fflush(stdin);
printf("房租:
”)
scanf("
%f"
p1->
rent);
fflush(stdin);
printf("公积金:
");
scanf(”%f,&
grant);
fflush(stdin);
printf("
水电费:
”);
scanf("
%f”,&
p1->
water_fee);
fflush(stdin);
printf("
卫生费:
scanf(”%f”,&
p1->
health_fee);
fflush(stdin);
salary_2=p1—>
salary_1+p1->
al1owance+p1->
life_al1ow;
p1—>
tota1_fee=p1->
tel_fee+p1->
water—fee+p1—>
rent+p1—>
tax+p1—>
health_fee+p1->
grant;
p1-〉actual_sa
lary=p1->
salary_2—p1->
total_fee;
head=NULL;
while(p1->
num!
=0){n=n+1;
if(n==1)head=p1;
elsep2—>
next=p1;
p2=p1;
p仁(structteacher*)malloc(LEN);
printf(”教师
号:
scanf("
%d",&
p1->
num);
ff1ush(stdin);
printf(”教师姓名:
”;
)gets(p1—>
name);
printf(”教师性别:
");
gets(p1-〉sex);
printf("
单位名称:
gets(p1—〉unit);
家庭地址:
address);
printf("
电话号码:
%ld”,&
telnum);
ff1ush(stdin);
printf(”基本工资:
scanf(”%f”,&
p1—>
salary_1);
ff1ush(stdin);
printf("
);
seanf("
%f"
pl—>
allowance);
ff1ush(stdin);
printf(”生活补贴:
seanf(”%f"
p1—>
life—allow);
fflush(stdin);
printf("
电话费:
%f"
&
tel_fee);
fflush(stdin);
printf("
个人所得税:
);
scanf("
%f”&
tax);
fflush(stdin);
printf("
房租:
”);
scanf("%f",&
rent);
ff1ush(stdin);
printf("
公积金:
”);
scanf(”%"f,&p1—〉grant);
fflush(stdin);
printf(”水电费:
scanf(”%f",&p1—>
water_fee);
ff1ush(stdin);
printf(”卫生费:
scanf(”%f"
p1->
health_fee);
fflush(stdin);
salary—2=p1-〉salary_1+p1—>
al1owance+pl->
life_allow;
total_fee=p1—〉tel—fee+p1—>
water_fee+p1—>
rent+p1—>
tax+p1->
health_fee+p1—>
grant;
p1—>
actual_sa
lary=p1—>
salary—2—pl—>
total—fee;
}p2—>
ne
xt=NULL;
return(head);
}
voidprint(structteacher*head){structteacher*p;
pr
intf("
\nNow,These%drecordsare:
n"
n);
p=head;
i
f(head!
=NULL)do{printf("
教师号:
%5t”,p—num);
教师姓名:
%—10sn"
p->
name);
printf("
教师性别:
%-6s\t\t"
p—>
sex);
printf(”单位名称:
%-10sn”,p—>
unit);
printf(”家庭地址:
%—10s\t"
p->
address);
printf("
电话号码:
%81d\n"
p—>
te
1num);
printf("
基本工资:
%5、t\t"
salary—1);
printf("
津贴:
%5、0f\n"
p—>
allowance);
printf(”生活补贴:
%5、0f\t"
p->
life_allow);
printf("
\t电话费:
%5、0f\n”,一〉te1—fee);
printf(”个人所得税:
%5、0f\t"
p->
tax);
printf("
卫生费:
%5、0f\n"
health—fee);
printf("
%5、0ft”,p—
water_fee);
printf("
房租:
%5、0f\n"
rent);
printf("
公积金:
%5、0ftH,p—>
grant);
printf(”应发工资:
%5、0f\n"
p—>
salary_2);
printf(”合计扣款:
%5、ttp->
total_fee);
printf(实发工资:
%5、0n”,—>
actual_salary);
p=p
>
next;
}while(p!
=NULL);
structteacher*insert(structteacher衣head,struct
teacher*teach){structteacher*p0pl,*p2;
p1=head;
p0=teach;
if(head==NULL){head=p0;
p0—>
next=NULL;
else{while((p0->
num〉p1->
num)&
&
(p1—>
next!
=NULL))
{p2=p1;
p1=p1—>
next;
}if(p0->
num〈pl->
num){if(he
ad==p1)head=p0;
elsep2->
next=p0;
p0—〉next=p1;
}e
lse{p1->
next=p0;
p0—>
next=NULL;
}}n=n+1;
return
(head);
structteacher*del(structteacher*head,intnumber){structteacher*p1,*p2;
if(head==NULL){printf("
\nlistnull\n"
return(head);
}pl=head;
while(number!
=pl
—>
num&
pl—〉next!
=NULL){p2=p1;
pl=p1->
next;
}if
(number==pl->
num){if(pl==head)head=p1—>
xt;
elsep2-〉next=pl—〉next;
printf(”删除:
%dn"
num
ber);
n=n-1;
}elseprintf("
%ldisnotn”,number);
return(head);
voidsave(){inti;
structteacher*pl;
pl=head;
if((fp=fopen("teacher_list”,”"w))b==NULL){printf(”cannotopenfn”);
return;
for(i=0;
i〈n;
i++)
{if(fwrite(p1,sizeof(structteacher),l,fp)!
=1)printf("
en");
p1=pl—>
next;
fclose(fp);
voidload(){
structteacher*p1,*p2;
if((fp=fopen(”teacher_list"
'
¥
b"
))==NULL){printf("
cannotopenfilenH);
return;
p1=p2=(structteacher*)malloc(LEN);
head=p1;
do{
if(fread(p1,sizeof(structteacher),1,fp)!
=1){printf
\n"
);
gotoend;
}
if(p1—>
next!
=NULL){p2=p1;
p1=(structteacher*)malloc(LEN);
p2—>
next=p1;
}else
break;
}while
(1);
end:
fclose(fp);
voidquery(structteacher*p){intno;
p=head;
printf(”ple
aseinputnum:
\n"
scanf("%d”,&
no);
while(p->
num!
=no)p=p—>
next;
printf(”基本工资:
%5、0f\t\t"
p->
salary_1);
printf("
津贴:
%5、0n”,->
allowance);
printf("
生活补贴:
p->
life_allow);
printf("
%5、0f\n"
p—>
tel_fee);
printf(个人所得税:
%5、0t”p->
tax);
printf(水电费:
%5、t”,p—>
water—fee);
printf("
%5、n”,p—>
rent);
printf(H公积金:
%5、0f\t\t"
p->
grant);
printf("
应发工资:
%5、0f\n"
sa1ary_2);
printf("
合计扣款:
%5、0ft\t"
total_fee);
printf("
实发工资:
%5、n
n”,p>
actual—salary);
voidedit(structteacher*p){inta;
printf("
pleaseinputnum:
\n"
);
scanf("
%d”,&
a);
%d\n"
a);
for(;
;
){if(p—>
num==a){printf(”教师号:
%t”,p—>
num);
printf(教”师姓名:
%—10s\n"
,p—>
name);
%-6s\tt"
p—>
sex);
printf(”单位名称:
%—n”,p—unit);
printf(”家庭地址:
%—t”p—〉address);
printf(”电话号码:
%8ld\n"
telnum);
printf("
基本工资:
%5、0f\t\t"
salary—1);
allowance);
printf("
生活补贴:
%5、0f\t”p,—>
life_allow);
printf(”\t电话费:
%5、0f\n”,p—>
tel—fee);
printf(H个人所得税:
%5、0f\t"
tax);
printf(”卫生费:
%5、0f\n"
health_fee);
printf(”水电费:
%5、0ft\t"
p—>
water—fee);
printf("
%5、0f\n"
p->
rent);
printf(”公积金:
%5、0f\t\t"
grant);
printf(合计扣款:
%5、t\t"
p—>
total_fee);
实发工资:
%5、0f\n\nH,p—>
actual_sa1ary);
printf(”请输入新数据:
printf(”教师号:
scanf(%d"
p—>
ff1ush(stdin);
printf("
教师姓名:
gets(p->
name);
printf(”教师性别:
gets(p—>
sex);
工作单位:
gets(p—〉unit);
printf("
家庭地址:
gets(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教师工资 管理 系统