C语言程序设计报告职工工资管理系统

合集下载

职工工资管理系统c++程序设计报告

职工工资管理系统c++程序设计报告

职工工资管理系统c++程序设计报告职工工资管理系统是一种用于管理员工薪资的软件系统。

下面是一个使用C++编写的职工工资管理系统的程序设计报告。

## 设计与实现### 设计该系统的设计主要考虑到以下几个方面:1. 功能需求:设计一个能够记录职工的基本信息、薪资信息、请假信息、加班信息等的系统。

2. 数据库设计:设计一个可以存储数据的数据结构,包括表格和字段。

3. 界面设计:设计一个用户友好的界面,方便用户进行操作。

4. 安全性:设计一个安全性措施,保证数据的安全性和隐私性。

### 实现1. 数据库设计:使用MySQL数据库进行数据存储。

2. 界面设计:使用Qt Creator开发界面。

3. 程序实现:使用C++语言进行程序实现。

#### 功能实现1. 记录职工基本信息:包括职工ID、姓名、性别、出生日期、身份证号码、联系方式等。

2. 记录薪资信息:包括基本工资、基本工资+津贴、基本工资+补贴、奖金等。

3. 记录请假信息:包括请假日期、请假原因、请假时间等。

4. 记录加班信息:包括加班日期、加班时间、加班地点、加班原因等。

5. 记录职工基本信息与薪资信息的关联关系。

6. 记录加班信息与请假信息的关联关系。

7. 显示当前职工的工资信息、请假信息、加班信息等。

8. 允许用户对职工的工资信息、请假信息、加班信息等进行编辑和删除。

## 性能测试为了测试系统的性能和稳定性,我们使用了以下方法:1. 模拟大量数据的操作:在系统中添加大量数据,并对其进行各种操作。

2. 进行并发测试:在系统中添加并发用户,并对系统进行各种操作。

3. 进行压力测试:在系统中添加大量压力,并通过增加并发用户等方式对系统进行压力测试。

通过以上方法,我们测试了系统的性能和稳定性,并得到了以下结果:- 系统在高并发情况下能够稳定运行。

- 系统在低并发情况下也能够流畅运行。

- 系统在高压力情况下能够快速响应,并保持稳定运行。

- 系统在低压力情况下也能够流畅运行。

c语言课程设计报告职工工资管理系统1.doc

c语言课程设计报告职工工资管理系统1.doc

c语言课程设计报告职工工资管理系统1 课程设计报告课程设计报告题目:职工工资管理系统设计者:专业班级:学号:指导教师:所属院系:2011年6月29日一.设计需求说明一、职工工资管理系统功能设计要求1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。

•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。

2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。

3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。

4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。

5. 删除记录:可删除数据文件中的任一记录。

6.恢复记录:能恢复被删除的任一记录。

7. 统计: (A) 计算各项工资平均工资及总工资, (B)•统计符合指定条件(如职工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元) 以内的工资职工人数及占总职工人数的百分比。

(C)按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。

8.保存数据文件功能。

9.打开数据文件功能。

经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。

程序运行结果如下表所示(记录个数至少8个)。

二.模块设计分析系统功能模块图:工作程序分析①输入:输入职工工资资料通过结构体的数组来进行操作,先头定义数组em[],先输入需要输入的职工人数m,然后进入循环,每次循环将各项输入结构体数组对应项的对应成员中,当循环次数等于人数时,完成全部员工的资料输入,退出循环。

同时将数据储存在ckerk_list文件中并自动保存至磁盘。

注:如首次使用,尚未输入数据,请先输入数据。

输入的数据将自动保存。

再次选择输入功能时原数据将被覆盖。

C语言程序设计报告_职工工资管理系统_

C语言程序设计报告_职工工资管理系统_

C语言程序设计报告课程名称:C语言程序设计院系:管理与经济学院专业班级:工业工程2012142班学号:7学生姓名:***指导教师:***完成时间:2013-06-20报告成绩:目录1、设计题目--------------------------------------------------------------------------22、设计要求(包括设计内容描述)--------------------------------------------23、设计作用与目的-----------------------------------------------------------------34、所用软件--------------------------------------------------------------------------35、系统设计--------------------------------------------------------------------------4系统结构----------------------------------------------------------------------4程序程序图-------------------------------------------------------------------4产生源程序----------------------------------------------------------------------66、实验调试结果(附运行效果图)--------------------------------------------367、设计中的问题及解决方法-----------------------------------------------------398、设计心得--------------------------------------------------------------------------409、参考文献--------------------------------------------------------------------------41职工工资管理系统的设计与实现1.设计题目题目:工资管理系统工资管理系统是企业不可缺少的一部分,它利用计算机对员工工资进行统一管理,实现工资管理系统的系统化、规范化和自动化,为企业提高工作效率。

c语言课程设计职工工资管理系统

c语言课程设计职工工资管理系统

一、概述随着社会的发展和进步,工资管理系统在企业管理中扮演着重要的角色。

为了提高工资管理的效率和准确性,许多企业都倾向于引入计算机系统来进行工资管理。

C语言是一种广泛应用于系统程序设计和应用程序开发的高级语言,具有跨评台性和高效性的特点。

设计一个基于C语言的职工工资管理系统将会成为一个有价值的课程设计。

二、系统功能需求1. 职工信息管理:系统需要能够记录、查看和修改职工的基本信息,包括尊称、工号、部门、入职日期等。

2. 薪资核算:系统应能根据职工的实际出勤、加班情况、请假情况等自动生成薪资,并能够灵活处理各类津贴和抠款。

3. 考勤管理:系统需要提供考勤记录的输入和查询功能,以便及时了解职工的工作情况。

4. 报表输出:系统需要能够生成各类工资报表,方便管理人员进行核对和统计。

5. 数据备份和恢复:系统应具备数据备份和恢复功能,以保证数据的安全性和完整性。

三、系统设计与技术选择在设计该系统时,应采用模块化、分层的设计思路,以便系统具有良好的可维护性和扩展性。

1. 界面设计:可以采用文本界面或图形界面进行设计,具体选择取决于系统的实际应用环境和用户需求。

