程序设计训练报告Word格式文档下载.docx
《程序设计训练报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《程序设计训练报告Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
(1)输入模块
按照编号,,基本工资,奖金,扣款的顺序输入信息,税金和实
发工资根据输入的信息进行计算得到,这些信息被录入到文件中。
通
过自己定义的voidinput()函数来实现。
(2)删除模块
按照用户的意愿删除指定的信息。
通过自己定义的voiddel()
函数来实现。
(3)查询模块
实现按照工资卡号和的查询,采用基本的查找方法即可。
通过自己定义的voidsear()函数来实现。
(4)修改模块
按照用户的意愿修改已输入的信息。
通过自己定义的voidmodi
()函数来实现。
(5)插入模块
在用户指定的位置插入信息。
通过自己定义的voidinsert()函
数来实现。
(6)显示模块
在窗口处显示输入的信息。
通过自己定义的voiddisplay()
(7)保存模块
保存输入的信息
(8)退出模块
(三)、流程图
(1)主函数提供输入、处理和输出部分的函数调用,各功能模
块采用菜单方式选择
7
退出
录入职工基本工资信息
删除职工基本工资信息
查询职工基本工资信息
王采单
修改职工基本工资信息
插入职工基本工资信息
7.
使用说明
1.初始界面
reL.t>
rArecord
t'
tcurd
re^urdrecord
0\CQMMQN\M5Dev9a\BiFAI>
et>
ugU^ie
H
©
S3
2.输入模块
回S3
rec.orielrecordi^^iznrdrecurd
rcciujrilrecord
.查询模块
Leauttenter90ucImj丄匚芒£
0—"
?
〉
■■'
D:
\MicrD5oftVisual^1udio\C€iMlUON\M5D«
v93\Ein\DetM4g\l.exe
回sa
record
recordrecord
recordi*ecaiFd.recordrecord
02
#
*1W3*5*7
请输入职工的编号;
(踐虫谑回土菜单)aEinpnuee£
ustem
V显小
*0退岀
不工贸=&
O83.B0Q00B
藝金=500.960300卫霖lfle.ramaa宇衣工遥;
&
403.000000廉款:
Z7C.凶也阳U茸古T資:
^i3n,mnmn星誉继蕪查隊是按呉否则请按任意值
5•修改模块
」着03•賢聊倆;
;
编杲:
工.;
按的fe号呂44^"
皆止人的編姓荼新,
入e条工丄工工工插祢-职职职噩综人入入入入入人继输输K口
■'
D^Micrusoftvi^u^l5Uidio\COMMQN\M5Dev?
3\Bih\[tetMjg\LjeJfe'
己蓼n岗芒髏輟躍能?
復籐
Hii'
l.
.插入模块
'
L\'
v1icrD5O'
ttVisualStudio\C匸R/WldiFW八£
1)£
、甘由上in\L亡nu才l.*e
.显示模块
>
1
recordrecordrei;
t>
rilrecord
*leasesritsr90uelimiceCB—?
员二蛊号営朋
甚态工資:
^009.000009
:
1耳0.用口冈
工遥:
3Q3.0BO800
Zbb.9MSU0U
T姦翊5.ffiWW»
口
8•保存模块
特7•保存record*tJ15x1*色CQiMi
jJkJ—kJkJjJfa.hJIBrfUJ■BJkJEJkJBJNILi.kJHkaU—2kJWkJLJ.乜2程2也
Lcaacenteryouc}»
icc(07〉
号宕歩款一编姓董扣一-Cn-jtn-CnL^J-工工工工工_职职职职职一入入入入入一一雷诘簷一
(溯返回工菜单〕
」賛:
5U0B
(按。
返回主菜单)
Empo^eeSystem
di
*1
*3
*5
*7
record,recurdrecordrecord
i*eco>
drecordrecordrecoi'
d
leaseenter90Uchoice(0—?
Errbpu^eeS^Lem
加询人存
M*3*5*7
recnrdlrecordrecordlpecord
Tuturdrecordi*ecoi*d
KMMMMMKMMMMM'
KMMMXMMWMM:
MMMMMMMWX^rKMMSCKMXMM
Leaseenteryouchoicetld—Z>
9.退出模块
Enipo^eeS^teni
«
2剁陰i-ctord*4修识record斑良示record«
0土record
IOsg
■?
Bye
recordrecordrecordrccordl
P?
le^aseenteryouchoice:
(0—7〉
Ihankyouforyouruse<
Pressauiykeytocontinue
八、设计心得
通过这几天的努力,职工工资管理系统的设计已基本完成。
在本次课程设计中,我充分领略了C语言功能的强大,包括函数、数组、指针、结构体、文件等。
职工工资管理系统是一个很实用并且使用广泛的操作系统。
此系
统可以减少很多工作量,做到设计合理,便于使用,易于操作;
界面友好,容错性高,可在很短的时间,查找出所需的职工工资资料,提高工作效率。
该系统具有添加、显示、查询、修改、删除等基本功能,以方便对工资的各项管理操作。
每一条记录包括一个职工的工号、、工资等信息,系统的各个功能模块都用函数的形式来实现,可以将职工
信息保存在文件中,并从文件中读取出来
总的来说,通过这次程序设计,使我加深了对C语言的认识,进一步熟悉了对C语言功能的灵活运用,而且加深了我对程序的理解和编写能力,通过文献资料和网络资料的帮助,使我对C语言程序设计这一基础学科又一次加深了认识,也意识到了其具有的强大功能和发展前景。
这会对以后的学习有所帮助。
九、附录
源程序代码:
#inelude<
stdio.h>
#includevstring.h>
typedefstructemployee
voidmenu()
n*****************************************、v
printf("
添加
*2
删除
record'
n"
);
查询
*4
修改
record\n"
插入
*6
显示
保存
*0
*****************************************、n"
);
printf("
Pleaseenteryouchoice(0-7)\n"
}
intinput(ZGGZa[],intk)
intj,x;
charstr[10];
j=x=O;
while
(1)
请输入职工的编号:
(按0返回主菜单)"
seanf("
%s"
str);
strcpy(a[k].num,str);
for(j=0;
jvk;
j++)
if(strcmp(a[j].num,str)==0)
printf(”已经有工号为%s的员工信息!
请重新输入员
工号。
\n”,str);
"
scanf("
}
}if(strcmp(a[k].num,"
0"
)==0)
break;
请输入职工的:
a[k].name);
printf(”请输入职工的基本工资:
%f"
&
a[k].jbgz);
a[k].jj);
请输入职工的扣款:
a[k].kk);
a[k].yfgz二a[k].jbgz+a[k].jj-a[k].kk;
a[k].sk=a[k].yfgz*(0.05);
a[k].sfgz=a[k].yfgz*(0.95);
k++;
returnk;
intdel(ZGGZa[],inty)
inti=0;
intx=0;
charstr[15];
请输入你要删除的编号或:
删除成功\n"
for(i=0;
i<
y;
i++)
if(!
strcmp(str,a[i].num)||!
strcmp(str,a[i].name))
while(ivy)
strcpy(a[i].num,a[i+1].num);
strcpy(a[i].name,a[i+1].name);
a[i].jbgz=a[i+1].jbgz;
a[i]jj=a[i+1].jj;
a[i].kk=a[i+1].kk;
a[i].sfgz=a[i+1].sfgz;
a[i].sk=a[i+1].sk;
a[i].yfgz=a[i+1].yfgz;
i++;
x++;
if(x==O)
\n"
输入的编号或不存在,请重新输入:
returny-x;
voidsear(ZGGZa[],inty)
inti;
printf(”请输入你要查找的编号或:
printf(”
员工编号为%s\n"
a[i].num);
员工为%s\n"
a[i].name);
基本工资:
%f\n"
a[i].jbgz);
奖金:
a[i].jj);
扣款:
a[i].kk);
应发工资:
a[i].yfgz);
税款:
a[i].sk);
实发工资:
a[i].sfgz);
}if(x==0)
return;
voidmod(ZGGZa[],inty)
请输入你要修改的编号:
请输入修改后职工的:
printf(”请输入修改后职工的基本工资:
a[i].jbgz);
请输入修改后职工的奖金:
a[i].jj);
a[i].kk);
a[i].yfgz=a[i].jbgz+a[i].jj-a[i].kk;
a[i].sk二a[i].yfgz*(0.05);
a[i].sfgz=a[i].yfgz*(0.95);
未找到要修改的编号\n"
intinsert(ZGGZa[],inty)
请输入你要插入的编号:
if(strcmp(str,a[i].num)==0)
x=i;
for(i=y;
i>
x+1;
i--)
a[i].jbgz=a[i-1].jbgz;
a[i]jj=a[i-1].jj;
a[i].kk二a[i-1].kk;
a[i].sfgz=a[i-1].sfgz;
a[i].sk=a[i-1].sk;
a[i].yfgz=a[i-1].yfgz;
strcpy(a[i].name,a[i-1].name);
strcpy(a[i].num,a[i-1].num);
a[x].num);
a[x].name);
&
a[x].jbgz);
a[x].jj);
printf(”请输入职工的扣款:
a[x].kk);
a[x].yfgz二a[x].jbgz+a[x].jj-a[x].kk;
a[x].sk=a[x].yfgz*(0.05);
a[x].sfgz=a[x].yfgz*(0.95);
returny+1;
voidsave(ZGGZa[],intn)
FILE*fp;
if((fp=fopen("
sj.txt"
"
wb"
))==NULL)
cannotopenfile\n"
return;
n;
if(fwrite(&
a[i],sizeof(structemployee),1,fp)!
=1)felose(fp);
-<
烟>
<
.
ev)①ZX
+土-(ZBS.曰5.UV%-SS・・)匕U一」d5S.曰5.UV%-S・・)匕£
」d-(ZBA.曰5.UV%-SS・・)匕u一」d仝亠曰5.UV%-S・・)匕£
」d◎曰5.UV%・・)匕£
」d-(Z6qr曰5.UV%-烟H<
・・)匕£
」d-OTUJeu.曰5.5S%FH吧・・)匕£
」d-Enu.曰5.5S%氷申專Hns・・)匕£
」d厂5=)匕£
」d
op
宀
c」n05」
F.USKUU①①」es①-匚=)44£
(OKU)七
o上茎一
(u茎二」ez00z)Ae_ds一ppo>
voidmain()
intselete,c=0;
intz=0;
charq,p,x,s;
ZGGZb[100];
rb"
))二二NULL)
NotFound!
else
do
fread(&
b[i],sizeof(structemployee),1,fp);
i++;
}while(!
feof(fp));
fclose(fp);
c=i-1;
while
(1)
menu();
%d"
selete);
if(selete==O)
Thankyouforyouruse(A_A)Bye\n"
switeh(selete)
ease1:
e=input(b,c);
ease2:
display(b,e);
e=del(b,e);
printf(”是否继续删除,是按y,否则请按任意值\n"
getchar();
%c"
p);
}while(p=='
Y'
||p=='
y'
case3:
sear(b,c);
printf(”是否继续查找,是按y,否则请按任意值\n"
x);
}while(x=='
||x=='
case4:
display(b,c);
mod(b,c);
printf(”是否继续修改,是按y,否则请按任意值\n"
q);
}while(q=='
||q=='
case5:
c=insert(b,c);
printf(”是否继续插入,是按y,否则请按任意值\n"
s);
}while(s=='
||s=='
case6:
display(b,c);
case7:
save(b,c);
default:
printf("
Pleasetryagain\n"
.参考资料.
Effipoi/eeS^stern
且ker■er尸ek尸rizr民
*a
*5进丿;
record**6i*ecan
*7保佇rtcurd*0record
*—N』21“47*"
士《JJH士7jji_ifcj“—I■Jfcj』—I—Aji_»
im7廿
PLehaa日enter90uchoice(0—
请嶽入职工追编号’(濒惫回主茉单)01请前入职工的姓名:
三翠殄请轨人舉丄的星禾工頸5000储羸入职工曲交玉逊
请输入职工的扣款=10«
请输入职工的編号.f却返回主荣单)
半:
3.删除模块