职工工资查询系统论文 11.docx
- 文档编号:8117926
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:27
- 大小:648.49KB
职工工资查询系统论文 11.docx
《职工工资查询系统论文 11.docx》由会员分享,可在线阅读,更多相关《职工工资查询系统论文 11.docx(27页珍藏版)》请在冰豆网上搜索。
职工工资查询系统论文11
单位:
电信091班
学号:
09202108
江西农业大学南昌商学院本科课程设计
(电子信息工程)
职工工资查询系统
姓名:
郑剑挺
专业:
电子信息工程
指导教师:
汪钰斌
江西农业大学南昌商学院
二0一二年六月
摘要
C++语言是在C语言的基础上逐步发展和完善起来的,随着C语言应用的推广,C语言存在的一些缺陷或不足也开始暴露出来,并受到大家的关注。
比如C语言对数据类型检查的机制比较弱,缺少支持代码重用的结构;随着软件工程规模的扩大,难以适应开发特大型程序。
同时C语言毕竟是一种面向过程的编程语言,已经不能满足运用面向对象的方法开发软件的需要。
C++便在C语言基础上,为克服C语言本身存在的缺点,同时为支持面向对象的程序设计而研制出来的一种通用的程序设计语言,但是C++语言最有意义的方面是支持面向对象的程序设计,在数据类型、算法的控制结构、函数等方面都有很好的体现。
【关键词】C++;大型程序;算法
Abstract
stepbysteponthebasisoftheC++languageisintheclanguagedevelopmentandimprovement,withthegeneralizationofc-languageapplication,corlessarestartingtoexposesomeofthedefects,andiseveryone'sconcern.Liketheclanguagedatatype-checkingmechanismisrelativelyweak,lackofstructurethatsupportscodereuse;alongwiththeexpansionofthescaleofsoftwareengineering,itisdifficulttoadapttothedevelopmentoflargeprograms.Atthesametimeoftheclanguage,afterall,isaprocess-orientedprogramminglanguage,cannolongermeettheneedofusingobject-orientedmethodofdevelopingsoftware.C++isbasedontheclanguage,inordertoovercometheshortcomingsoftheclanguageitself,atthesametimetosupportthedevelopmentofobject-orientedprogrammingandageneralpurposeprogramminglanguage,butthemostmeaningfulaspectsofC++languagesupportsobject-orientedprogramming,datatypes,controlstructures,functions,andotheraspectsofthealgorithmiswellreflected.
【KeyWords】C++;largeprograms,algorithms
目录
摘要I
AbstractII
目录1
前言1
第一章系统环境分析2
1.1VisualC++概述2
第二章设计平台搭建3
2.1 VC++6.0的安装和配置3
第三章职工工资查询系统结构及其设计7
3.1职工工资管理系统需求分析7
3.3功能模块划分8
3.4系统流程图分析8
第四章详细设计与实现9
4.1主界面设计9
参考文献21
前言
在网络不断进步的时代,许多网络系统也在生活工作中给人们带来了很多帮助。
在现代化的管理模式下,员工工资管理系统很大程度上提高了公司的管理效率以及方便了员工的个人工资情况的查询,这是一套方便,操作简单的系统。
可以说,是现在大多公司所必须的一套系统。
这套工资查询系统是基于C语言在VisualC++环境中的一个管理平台,它是一套对于公司职工的工资情况有很强的应用的管理软件,也对公司在职工的工资发放方面提供很大的帮助。
第一章系统环境分析
1.1VisualC++概述
VisualC++是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。
它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。
VisualC++具有效率高,高度集成,图形化等特点。
它是一套集成开发环境,它由文本编辑器,资源编辑器,项目管理工具,编译器和调试器到呢个组成。
可以创建,编辑,查看一些其他格式的文件,可以在项目工作区组织文件,项目和子项目。
可以使用编辑或工作区窗口来查看和访问项目中的各种文档,项目工作区可以同时打开多个项目。
VisualC++6.0(简称VC++)具有强大的数据库管理功能,丰富的表格和图形输出功能,实效的精美报表打印功能,语言的易读与灵活性,快速友好的界面开发效率等特点。
VisualC++6.0对编译器和连接器做了改进。
VisualC++6.0编译器进一步简化了COM应用程序的开发过程。
VisualC++6.0编译器在代码生成方面进一步做了优化,使得目标程序代码更紧凑,运行速度更快。
VisualC++6.0增加了对不同未处理器的支持,在生成应用程序时可以根据微处理器的不同产生不同目标代码,这可通过新增加的编译开关来实现,新增开关增强了VisualC++6.0对异常的处理能力。
第二章设计平台搭建
2.1 VC++6.0的安装和配置
C语言的翻译程序属于编译程序,要完成对一个C程序的调试,必须经过编辑源程序、编译源程序、连接目标程序和运行可执行程序四个步骤。
使用VisualC++6.0就可以完成C语言的调试。
VisualC++6.0提供了全屏幕程序调试环境,编辑、编译、连接、运行都可以在该环境中完成。
首先介绍关于VisualC++6.0的安装过程。
(1)双击安装包下的SETUP.EXE文件,弹出【VisualC++6.0中文企业版】对话框,如图1.1所示。
图1.1【VisualC++6.0中文企业版】对话框
(2)依次默认,单击【Next】按钮,进入下一个对话框。
直到遇到VisualC++6.0Enterprise】对话框,如图1.2所示。
从该对话框中选择要安装的程序,当然,也可以按照默认的设置,直接单击【Next】按钮进入下一步。
本次安装选择Typical类型,然后点击下一步。
图1.2【VisualC++6.0Enterprise】对话框
(3)之后会出现【VisualC++6.0EnterpriseSetup】对话框,如图1.3所示。
图1.3【VisualC++6.0EnterpriseSetup】对话框
(4)完成图1.3步骤之后,会提示VisualC++6.0EnterpriseSetup安装已经完成。
即【VisualC++6.0Enterprise安装程序】对话框。
如图1.4所示。
图1.4【VisualC++6.0Enterprise安装程序】对话框
(5)点击确定按钮,会出现对话框提示安装者安装MSDN。
如果安装MSDN,则单击【Next】按钮,如果不想安装MSDN,取消“安装MSDN”前面的勾号,选择“退出”,如图1.5所示。
图1.5【InstallMSDN的安装】
第三章职工工资查询系统结构及其设计
MicrosoftVisualC++6.0它基于Windows平台,因此具有极强的灵活性和强大的可扩展性,是全球领先的C语言集成开发环境。
支持各个主要领域的c++开发。
MicrosoftVisualC++6.0实际上包了用户在C++集成环境中所需要的一切东西。
由于MicrosoftVisualC++6.0和几种单独的源代码处理产品是集成在一起的,所以它能够支持多种C++开发工具版本。
概括起来MicrosoftVisualC++6.0的面向对象程序设计主要特点有:
封装与信息隐蔽;抽象;继承与重用;多态性等。
3.1职工工资管理系统需求分析
1、任务概述:
本系统主要完成通过收集、整理、存储、管理职工(基本数据),管理员(基本数据)及职工各项工资数据,为某高校管理人员及职工提供服务,为职工提供个人的基本信息,实际发放工资,扣除工资(明细例表)等提供查询,管理人员方便查询、修改职工资料与职工工资信息,对于高级管理员还可以管理普通管理员的信息。
提高办公效率,改善办公质量,通过本系统的使用,规范某高校常规管理工作。
2、需求规定:
本系统通过Windows的浏览器进行使用,要考虑到可能会受到外来的安全威胁,不同权限的用户对数据有不同层次的访问:
禁止,浏览,修改;在程序的开发过程中,应遵循结构化的程序设计原则,加强系统的可维护性;注重系统的界面友好性,各程序模块界面的统一。
3.2、系统功能描述
系统功能描述为如下:
职工基本信息,管理员基本信息,职工工资信息。
对于职工来说,职工可以注册或者登陆后查询个人基本信息、工资信息,修改自己的密码信息,但是职工不允许查询与修改别人的信息。
而对于管理员来说,管理员可以查询个人信息,修改密码信息,还可以修改职工的基本信息与工资信息。
对于一个新来的职工,管理员应该在基本信息中添加这个职工的信息,系统自动生成其工资信息,管理员只需要修改职工的工资信息。
如果删除一个员工的基本信息后,则系统也相应的自动删除其工资的信息。
高级管理员具有更高的权限,可以修改普通管理员的信息。
另外本系统还提供工资制度查询以及留言功能。
3.3功能模块划分
1、登陆模块:
该模块是提供职工工资查询系统的登陆界面,是本系统的唯一入口和出口。
2、管理员模块:
提供职工工资查询系统的管理员功能,包括增加职工信息,修改职工信息,删除职工信息,按实发工资从高到低浏览职工信息。
3、职工模块:
提供职工对工资信息的浏览。
3.4系统流程图分析
第四章详细设计与实现
4.1主界面设计
1、主界面程序代码如下:
4.1主界面设计
#include
#include
#include
#include
#include"shead.c"
#include"admin.c"
#include"zhigong.c"
main()
{
FILE*fp;
zhigongtmps,show;
chardatafile[]="zhigong",relogin;
inti,success=0;
printf("=========================================================\n");
printf("欢迎您进入职工工资管理系统\n");
printf("=========================================================\n");
again:
printf("请输入您的用户名:
");
scanf("%s",tmps.name);
printf("请输入您的密码:
");
for(i=0;i<=5;i++)
tmps.ps[i]=getch();
tmps.ps[6]='\0';
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
while(fread(&show,sizeof(zhigong),1,fp)!
=0)
{
if((strcmp(tmps.name,show.name)==0)&&(strcmp(tmps.ps,show.ps)==0))
{
printf("登录成功!
\n");
success=1;
if(show.power==1)
{
printf("您是管理人员\n");
admin();
}
if(show.power==0)
{
printf("您是普通职工\n");
zigong();
}
}
}
if(success==0)
{
printf("\n您输入的名字或密码有误,是否重新输入?
(y/n)");
relogin=getche();
if((relogin=='y')||(relogin=='Y'))
{
printf("请再次输入名字和密码\n");
gotoagain;
}
else
{
printf("程序结束\n");
exit(0);
}
}
}
4.2.增加职工信息addzhigong.c
voidaddzhigong()
{
FILE*fp;
zhigongtmps,show;
chardatafile[40]="zhigong";
intcount=0;
fp=fopen(datafile,"ab+");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
printf("请输入职工的序号、名字、基本工资、奖金\n");
while(count<=size)
{
printf("\n请输入职工的序号:
");
scanf("%ld",&tmps.number);
if(tmps.number==0)
break;
printf("请输入职工的名字:
");
scanf("%s",tmps.name);
printf("请输入职工的基本工资:
");
scanf("%f",&tmps.salarys);
printf("请输入职工的奖金:
");
scanf("%f",&tmps.awards);
tmps.power=0;
strcpy(tmps.ps,"123456");
if((tmps.salarys+tmps.awards)>1600)
tmps.shui=0.1f*(tmps.salarys+tmps.awards);
else
tmps.shui=0;
tmps.sum=tmps.salarys+tmps.awards-tmps.shui;
if(fwrite(&tmps,sizeof(zhigong),1,fp)!
=1)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
count++;
}
if(count>size)
printf("输入数据已满\n");
fclose(fp);
printf("所输入职工信息如下:
\n");
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
printf("序号\t姓名\t密码\t权限\t基本工资\t奖金\t纳税\t实发工资\n");
while(fread(&show,sizeof(zhigong),1,fp)!
=0)
printf("%ld\t%s\t%s\t%d\t%.2f\t\t%.2f\t%.2f\t%.2f\n",show.number,show.name,show.ps,show.power,show.salarys,show.awards,show.shui,show.sum);
fclose(fp);
}
4.3修改职工信息modifyzhigong.c
voidmodifyzhigong()
{
FILE*fp;
zhigongtmps,s[size],show,temp;
charname[9],ps[7],next,datafile[40]="zhigong";
intrecnumber,i,result=0;
floatsalarys,awards,shui,sum;
begin:
printf("请输入要修改职工的名字");
scanf("%s",name);
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
while(feof(fp)==0)
{
if(fread(&temp,sizeof(zhigong),1,fp)!
=0)
{
if(strcmp(temp.name,name)==0)
result=1;
}
}
if(result==0)
{
printf("要修改的职工%s不存在\n",name);
fclose(fp);
gotobegin;
}
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
recnumber=0;
while((fread(&tmps,sizeof(zhigong),1,fp))!
=0)
{
if(strcmp(tmps.name,name)==0)
{
printf("请输入要修改职工%s的密码",name);
scanf("%s",ps);
ps[6]='\0';
printf("请输入要修改职工%s的基本工资",name);
scanf("%f",&salarys);
printf("请输入要修改职工%s的奖金",name);
scanf("%f",&awards);
if((salarys+awards)>1600)
shui=0.1f*(salarys+awards);
else
shui=0;
sum=salarys+awards-shui;
s[recnumber].number=tmps.number;
strcpy(s[recnumber].name,tmps.name);
strcpy(s[recnumber].ps,ps);
s[recnumber].power=tmps.power;
s[recnumber].salarys=salarys;
s[recnumber].awards=awards;
s[recnumber].shui=shui;
s[recnumber].sum=sum;
recnumber++;
}
else
{
s[recnumber].number=tmps.number;
strcpy(s[recnumber].name,tmps.name);
strcpy(s[recnumber].ps,tmps.ps);
s[recnumber].power=tmps.power;
s[recnumber].salarys=tmps.salarys;
s[recnumber].awards=tmps.awards;
s[recnumber].shui=tmps.shui;
s[recnumber].sum=tmps.sum;
recnumber++;
}
}
fclose(fp);
fp=fopen(datafile,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
for(i=0;i { if(fwrite(&s[i],sizeof(zhigong),1,fp)! =1) { printf("文件%s打不开\n",datafile); exit (1); } } fclose(fp); printf("修改成功! \n"); printf("是否继续修改(y/n)\n"); next=getche(); if(next=='y'||next=='Y') gotobegin; printf("所修改职工信息如下: \n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } printf("序号\t姓名\t密码\t权限\t基本工资\t奖金\t纳税\t实发工资\n"); while(fread(&show,sizeof(zhigong),1,fp)! =0) printf("%ld\t%s\t%s\t%d\t%.2f\t\t%.2f\t%.2f\t%.2f\n",show.number,show.name,show.ps,show.power,show.salarys,show.awards,show.shui,show.sum); fclose(fp); } 4.43.删除职工信息delzhigong.c(删除这个职工的所有信息) voiddelzhigong() { FILE*fp; zhigongtmps,s[size],show,temp; charname[10],next,datafile[40]="zhigong"; intrecnumber,i,result=0; begin: printf("请输入要删除职工的名字"); scanf("%s",name); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } while(feof(fp)==0) { if(fread(&temp,sizeof(zhigong),1,fp)! =0) { if(strcmp(temp.name,name)==0) result=1; } } if(result==0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工工资查询系统论文 11 职工工资 查询 系统 论文