2. 数据存储:可以选择采用文件系统或数据库来存储系统数据,常见的选择包括文本文件、CSV文件、SQLite数据库等。

3. 算法选择:需要根据系统的具体需求选择合适的算法来实现薪资核算和报表生成等功能。

4. 开发工具:可以选择C语言的集成开发环境(IDE)来进行开发,例如Visual Studio、Dev-C++等。

四、系统实现在进行系统开发时,需要按照设计要求逐步实现各个功能模块,同时进行严格的测试和调试工作,以确保系统的稳定性和准确性。

1. 职工信息管理模块:包括新增、修改、删除职工信息等功能。

2. 薪资核算模块:根据考勤情况自动生成薪资并进行津贴和抠款处理。

3. 考勤管理模块:提供考勤记录的输入和查询功能,确保数据的及时更新和准确性。

4. 报表输出模块:能够生成各类工资报表,包括月度工资表、年度工资统计表等。

C语言实训:职工工资管理系统(总10页)

C语言实训:职工工资管理系统(总10页)

C语言实训:职工工资管理系统(总10页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除指导老师:周杨萍时间:第13周()一、实训目的C语言程序设计实训是C语言程序设计课程教学的重要组成部分。

本课程通过提供学生一个实训练习的机会,巩固、提高学生的基本编程能力,同时通过训练编写综合程序的方式,提高学生分析问题和解决问题的能力,为后续课程的学习打下良好的基础。

二、实训题目和程序清单(包括程序运行截图界面)(一)实训题目:职工工资管理系统。

参考运行界面如下:具体要求:出现上述界面后,用户可以通过输入1-6之间的数字完成所提示的功能。

循环往复,直到输入7,退出系统。

本系统具有职工的工资基本信息(职工号、姓名、应发工资、奖金、水电费、公积金、医疗保险、扣款合计、实发工资),能够根据需要追加、查询、修改、删除、统计并浏览职工的工资信息。

具体功能如下:1.初始化信息(职工信息的输入,包括职工号、姓名、应发工资、奖金、水电费、公积金、医疗保险) ;2.追加职工信息(继续添加职工的信息,要求职工号不重复);3.根据职工号查询(完成按职工号查询指定职工的工资信息);4.根据职工号修改(完成按职工号修改指定职工的工资信息);5.根据职工号删除(完成按职工号删除指定职工的工资信息);6.统计并浏览(完成扣款合计和实发工资的统计,并显示所有职工的工资信息);7.退出(退出系统)。

(提示:在使用字符界面的菜单编程时,需要清屏,可以使用system("cls")函数将屏幕清屏。

需要退出系统时,可以使用exit(0)函数退出。

需要暂停程序的执行时,可以使用system("pause")函数暂停。

使用这些函数时应包含""系统函数头文件。

)(二)程序清单:#include<>gh=001;strcpy(work[1].xm,"aa");work[1].yfgz=1000;work[1].jj=500;work[1].sdf=200;work[1].gjj=100;work[1].ylbx=98;work[1].kkhj=work[1].sdf+work[1].gjj+work[1].ylbx;work[1].sfgz=work[1].yfgz+work[1].jj-work[1].kkhj;/****对第二位进行初始化****/work[2].zgh=002;strcpy(work[2].xm,"bb");work[2].yfgz=2000;work[2].jj=300;work[2].sdf=200;work[2].gjj=100;work[2].ylbx=90;work[2].kkhj=work[2].sdf+work[2].gjj+work[2].ylbx;work[2].sfgz=work[2].yfgz+work[2].jj-work[2].kkhj;/****对第三位进行初始化****/work[3].zgh=003;strcpy(work[3].xm,"cc");work[3].yfgz=1000;work[3].jj=500;work[3].sdf=200;work[3].gjj=100;work[3].ylbx=98;work[3].kkhj=work[3].sdf+work[3].gjj+work[3].ylbx;work[3].sfgz=work[3].yfgz+work[3].jj-work[3].kkhj;/****对第四位进行初始化****/work[4].zgh=004;strcpy(work[4].xm,"dd");work[4].yfgz=1000;work[4].jj=500;work[4].sdf=200;work[4].gjj=100;work[4].ylbx=98;work[4].kkhj=work[4].sdf+work[4].gjj+work[4].ylbx;work[4].sfgz=work[4].yfgz+work[4].jj-work[4].kkhj;count=5;printf("..................初始化成功....................\n");system("pause");}void zjxx() gh);printf("输入姓名:\n");scanf("%s",work[count].xm);printf("输入应发工资:\n");scanf("%f",&work[count].yfgz);printf("输入奖金:\n");scanf("%f",&work[count].jj);printf("输入水电费:\n");scanf("%f",&work[count].sdf);printf("输入公积金:\n");scanf("%f",&work[count].gjj);printf("输入医疗保险:\n");scanf("%f",&work[count].ylbx);work[count].kkhj=work[count].sdf+work[count].gjj+work[count].ylbx; work[count].sfgz=work[count].yfgz+work[count].jj-work[count].kkhj;count++;printf("还需要再添加吗(Y/N)\n");scanf("\n%c",&i);if(i=='y' || i=='Y')zjxx();elsereturn;system("pause");}void cx() gh==zgh)break;}if(i<=count){printf("....................职工的所有信息...........................\n");printf("职工号:%d\n姓名:%s\n应发工资:%.2f\n奖金:%.2f\n水电费:%.2f\n公积金:%.2f\n医疗保险:%.2f\n扣款合计:%.2f\n实发工资:%.2f\n",work[i].zgh,work[i].xm,work[i].yfgz,work[i].jj,work[i].sdf,work[i].gjj,work[i].ylbx,work[i].kkhj,work[i].sfgz);}elseprintf("sorry,mei you ci ren ");system("pause");}void xg() gh==zgh)break;}if(i<=count){printf("....................职工的所有信息...........................\n");printf("职工号:%d\n姓名:%s\n应发工资:%.2f\n奖金:%.2f\n水电费:%.2f\n公积金:%.2f\n医疗保险:%.2f\n扣款合计:%.2f\n实发工资:%.2f\n",work[i].zgh,work[i].xm,work[i].yfgz,work[i].jj,work[i].sdf,work[i].gjj,work[i].ylbx,work[i].kkhj,work[i].sfgz);}else{printf("sorry,mei you ci ren ");}printf("请重新输入姓名");scanf("%s",&work[i].xm);printf("请重新输入应发工资:\n");scanf("%f",&work[i].yfgz);printf("请重新输入奖金:\n");scanf("%f",&work[i].jj);printf("请重新输入水电费:\n");scanf("%f",&work[i].sdf);printf("请重新输入公积金:\n");scanf("%f",&work[i].gjj);printf("请重新输入医疗保险:\n");scanf("%f",&work[i].ylbx);}void sc() gh==zgh)break;}if(i<=count){printf("....................职工的所有信息...........................\n");printf("职工号:%d\n姓名:%s\n应发工资:%.2f\n奖金:%.2f\n水电费:%.2f\n 公积金:%.2f\n医疗保险:%.2f\n扣款合计:%.2f\n实发工资:%.2f\n",work[i].zgh,work[i].xm,work[i].yfgz,work[i].jj,work[i].sdf,work[i].gjj,work[i].ylbx,work[i].kkhj,work[i].sfgz);printf("确定要删除吗请输入Y/N确认\n");setbuf(stdin,NULL);gh=work[i+1].zgh;strcpy( work[i].xm, work[i+1].xm);work[i].yfgz=work[i+1].yfgz;work[i].jj=work[i+1].jj;work[i].sdf=work[i+1].sdf;work[i].gjj=work[i+1].gjj;work[i].ylbx=work[i+1].ylbx;work[i].kkhj=work[i+1].kkhj;work[i].sfgz=work[i+1].sfgz;}work[i].zgh=0 ;strcpy(work[i].xm,"0");work[i].yfgz=0;work[i].jj=0;work[i].sdf=0;work[i].gjj=0;work[i].ylbx=0;work[i].kkhj=0;work[i].sfgz=0;count--;printf("所选信息已删除");}}elseprintf("sorry! mei you ci ren ");system("pause");}void tjll()f %.2f %.2f %.2f %.2f %.2f %.2f\n",work[i].zgh,work[i].xm,work[i].yfgz,work[i].jj,work[i].sdf,work[i].gjj,work[i].ylbx,work[i].kkhj,work[i].sfgz);printf("------------------------------------------------------------------\n");yfgz=yfgz+work[i].yfgz;jj=jj+work[i].jj;sdf=sdf+work[i].sdf;gjj=gjj+work[i].gjj;ylbx=ylbx+work[i].ylbx;}kkhj=sdf+gjj+ylbx;sfgz=yfgz+jj-kkhj;printf("汇总:职工人数%d\n",count-1);printf(" 应发工资%.2f\n",yfgz);printf(" 奖金%.2f\n",jj);printf(" 水电费%.2f\n",sdf);printf(" 公积金%.2f\n",gjj);printf(" 医疗保险%.2f\n",ylbx);printf("------------------------\n");printf(" 扣款合计%.2f\n",kkhj);printf(" 实发工资%.2f\n",sfgz);system("pause");}void main()//***************主函数,主界面**************{ int xz;do{ system("cls"); //清屏,清除屏幕上的所有信息printf("******** 《职工工资管理系统》制作人:********\n");printf(" 1-----初始化信息 \n");printf(" 2-----追加职工信息 \n");printf(" 3-----根据职工号查询 \n");printf(" 4-----根据职工号修改 \n");printf(" 5-----根据职工号删除 \n");printf(" 6-----统计并浏览 \n");printf(" 7-----退出 \n");printf("**********************************************\n");printf(" 输入您的选择(-7):");scanf("%d",&xz);switch(xz){ case 1:csh(); break; //执行子函数csh(完成初始化功能)case 2:zjxx(); break; //执行子函数zjxx(完成追加职工信息)case 3:cx();break; //执行子函数cx(完成根据职工号查询)case 4:xg();break; //执行子函数xg(完成根据职工号修改)case 5:sc(); break; //执行子函数sc(完成根据职工号删除)case 6:tjll(); break; //执行子函数tjll(完成统计并浏览)case 7:printf("\n-----------谢谢,欢迎下次光临!----------\n\n");default:exit(0); //退出系统,exit(0)函数功能是退出程序。

c语言_职工工资管理系统设计

c语言_职工工资管理系统设计

c语言_职工工资管理系统设计
职工工资管理系统是一种满足组织内部行政职能要求的系统。

它主要用于负责处理职工工资和社会保险的行政处理,致力于实现工资的合理控制,提供可靠的社会保障,维护公司和职员的权益。

职工工资管理系统的总体设计涉及到多个方面,包括职工信息管理、职工入职信息处理、职工调动及离职处理、职工考核信息处理、工资用工成本分析等。

职工信息管理:
主要包括对职工个人信息(包括基本情况、职称、工资等)、职工培训考核信息、职工出勤情况等进行管理及整理。

系统利用数据库,将这些信息统一储存,实现集中管理的目的,从而帮助用人单位对职工的资源进行全面了解,并能有效地实施人力资源政策。

职工入职信息处理:
系统提供职工入职信息处理和调整模块,用于处理职工入职注册信息,装订职工入职相关证明及存档备案,以保障组织职位管理及职员资料处理工作的准确性。

职工调动及离职处理:
职工调动及离职处理模块,是处理职工调动或离职变动的必要模块。

企业可利用系统的这一模块进行职工离职报告与合同变更、职工调动安排登记等工作,以保障职工权益的有效管理。

职工考核信息处理:
职工考核信息处理主要提供职工工作评价功能,实施对职工的定期考核,以便企业对职工培训和考核要求进行动态管理,实现培训及考核结果的连续有效跟踪。

工资用工成本分析:
工资用工成本分析模块,可以帮助企业实时监测用工和工资成本,实现工资控制,提高用工管理效率,增加经济效益,减少企业成本。

总之,职工工资管理系统的设计和实现能够有效的解决企业的业务管理需求,实现职工与组织之间健康、高效的沟通,为企业组织发展提供支持。

C语言课程设计---职工工资管理系统

C语言课程设计---职工工资管理系统

C语言程序设计课程设计题目:职工工资管理系统院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:课程设计(报告)任务及评语目录第1章课程设计的目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1程序功能介绍 (2)2.2程序整体设计说明 (2)2.2.1设计思路 (2)2.2.2数据结构设计及用法说明 (3)2.2.3程序结构(流程图) (5)2.2.4各模块的功能及程序说明 (6)2.2.5程序结果 (6)2.3程序源代码及注释 (7)第3章课程设计总结 (16)参考资料 (17)第1章课程设计的目的与要求1.1 课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力1.2 课程设计的实验环境硬件要求能运行Windows 2000/XP操作系统的微机系统。

C语言程序设计及相应的开发环境。

1.3 课程设计的预备知识熟悉C语言及C语言开发工具。

1.4 课程设计要求1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告第2章课程设计内容2.1程序功能介绍该系统能够实现工资信息管理。

系统包括录入,浏览,查询,统计等功能。

其中录入功能要求能够添加新的工资信息到文件;浏览功能要求能按照工资卡号,姓名分类浏览,提供分屏显示;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求能够按照工资卡号,姓名查询;统计功能要求能够按照月份累计统计某职工在某时间段实发工资总金额。

c语言课程设计工资管理系统

c语言课程设计工资管理系统

c语言课程设计工资管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程基础,能够运用C语言设计并实现一个简单的工资管理系统。

具体目标如下:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,理解面向过程的编程思想。

2.技能目标:学生能够运用C语言编写程序,解决实际问题。

通过设计并实现工资管理系统,学生将学会如何代码、使用数据结构、编写主函数等。

3.情感态度价值观目标:培养学生对计算机编程的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队合作意识。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,以及面向过程的编程思想。

具体安排如下:1.第一部分:C语言基础知识。

包括C语言的基本语法、数据类型、运算符、控制结构等。

这部分内容将帮助学生掌握C语言的基本编程能力。

2.第二部分:函数和面向过程编程。

包括函数的定义和调用、函数指针、数组和字符串等。

这部分内容将帮助学生掌握函数编程的方法,培养学生面向过程的编程思想。

3.第三部分:工资管理系统的设计与实现。

包括系统需求分析、系统设计、代码编写和调试等。

这部分内容将帮助学生将所学知识应用于实际问题,提高学生的编程能力和解决问题的能力。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:教师讲解C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,使学生掌握C语言的基本编程能力。

2.案例分析法:通过分析实际案例,让学生了解并掌握函数编程的方法,培养学生面向过程的编程思想。

3.实验法:学生在实验室进行编程实践,设计和实现工资管理系统,提高学生的编程能力和解决问题的能力。

4.小组讨论法:学生分组进行讨论,共同解决问题,培养学生的团队合作意识和创新精神。

四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备等。

具体如下:1.教材:选用《C程序设计语言》等权威教材,为学生提供系统、科学的学习材料。

C语言课程设计工资管理系统

C语言课程设计工资管理系统

界面布局:检查界面布局是否合理,是否符合用户习惯 功能测试:测试各个功能模块是否正常工作,是否有错误提示 性能测试:测试系统的响应速度和稳定性,是否有卡顿现象
兼容性测试:测试系统在不同操作系统和浏览器上的兼容性,是否有显示异常
员工信息录入:包括姓名、性别、年龄、 职位、薪资等信息
员工信息删除:删除不再需要的员工信 息
测试目的:验 证系统功能是 否符合设计要

测试内容:功 能测试、性能 测试、安全性
测试等
测试方法:黑 盒测试、白盒 测试、灰盒测
试等
测试结果:列 出测试过程中 发现的问题及
解决方案
测试结论:对 系统的整体性 能和稳定性进
行评估
测试建议:针 对测试中发现 的问题提出改
进建议
硬件要求:服务器、网络设备、存 储设备等
部署步骤:安装操作系统、安装数 据库管理系统、安装Web服务器、 部署工资管理系统等
添加标题
添加标题
添加标题
添加标题
软件要求:操作系统、数据库管理 系统、Web服务器等
维护方案:定期备份数据、定期检 查系统运行情况、定期更新系统软 件等
系统运行环境:Windows、Linux等操作系统 硬件要求:CPU、内存、硬盘等 软件安装:安装C语言编译器、数据库管理系统等 系统维护:定期备份数据、更新软件、修复漏洞等
升级方式:自动升级或手动升级 升级内容:功能升级、性能升级、安全升级等 扩展方式:插件扩展、模块扩展、功能扩展等 扩展内容:增加新功能、优化性能、提高安全性等
汇报人:
排序算法:快速排序、归并排序、 堆排序等
图算法:最短路径、最小生成树等
添加标题
添加标题
添加标题
添加标题

C程序设计报告-职工工资管理系统

C程序设计报告-职工工资管理系统

课程设计报告课程名称C语言程序设计课题名称职工工资管理系统专业班级学号姓名指导教师肖伟平罗敬2008年元月7 日湖南工程学院课程设计任务书课程名称C语言程序设计课题职工工资管理系统专业班级学生姓名学号指导老师肖伟平罗敬审批任务书下达日期2008 年元月7 日任务完成日期2008 年元月15 日目录(一)职工工资管理系统 (6)1.问题描述 (6)2.功能描述 (6)3.测试数据 (6)4.主要的几个模块的流程图 (11)(二)心得体会 (13)(三)原程序清单 (14)1.附件一 (14)2.附件二 (16)(四)计算机科学与技术系课程设计评分表 (21)一、设计内容与设计要求1、设计内容:职工工资管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。

熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。

③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。

④掌握结构的概念,结构类型的定义,结构变量的定义和初始化,结构成员的表示,结构的赋值含义,结构与指针、函数的关系。

⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。

2、设计要求:1)用C语言实现系统;利用结构体数组实现班级成绩的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。

