c语言 工资信息管理系统Word文档格式.docx
《c语言 工资信息管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言 工资信息管理系统Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
voidorder();
intn,w1;
do
{
puts("
\t\t*********************MENU*************************\n\n"
);
\t\t\t1.Enter"
\t\t\t2.Add"
\t\t\t3.browseall"
\t\t\t4.Search"
\t\t\t5.Order"
\t\t\t6.Exit"
\n\n\t\t*************************************************\n"
printf("
Choiceyournumber(1-6):
[]\b\b"
scanf("
%d"
&
n);
if(n<
1||n>
9)/*对选择的数字进行判断*/
w1=1;
getchar();
}
elsew1=0;
while(w1==1);
switch(n)
case1:
enter();
break;
/*输入模块*/
case2:
add();
/*追加模块*/
case3:
browse();
/*浏览模块*/
case4:
search();
/*查找模块*/
case5:
order();
/*排序模块*/
case6:
exit(0);
/*退出模块*/
structlist
intnum;
charname[20];
intmonth;
intsalary1;
intwater;
intelectrisity;
floatfax;
floatsalary2;
}list[N];
voidenter()
voidprintf_back();
voidsave(intn);
voidinput(inti);
inti,n;
howmanyworkers(1-%d)?
:
"
N-1);
\nenterdatenow\n\n"
for(i=0;
i<
n;
i++)
\ninput%dthstudentrecord.\n"
i+1);
input(i);
if(i!
=0)save(n);
printf_back();
voidadd()
{
inti,n,m,k;
intload();
FILE*fp;
n=load();
howmanyworkersareyouwanttoadd(0-%d)?
N-1-n);
m);
k=m+n;
for(i=n+1;
=k;
\ninput%dthworkersrecord.\n"
i-n+2);
fp=fopen("
workers.txt"
"
ab"
fwrite(&
list[i],sizeof(structlist),1,fp);
save(n);
fclose(fp);
voidbrowse()
voidprintf_one(inti);
voidprintf_face();
printf_face();
if((i!
=0)&
&
(i%10==0))
{printf("
\n\npassanykeytocontiune..."
getch();
\n\n"
printf_one(i);
printf("
\n"
\tthereare%drecorde.\n"
n);
\npassanykeytoback.."
voidsearch()
{
\t\t\t1.searchbyname"
\t\t\t2.searchbynum"
9)
voidsearch_1();
voidsearch_2();
search_1();
search_2();
voidsearch_1()
inti,n,k,w1=1,w2,w3,w4;
structlists;
k=-1;
\n\nenternamethatyouwanttosearch!
name:
%s"
s.name);
if(strcmp(s.name,list[i].name)==0)
k=i;
printf_one(k);
if(k==-1)
\n\nNO.exit!
please"
\n\nareyouagain?
\n\t1).again2).NOandback[]\b\b"
w1);
if(w1==2)break;
while(k==-1&
w1==1);
w4=0;
w3=0;
if(k!
=-1)
successful"
\n\nwhatdoyouwanttodo?
\n\t1).searchanother2).back[]\b\b"
w2);
while(w2==1);
voidsearch_2()
\n\nenternumthatyouwanttosearch!
num:
s.num);
if(s.num==list[i].num)
voidorder()
{intw1,n;
voidorder_1();
voidorder_2();
\t\t\t1.orderbynum"
\t\t\t2.orderbysalary"
order_1();
order_2();
voidorder_1()
voidsave(inti);
inti,j,n;
voidbrowse();
structlists;
n-1;
{for(j=i+1;
j<
j++)
{if(list[j].num<
list[i].num)
s=list[j];
list[j]=list[i];
list[i]=s;
save(n);
browse();
voidorder_2()
{if(list[i].salary2<
list[j].salary2)
list[j]=list[i];
list[i]=s;
voidsave(intn)
inti;
wb"
}
intload()
rb"
!
feof(fp);
fread(&
return(i-1);
voidinput(inti)
floatsalary2(inti);
floatfax(inti);
No.:
list[i].num);
name:
list[i].name);
month:
list[i].month);
salary1:
list[i].salary1);
water:
list[i].water);
electricity:
list[i].electrisity);
fax(i);
salary2(i);
floatfax(inti)
if(list[i].salary1<
800)list[i].fax=0;
elseif(list[i].salary1<
1400)
list[i].fax=(((list[i].salary1-800)*5/100));
elselist[i].fax=(((list[i].salary1-1400)/10));
returnlist[i].fax;
floatsalary2(inti)
list[i].salary2=(list[i].salary1-list[i].water-list[i].electrisity-list[i].fax);
returnlist[i].salary2;
voidprintf_back()
intw;
\n\n\tsuccessful"
whatdoyouwanttodo?
\n\n\t1).browseallnow\t2).back:
[]\b\b"
w);
if(w==1)browse();
elsemenu();
voidprintf_one(inti)
%9d"
list[i].num);
%9s"
list[i].month);
list[i].salary1);
list[i].water);
list[i].electrisity);
%9.2f"
list[i].fax);
list[i].salary2);
voidprintf_face()
\n\tNo.namemonthsalary1waterelectrisityfaxsalary2\n"