教师工资管理系统.docx
《教师工资管理系统.docx》由会员分享,可在线阅读,更多相关《教师工资管理系统.docx(12页珍藏版)》请在冰点文库上搜索。
教师工资管理系统
教师工资管理系统
题U:
教师工资管理系统院系专业:
姓名:
学号:
2012年3月13日
C语言程序设讣报告书
一、程序设il•的U的和题U要
-5-四、遇到的问题及解决方法分析、体
-11-
1•遇到的问题及解决方
-11-
2.心得体
-15-
C语言程序设讣报告书
一.程序设计的U的和题U要求
用所学过的c语言程序设计知识,掌握结构化程序设il•的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设讣问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。
1.初步掌握开发一个小型实用系统的基本方法:
结合实际应用的要求,使课程
2•使学生掌握,语言的基本概念、语法、
语义和数据类型的使用特点。
能力,并养成&好的编程习惯。
3•使学生掌握,语言程序设计的方法及编程技巧,能正确使用,语言编写程序。
4•使学生掌握调试程序的基本方法及上机操作方法。
5•掌握书写程设计开发文档的能力,使学生学会撰写课程设计总结报告。
课程
设计的思想和方法还可以作为学生做毕业论文时的参考资料。
本次课程设汁主要U的在于,通过综合程序课程设计,加深对《C语言》课程所学知识的理解,进一步巩固C语言讲法规则。
学会编制结构清晰、风格ft好、数据结构适当的C语言程序,从而培养和提高
C语言程序设计•报告书
学生的独立分析问题和解决实际问题的能力。
题U要求:
每个教师的信息为:
教师号、姓名、性别、单位名称、家庭住址、联系电话、
基本工资.津贴、生活补贴.应发工资、电话费、水电费、房租.所得稅、卫生费、公积金、合计扣款、实发工资。
注:
应发工资二基本工资+津贴+生活补贴;合计
扣款二电话费+水电费+房租+所得稅+卫生费+公积金;实发工资=应发工资,合计扣款。
A、教师信息处理
信息
(1)输入教师
插入(修改)教师信息删除教师信息浏览教师信息查询教师信息导入教师信息保存教师信息
B、教师数据处理
(1)按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、
所得税、卫生费、公积金等基本数据。
(2)教师实发工资、应发工资、合计扣款计算。
(3)教师数据管理
(4)教师数据査询(5)教师综合信息输出
C语言程序设计•报告书
2.流程图
开始
选0教师信教师数
息处理据处理
输插删浏查导保录教教教
工入入除览询入存入师师师
资教教教教教教教基数数综
计师师师师师师师本据据合
算信信信信信信信数管查信
息息息息息息息据理询息
结束
C语言程序设讣报告书
3.源代码程序:
#1nclude
#include#include#include/*函数声明*/
^defineN2//宏定义参数X
voidinput():
//自己写的能输入教师信息的函数intmenu():
//定义一个函
数菜单
structteacher//关于教师的结构
charnuin[15];//定义教师号的字符串
charname[30];//同上
charsex;//同上
float
dwmc;//浮点型变量
float
jtzz:
//同上
float
Ixdh:
//
float
float
float
float
float
float
fzs;//…
float
Sts;//…
float
wsf:
//..
float
gjj;//
float
yfgz;//・
float
hjkk;//・
float
sfgz;//・
C语言程序设讣报告书}a[X];
intmenu()
intn;//定义n
printf("1.
输入教师信息\r);//产生格式化输出函数
printf("2.
插入(修改)教师信息\n");//。
。
printf("3.
删除教师信息\n");//。
。
°
printf("4.
浏览教师信息\n");//。
。
。
printf("5・
查询教师信息\n");//。
。
。
printf("6.
导入教师信息\n");//。
。
。
printf("7.
printf("************************************************\n");//««
printfC请输入你要执行的操作:
\n");//。
。
°scanf&n);//格式输入函数while(n7)//循环语句printfC请巫新输入\n");
scanf&n);
returnn;//返回值voidinput()//实现教师信息的输入voidsave();
for(i=0:
ii++)
C语言程序设计•报告书printf("请输入教师号:
"):
//printf和scanf的输入输出
scanf&a[i]・num);
printfC请输入教师姓名:
");scanf&a[i]・name);
scanf&a[i].sex);
printfC请输入教师单位名称:
");
scanf&a[i].dwmc);
printfC请输入教师家庭住址:
");
getchar();
scanf&a[i].jtzz);
printfC请输入教师联系电话:
");getchar();
scanf&a[i]・Ixdh);
printfC请输入教师基本工资:
");getchar();
scanf&a[i].jbgz);
printfC请输入教师津贴:
");getchar();
scanf&a[i]・jt);
printfC请输入教师生活补贴:
");getchar();
scanf&a[i]・shbt);
printfC请输入教师电话费:
");getchar();
scanf&a[i]・dhf);
printfC请输入教师水电费:
");getchar();
scanf&a[i]・sdf);
getchar();
scanf&a[i]・fzs);
C语言程序设计•报告书printfC请输入教师所得税r);
getchar();
scanf&a[i]・sts);
printfC请输入教师卫生费:
");getchar();
scanf&a[i]・wsf);
printfC请输入教师公积金:
");getchar();
scanf&a[i],gjj);
a[i]・yfgz=a[i].jbgz+a[i]・jt+a[i].shbt:
a[i]・hjkk=a[i]・dhf+a[i]-sdf+a[i].fzs+a[i]・sts+a[i].wsf+a[i].gjj;
a[i].sfgz=aEi].yfgz-aEi],hjkk:
printf("\n%f%f%f\n",a[i].yfgz,a[i].hjkk,a[i]・sfgz);
save0;
voidxiugai()//能修改信息的函数chartemp[20]:
intflag=0:
printfC请输入要修改的教师号:
\n");
getchar();//回车
gets(temp);
for(i=0:
ii++)
if(strcmp(temp,a[i]・num)==0)
printf("%s%s%s%f%f%f%f%f%f%f%f%f%f%f%f
\n",aEi].num,a[i].name,aEi],sex,a[i].dwmc,aEi],jtzz,aEi],Ixdh,a[i].jbgz,a[i],jt,a[i],shbt,a[i]
•dhf,a[i].sdf,a[i]・fzs,a[i]・sts,a[i].wsf,aEi].gjj);
printfC请巫新输入教师号、姓名、性别、单位名称、家庭住址、联
C语言程序设计•报告书
系电话、基本工资、津贴、生活补贴、电话费、水电费、房租费、所得稅、卫
input0;
flag=l:
if(flag==O)
printfC修改后的教师信息:
\n");
printfC教师号、姓名、性别、单位名称、家庭住址.联系电话、基本工资、
津贴、生活补贴、电话费、水电费、房租费、所得税、卫生费、公积金:
\『);
for(i=0:
i<2:
i++);
printf("%s%s%s%f%f%f%f%f%f%f%f%f%f%f%f\n",a[i]・num,a[i].name
a[i]・sex,a[i]・dwmc,a[i].jtzz,aEi],Ixdh,a[i]・jbgz,a[i]・jt,a[i]・shbt,a[i].dhf,a[i].sdf,a[i]・fzs,a[
i]-Sts,a[i].wsf,a[i]・gjj);
voidshuchu()//能输出信息的函数
printfC教师号、姓名、性别、单位名称、家庭住址.联系电话、基本工资、
津贴、生活补贴、电话费、水电费、房租费、所得税、卫生费、公积金、应发
资、合计扣款、实发工资、:
\『);
for(i=0:
ii++)
printf("%s%s%c%f%f%f%f%f%f%f%f%f%f%f
a[i]・num,aEi].name
a[i].sex,a[i]・dwmc,a[i]・jtzz,a[i].Ixdh,a[i]・jbgz,a[i]・jt,a[i].shbt,a[i]・dhf,a[i].sdf,a[i].fzs,a[
C语言程序设计•报告书voidchaxunO//能査询信息的函数
charname[20];
intflag=0:
printfC请输入要查找的教师姓名:
\n");
getchar();
gets(name);
for(i=0:
ii++)
if(strcmp(name,a[i]・name)==0)
printfC教师号、姓名、性别、单位名称、家庭住址.联系电话、基
本工资、津贴、生活补贴、电话费、水电费、房租费、所得税、卫生费、公积金:
\n");
printf("%s%s%s%f%f%f%f%f%f%f%f%f%f%f%f\n",a[i]・num,a[i],name
,a[i]・sex,a[i]・dwmc,a[i]・jtzz,a[i].Ixdh,a[i]・jbgz,a[i].jt,a[i].shbt,a[i]・dhf,a[i].sdf,a[i]・fzs,a[
i]-Sts,a[i].wsf,a[i]・gjj);
flag=l:
if(flag==O)
printf("查无此人!
\n");
voidmainO//主函数
{intnum:
system("color6f");
while(nuin=menu())
switch(num)
case1:
input();break;
-10-
case
7:
exit(0);
C语言程序设讣报告书
getchO;
systemCclsO:
//清屏
libcmtd.lib(crtO.obj):
errorLNK2001:
unresolved
externalsymbol_main
Windows项U要使用Windows子系统,而不是Console,可以这样设置:
[Project]—>[Settings]—>选择"Link"属性页,
SProjectOptions4^^/subsystem:
consolesubsystem:
windows
2.Console子系统设置错误,提示:
LIBCD.lib(wincrtO.obj):
errorLNK2001:
unresolved
externalsymbol_WinMain@16
控制台项U要使用Console子系统,而不是Windows,设置:
[Project]—>[Settings]—>选择"Link"属性页,
在ProjectOptions4^^/subsystem:
windowssubsystem:
console
3.程序入口设置错误,提示:
C语言程序设计•报告书
msvcrtd.lib(crtexew.obj):
errorLNK2001:
unresolved
externalsymbol_WinMain@16
通常,MFC项U的程序入口函数是WinMain.如果编译项U的
Unicode版本,程序入口必须改为wWinMainCRTStartup,所以需要
巫新设置程序入口:
[Project]—>[Settings]—>选择"C/C++"属性页,
在Category中选择Output,
再在Entry-pointsymbol中填入wWinMainCRTStartup,即可
nafxcwd.lib(thrdcore.obj):
errorLNK2001:
unresolvedexternalsymbol_beginthreadex
nafxcwd.lib(thrdcore.obj):
errorLNK2001:
unresolvedexternalsymbol_endthreadex
这是因为MFC要使用多线程时库,需要更改设置:
[Project]—>[Settings]—>选择"C/C++"属性页,
在Category中选择CodeGeneration,
再在Userun-timelibrary中选择DebugMultithreaded或者
multithreaded
第二类:
程序没有添加必要的库。
当copy网上的源程序,在本机编译的时候,山于新建的工程没有
把连接用的库,在连接的时候添加进去,所以一些函数、变量找不到定
C语言程序设计•报告书
义的库文件,从而出错。
解决方法:
1.先弄清楚到底缺了哪些库,再在project,》setting,》link里面的moldul/lib添加这些库的文件。
2.可以用以下形式在源程序里面添加下面代码:
#pragmacomment(lib,"openGL32・lib");#pragmacomment(lib,"glu32・lib");#pragmacomment(lib,"glaux.lib");
添加Winmm.1让和头文件中包含Mmsystem.h
选择"project"->"setting"->"link"->"Object/librarymodules"然后添加
自己的错误:
LINK:
fatalerrorLNK1168:
cannotopenDebug/EX_HelloWin.exefor
C语言程序设计•报告书
writing
一般这种情况意味着你的程序上一次运行并没有正常关闭2.心得体会
要完成一个优秀的程序,必须熟练掌握各种语句的特点及用法,要学会举一反三,充分实现C程序的灵活性。
在平时的学习实践中,要不断开动脑筋,活学活用。
要发扬团体合作的精神,互帮互助,共同进步。
善于发问,善于思考。
在写程序的过程中,我乂碰到了一些难题,比如按键的闪烁问题,按键不能直接运行的问题,不能连续运行问题,还有数字不能成串显示问题。
其中有些是问你的,有些是我自己解决的。
比如连续运行,闪烁做好后,我发现每次运行只能按一个数字,按第二个数字的时候就跳出了,后来我想到了在switch之前加for的办法,这样就可以用循环的办法达到我想达到的U的。
上机调试程序,并非仅仅为了结果,而应当从结果出发来进一步分析程序,使程序简洁化。
上机调试程序可帮助我们更好地理解程序,改正自己的误解或疏忽大意,从而掌握编程的一些技巧。
C语言是一个很复杂的工程设计,需要学习的东西还有很多。