2) 建立一个职工工资信息数据库,文件名为zggzk.txt,并从该文件中读取数据;3) 职工工资管理系统应能提供以下功能:(1)主菜单界面设计。

通过提示用户输入一个数字选项,调用相应的功能函数。

(2)显示功能:完成全部职工记录的显示;(3)计算功能:完成全部职工的应发工资、税款和实发工资的计算并显示;(4)修改功能:按工号修改一个职工的基本工资、奖金或扣款后重新计算职工的应发工资、税款和实发工资,并重新排序和显示;(5)查询功能:要求能分别按职工工号和姓名查询一条记录并显示;(6)追加功能:追加一条新职工记录,并重新排序和显示;⑦删除功能:按工号删除一条指定记录,并重新排序和显示;⑧排序功能:按职工实发工资降序排序;4) 说明:(1)要求将修改后的数据写入到一个新的数据文件nwegzk.txt中。

C语言课程设计报告-工资管理系统

C语言课程设计报告-工资管理系统

C语言课‎程设计报告‎-工资管理‎系统一.‎系统功能‎设计一‎个职工工资‎管理系统,‎其功能包括‎:(1‎)‎职工‎基本工资信‎息录入‎包括工号,‎姓名,应发‎工资,奖金‎,扣款,应‎发工资,扣‎税,实发工‎资。

(‎2)‎职‎工基本工资‎信息保存‎(3)‎‎职工基本‎工资信息查‎询按照‎工号查询‎按照姓名‎查询(‎4)‎职‎工基本工资‎信息显示‎在屏幕上‎显示所有的‎职工基本工‎资信息。

‎(5)‎‎职工基本‎工资信息更‎新能够‎实现修改,‎删除,插入‎,排序功能‎。

(6‎)‎职工‎基本工资信‎息统计‎统计公司员‎工工资在各‎等级的人数‎主界面‎系统主界面‎应有如下功‎能选项‎录入职工基‎本工资信息‎查询职‎工基本工资‎信息保‎存职工基本‎工资信息‎删除职工‎基本工资信‎息插入‎职工基本工‎资信息‎修改职工基‎本工资信息‎统计职‎工基本工资‎信息排‎序职工基本‎工资信息‎显示职工‎基本工资信‎息退出‎代‎码如下:‎#inc‎l ude ‎<stdi‎o.h>‎type‎d ef s‎t ruct‎empl‎o yee‎{‎‎ cha‎r num‎[10];‎ /‎/保存职工‎编号‎‎ cha‎r nam‎e[15]‎; /‎/保存职工‎姓名‎‎ flo‎a t jb‎g z; ‎‎//保存职‎工基本工资‎‎‎f loat‎jj; ‎‎ //保‎存职工奖金‎‎‎f loat‎kk; ‎‎ //‎保存职工扣‎款‎‎floa‎t yfg‎z; ‎ /‎/保存职工‎应发工资‎‎ f‎l oat ‎s k; ‎‎ //保‎存职工税款‎‎‎f loat‎sfgz‎;‎ //‎保存职工实‎发工资‎‎‎‎‎}Z‎G GZ;‎void‎menu‎(){‎‎ p‎r intf‎(" ‎‎‎‎Empo‎y ee S‎y stem‎\n");‎‎ p‎r intf‎("--<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎--<‎-<-<@‎\n");‎‎ p‎r intf‎(" ‎ *1 ‎i nput‎‎r ecor‎d‎ *‎2 del‎e te ‎reco‎r d\n"‎);‎‎prin‎t f(" ‎ *‎3 sea‎r ch ‎ rec‎o rd ‎‎*4 m‎o dify‎ re‎c ord\‎n");‎‎ pr‎i ntf(‎"‎*5 i‎n sert‎ r‎e cord‎‎ *6‎coun‎t‎r ecor‎d\n")‎;‎‎p rint‎f(" ‎ *7‎sort‎‎reco‎r d ‎‎*8 sa‎v e ‎ rec‎o rd\n‎");‎‎ pri‎n tf("‎‎*9 di‎s play‎ re‎c ord ‎‎ *0 ‎q uit ‎ r‎e cord‎\n");‎‎ p‎r intf‎("--<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎--<‎-<-<@‎\n");‎‎ p‎r intf‎("Ple‎a se e‎n ter ‎y ou c‎h oice‎(0-9)‎\n");‎}‎i nt i‎n put(‎Z GGZ ‎a[],i‎n t k)‎{‎‎ int‎j,x;‎‎ c‎h ar s‎t r[10‎];‎‎j=x=‎0;‎‎whil‎e(1)‎‎ {‎‎‎‎p rint‎f("--‎-----‎-----‎-----‎-----‎-----‎-\n")‎;‎‎‎ pri‎n tf("‎请输入职工‎的编号:(‎按0返回主‎菜单)")‎;‎‎‎‎ s‎c anf(‎"%s",‎s tr);‎‎‎‎‎ st‎r cpy(‎a[k].‎n um,s‎t r);‎‎‎‎f or(j‎=0;j<‎k;j++‎)‎‎‎‎ {‎‎‎‎‎if(s‎t rcmp‎(a[j]‎.num,‎s tr)=‎=0)‎‎‎‎‎{‎‎‎‎‎‎ pri‎n tf("‎已经有工号‎为%s的员‎工信息!请‎重新输入员‎工号。

c语言课程设计报告 职工工资管理系统

c语言课程设计报告 职工工资管理系统

一.设计需求说明一、职工工资管理系统功能设计要求1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。

•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。

2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。

3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。

4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。

5. 删除记录:可删除数据文件中的任一记录。

6.恢复记录:能恢复被删除的任一记录。

7. 统计: (A) 计算各项工资平均工资及总工资, (B)•统计符合指定条件(如职工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元) 以内的工资职工人数及占总职工人数的百分比。

(C)按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。

8.保存数据文件功能。

9.打开数据文件功能。

经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。

程序运行结果如下表所示(记录个数至少8 个)。

二.模块设计分析系统功能模块图:工作程序分析①输入:输入职工工资资料通过结构体的数组来进行操作,先头定义数组em[],先输入需要输入的职工人数m,然后进入循环,每次循环将各项输入结构体数组对应项的对应成员中,当循环次数等于人数时,完成全部员工的资料输入,退出循环。

同时将数据储存在ckerk_list文件中并自动保存至磁盘。

注:如首次使用,尚未输入数据,请先输入数据。

输入的数据将自动保存。

再次选择输入功能时原数据将被覆盖。

②保存:将输入的资料存入磁盘读取文件clerk_list,若文件不存在,打印“打开失败并退出。

若存在,则通过循环语句将输入到结构体数组的数据逐个输入磁盘。

职工工资管理系统c语言程序设计

职工工资管理系统c语言程序设计

职工工资管理系统 C 语言程序设计简介职工工资管理系统是一个用于帮助企业管理职工工资的程序,它可以实现对职工的基本信息、工作时长、工资等进行管理。

本文将介绍如何使用 C 语言实现一个简单的职工工资管理系统。

功能设计1. 添加职工信息系统可以添加新的职工信息,包括职工编号、姓名、性别、职位等。

2. 修改职工信息已有职工信息可以进行修改,如姓名、性别、职位等。

3. 计算工资系统可以根据职工的工作时长和基础工资计算出实际工资。

4. 查询职工信息可以通过职工编号或姓名查询职工的详细信息。

5. 显示所有职工信息将所有职工的信息显示在界面上。

开发流程1. 定义数据结构首先,我们需要定义一个数据结构Employee来保存职工的信息,包括职工编号、姓名、性别、职位、基础工资等字段。

struct Employee {int id;char name[50];char gender[10];char position[50];float baseSalary;float hoursWorked;float totalSalary;};2. 编写主要函数添加职工信息void addEmployee(struct Employee emp) {// 将 emp 添加到员工列表中}修改职工信息void updateEmployee(struct Employee emp) {// 根据职工编号修改对应的员工信息}计算工资float calculateSalary(struct Employee emp) {// 计算职工的实际工资return emp.baseSalary + emp.hoursWorked * hourlyRate;}查询职工信息void searchEmployee(int id) {// 根据职工编号查询职工信息}显示所有职工信息void displayAllEmployees() {// 显示所有职工的信息}3. 用户界面交互为了方便用户操作,可以设计一个简单的用户界面,使用控制台打印实现信息展示和输入。

c语言职工工资管理系统代码

c语言职工工资管理系统代码

C语言职工工资管理系统代码1. 项目简介本项目是一个用C语言编写的职工工资管理系统。

该系统旨在帮助企业或组织更好地管理职工的工资信息,包括薪资计算、数据存储和查询等功能。

通过该系统,可以提高工资管理的效率和准确性,减少人力资源部门的负担。

2. 功能需求本系统需要实现以下功能:•添加新员工:输入员工姓名、基本工资、津贴等信息,并生成唯一的员工ID。

•删除员工:根据员工ID删除指定员工信息。

•修改员工信息:根据员工ID修改指定员工的基本信息。

•计算薪资:根据员工ID计算指定员工的实际薪资,并将结果保存到数据库中。

•查询薪资:根据员工ID查询指定员工的薪资信息。

3. 数据结构设计为了存储职工的基本信息和薪资数据,我们可以使用以下数据结构:3.1 员工结构体定义struct Employee {int id; // 员工IDchar name[50]; // 员工姓名float basicSalary; // 基本工资float allowance; // 津贴float actualSalary; // 实际薪资};3.2 员工数组定义struct Employee employees[100]; // 最多存储100个员工的信息int employeeCount = 0; // 当前员工数量4. 系统实现4.1 添加新员工void addEmployee() {struct Employee employee;printf("请输入员工姓名:");scanf("%s", );printf("请输入基本工资:");scanf("%f", &employee.basicSalary);printf("请输入津贴:");scanf("%f", &employee.allowance);employee.id = employeeCount + 1;employee.actualSalary = employee.basicSalary + employee.allowance;employees[employeeCount] = employee;employeeCount++;printf("添加成功!员工ID为:%d\n", employee.id);}4.2 删除员工void deleteEmployee() {int id;printf("请输入要删除的员工ID:");scanf("%d", &id);int index = findEmployeeIndex(id);if (index == -1) {printf("未找到对应的员工信息。

职工工资管理系统c++程序设计报告

职工工资管理系统c++程序设计报告

职工工资管理系统c++程序设计报告职工工资管理系统的C++程序设计报告示例如下:## 1. 项目概述职工工资管理系统是一个用于管理公司职工工资的软件。

该系统需要包括员工个人信息、工资、奖金、扣款等信息的管理。

还可以包括对工资数据的智能分析和报表生成等功能。

## 2. 设计思路### 2.1 需求分析对系统的需求进行分析,确定系统需要支持的功能,包括员工的基本信息、工资信息、奖金信息、扣款信息等。

### 2.2 设计模式采用设计模式,如MVC(Model-View-Controller)模式,将系统划分为三个不同的模块,分别是用户界面模块、数据管理模块和计算模块。

### 2.3 数据库设计设计一个适合的数据库结构,将系统中的数据存储到数据库中。

需要考虑到数据的完整性、查询的复杂性和扩展性等因素。

### 2.4 编程框架采用C++语言,使用MVC模式,采用主循环(Main Method)来实现整个程序的启动和运行。

## 3. 技术实现### 3.1 用户界面设计使用Qt框架,设计一个用户友好的界面,包括菜单栏、工具栏、表单控件等。

### 3.2 数据管理模块设计数据管理模块的功能包括对员工信息的增删改查等操作。

需要使用MySQL数据库来实现数据的存储和查询。

### 3.3 计算模块设计计算模块的功能是根据员工的基本信息和工资信息等计算员工的奖金和扣款。

需要使用C++和MySQL数据库的API来实现计算逻辑。

## 4. 错误处理在程序运行过程中,需要对用户输入的数据进行检查,如果有误则需要进行相应的错误处理。

在程序的结束前,需要对程序运行期间所消耗的资源进行统计,并进行相应的错误处理。

## 5. 性能优化为了提高系统的性能,需要使用适当的数据结构和算法,并优化程序的代码。

如:使用多线程技术来并行处理计算任务,减少内存的占用,使用高效的算法来减少程序的时间复杂度等。

## 6. 总结本程序采用C++语言,使用MVC模式,采用MySQL数据库来实现数据的存储和查询。

C语言职工工资管理系统程序设计报告

C语言职工工资管理系统程序设计报告

院(系)信息工程系指导教师(职称)完成时间2017年5月31日课程设计任务书题目职工工资管理系统程设计准备通过Windows控制台应用程序实现职工工资管理系统的简单运行。

利用所学知识,本着简单、易用的设计原则,本课程设计尽量实现良好、美观的“人机界面”,便于软件的操作使用。

本次设计主要学习内容包括:(一)进一步学习并熟练掌握C语言语法和编程思想。

(二)学习C语言提供的库函数,熟悉Visual C++ 6.0的开发工具。

(三)学习C语言函数、链表、结构体、文件读取、指针等知识。

(四)学习如何查阅他人的文档进行软件的设计与开发。

二、基本要求:(一)质量要求5月年54.进入课程设计论文审阅阶段,准备答辩:2017年5月29日—6月9日。

三、主要参考资料:1. 工资管理系统课程设计程序/JZQT_T/article/category/23172352. C语言程序设计规范及基础https:///view/58b561255901020207409c7b.html3. 《明解C语言第3版》,(日)柴田望洋著,人民邮电出版社4. 《C Primer Plus 第6版中文版》,姜佑译,人民邮电出版社5. 《C程序设计第四版》,谭浩强著,清华大学出版社目录1 概述 (1)1.1 设计思想 (1)1.2 设计原则 (1)1.3 性能需求 (1)462128 附录 (31)1 概述1.1 设计思想1.系统分成几个相对独立的模块,但这些模块都进行集中式管理。

2.分层的模块化程序设计思想,整个系统采用模块化结构设计作为应用程序,有较强的可操作性和扩展性。

5.源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。

1.3 性能需求(1)支持工资信息一次性多组导入(2)非法操作能够提示错误并且知道安全行为方式(3)信息查询时界面显示数量1.4 课程设计报告内容及分工情况1.4.1 课程设计报告内容程图的设计;负责“排序”代码的编写及整体代码的整合;负责程序设计报告中函数详细设计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计报告目录1、设计题目--------------------------------------------------------------------------22、设计要求(包括设计内容描述)--------------------------------------------23456789职工工资管理系统的设计与实现1.设计题目2.1234567、计算职工的工资(输入基本工资、扣款、奖金后,马上算出应发工资、税金、实发工资、总工资)。

8、查询、排序功能——算法。

1)按编号查询、排序。

2)按姓名查询。

3)按工资排序。

4)基本信息的删除与修改(可选项)。

3.设计作用与目的1、通过这次专题实习,巩固和加深对所学相关知识点的理解。

2、进一步熟悉基本流程控制结构——实现分支的if…else语句、switch语句和实现循环的for、while…、do…while语句、break、continue等。

3、基本数据类型、数组、结构体、自定义类、函数的应用。

4、加强对模块化程序设计和面向对象程序设计的理解。

56789、4.Windows XP;Visual C++ 6.0(完整绿色版);5.系统设计5.1 程序逻辑图6.源程序代码#include <stdio.h> //标准输入输出#include <stdlib.h> //处理杂乱#include <windows.h> //Sleep()#include <string.h> //字符串操作#include <conio.h> //系统输入输出#include <time.h> //时间相关/**********************下面是对用到的全局常量声明*************************/ #define NAME 10 //职工职工姓名长度#define PASSWORD "123" //系统登陆密码int shuru=0; //全局变量标记当前录入职工个数FILE *fp; //声明一个文件指针/**************************结构体定义************************************/ struct person{ //职工工资的结构体char name[NAME]; //职工职工姓名int num; //职工编号float paid; //职工基本工资{system("color 027"); //设置当前窗口的背景色和前景色Password(); //调用密码验函数Help(); //调用系统信息函数Menu(); //调用菜单函数}void Inputper(struct person per[]) //录入职工工资函数原形{pp=per; //指针指向结构system("cls"); //清屏int i;printf("请问你要输入几个职工的信息:");scanf("%d",&shuru);if((fp=fopen("inputdata","wb+"))==NULL) //当前目录下是否存在INPUTDA TA文件{ //"wb+":读写打开或建立一个二进制文件,允许读和写printf("Cannot open file strike any key exit!");getch();exit(1);}fprintf(fp,"职工编号职工姓名基本工资扣款奖金应发工资税金实发工作总工资\n");for(i=0;i<shuru;i++){fprintf(fp," %6d %8s %5.1f\t %5.1f\t %3.1f\t %5.1f\t %4.1f\t\n",per[i].num,per[i].name,per[i].paid,per[i].discount, per[i].extra,per[i].realpaid,per[i].sum);}}void Modifyper(struct person per[]){pp=per;int id,i=0; //id为接收用户输入的职工编号if((fp=fopen("modifydata.sys","wb+"))==NULL){printf("Cannot open file strike any key exit!");getch();exit(1);}fprintf(fp,"职工编号职工姓名基本工资扣款奖金应发工资税金实发工资总工资\n");printf("\n请输入你要修改的职工的编号:");scanf("%d",&id);Sleep(500);printf("\n\t查找相关数据.");for(i=0;i<=15;i++){}{{printf("------------------------------\n");per[i].sum=per[i].paid-per[i].discount+per[i].extra;per[i].realpaid=per[i].paid-per[i].discount;fprintf(fp," %6d %8s %5.1f\t %5.1f\t %3.1f\t %5.1f\t %4.1f\t\n",per[i].num,per[i].name,per[i].paid,per[i].discount, per[i].extra,per[i].realpaid,per[i].sum);}}}void Findper(struct person per[]) //查询职工工资信息{int i=0,j=0,id; //循环变量和用于接收职工编号printf("请输入你要查询的职工编号:");scanf("%d",&id);for(i=0;i<shuru;i++){if (per[i].num==id) //如果找到你查询的数据就执行下面语句{ //如果找不到。

直接回程序主界%per[i].sum=per[i].paid-per[i].discount+per[i].extra;per[i].realpaid=per[i].paid-per[i].discount;%4.1f\t m);}}}{{}for(i=0;i<shuru;i++){if(per[i].num==id) //判断职工编号信息否存在?{printf("职工编号信息已经存在!\n");flag=0;getch();break;}}if (flag!=0){shuru++; //插入一个,原来的总数增加1printf("请确认输入要插入职工编号:");scanf("%d",&per[shuru-1].num); //如果不存在..那么就把插入的信息放到结构数组最后printf("输入职工姓名:");fflush(stdin);gets(per[shuru-1].name);printf("输入职工的工资信息\n");printf("------------------------------\n");printf("\n基本工资: ");}}{for(i=0;i<shuru;i++){ per[i].gotpaid=per[i].paid-per[i].discount;if (per[i].gotpaid<2000)per[i].fare=0;else if (per[i].gotpaid>=2000&&per[i].gotpaid<4999)per[i].fare=per[i].gotpaid*0.05;else if (per[i].gotpaid>=5000&&per[i].gotpaid<10000)per[i].fare=per[i].gotpaid*0.1;else if (per[i].gotpaid>=10000&&per[i].gotpaid<99999)per[i].fare=per[i].gotpaid*0.25;else if (per[i].gotpaid>=100000)per[i].fare=per[i].gotpaid*0.3;per[i].sum=per[i].paid-per[i].discount+per[i].extra;per[i].realpaid=per[i].paid-per[i].discount;}printf("\n职工编号职工姓名基本工资扣款奖金应发工资税金实发工资总工资\n");for(i=0;i<shuru;i++){printf("\n %6d %8s %5.1f\t %5.1f\t %3.1f\t %5.1f\t %5.1f\t %4.1f\t %5.1f\t",per[i].num,per[i].name,per[i].paid,per [i].discount,per[i].extra,per[i].gotpaid,per[i].fare,per[i].realpaid, per[i].sum);}}{int i,j;{}ask = getchar();if(ask != 'n'){for(i=0;i<shuru;i++){if(per[i].num == delnum)break;}if(i > shuru)printf("\n\t没有你要删除的职工!\n");else{for(j=i;j<shuru;j++){temp = per[j];per[j] = per[j+1];per[j+1] = temp;}shuru--; //删掉一个职工信息后职工总数相应-1system("cls");printf("\n\n删除成功!\n");}\t%5.1f}}{{}if(chose==1){for(i=0;i<shuru-1;i++){for(j=i+1;j<shuru;j++){if(per[i].num>per[j].num){temp=per[i];per[i]=per[j];per[j]=temp;}}}printf("\n职工编号职工姓名基本工资扣款奖金应发工资税金实发工资总工资\n");for(i=0;i<shuru;i++){printf("\n %6d %8s %5.1f\t %5.1f\t %3.1f\t %5.1f\t %4.1f\t\n",per[i].num,per[i].name,per[i].paid,per[i].discount,pe r[i].extra,per[i].realpaid,per[i].sum);}system("pause");}{{{{}}}{}}}void Password() //密码验证函数{char *pass=NULL; //初始化指针int i,count;time_t start,end; //时间函数pass=(char *)malloc(255*sizeof(char)); //分配内存while(1){count=0;printf("\n\n\n\n\n\t\t\t职工工资管理系统\n");printf("\n\t\t UserName:李海蛟\n");printf("\n\t\t PassWord:");while((count>=0)&&(pass[count++]=getch())!=13) //密码输入{if(pass[0]=='\b'){count=0;continue;}else if(pass[count-1]=='\b'){}else}{{}{end=time(NULL);}system("cls");free(pass); //释放储存密码的内存return ;}free(pass); //释放密码错误的那块内存pass=(char *)malloc(255*sizeof(char)); //重新分配储存密码内存system("cls");printf("\a\n\n\n\n\n\n\n\n\t\t\t\t密码错误!");getch();system("cls");}}void Menu(){struct person per[50]; //最大职工人数struct person *p; //声明一个结构指针p=per; //指针指向结构变量perint i,in; //接收用户的选择char ch; //用于判断是否继续do{printf("\t\t*9. 安全退出系统*\n");printf("\t\t=============================================\n"); printf("\t\t请您正确选择: ");if(!(scanf("%d",&in)==1)){while((ch=getchar())!='\n')putchar(ch);printf(" 没有此选项,请正确选择!");getch();continue;fflush(stdin);switch(in){case 1:Inputper(per); //调用录入职工工资函数break;case 2:Modifyper(per); //调用修改职工工资函函数break;case 3:}}while(in!=9);system("cls");printf("\n\n\n\n\n\n\n\n\t\t\t");printf("谢谢使用本系统!\n\n"); printf("\n\n\t\t\t\t\tEnding");for(i=0;i<=30;i++){Sleep(300);printf(".");printf("\n");}void Help(){printf("====================================================================\n"); printf("\n\n\t\t\t\t系统信息\n");printf("====================================================================\n"); printf("\n\n\t\t本系统是职工工资管理系统,在职工的姓名栏可以输入汉字");printf("\n\t\t如果在输入中没看到任何信息则是因为输入错误或无信息");printf("\n\t\t系统中的:实发工资= 基本工资- 扣款,不需要输入");}{int i,j;{}{printf("Cannot open file strike any key exit!");getch();exit(1);}fprintf(fp,"职工编号职工姓名基本工资扣款奖金应发工资税金实发工资总工资\n");for(i=0;i<shuru;i++){ per[i].gotpaid=per[i].paid-per[i].discount;if (per[i].gotpaid<2000)per[i].fare=0;else if (per[i].gotpaid>=2000&&per[i].gotpaid<4999)per[i].fare=per[i].gotpaid*0.05;else if (per[i].gotpaid>=5000&&per[i].gotpaid<10000)per[i].fare=per[i].gotpaid*0.1;else if (per[i].gotpaid>=10000&&per[i].gotpaid<99999)per[i].fare=per[i].gotpaid*0.25;else if (per[i].gotpaid>=100000)per[i].fare=per[i].gotpaid*0.3;per[i].sum=per[i].paid-per[i].discount+per[i].extra;per[i].realpaid=per[i].paid-per[i].discount;fprintf(fp,"\n %6d %8s %5.1f\t %5.1f\t %3.1f\t %5.1f\t %5.1f\t %4.1f\t %5.1f\t",per[i].num,per[i].name,per[i].paid, per[i].discount,per[i].extra,per[i].gotpaid,per[i].fare,per[i].realpaid, per[i].sum);}}7.以至于这8.这,这,它作为计算机应用的一部分,使用计算机对工资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

相关文档
最新文档