ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:90.04KB ,
资源ID:4522564      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4522564.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计报告职工工资管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、C语言程序设计报告职工工资管理系统C语言程序设计报告课程名称: C语言程序设计 院 系: 管理与经济学院 专业班级: 工业工程2012142班 学 号: 201214217 学生姓名: 李海蛟 指导教师: 杨雪青 完成时间: 2013-06-20 报告成绩: 1、设计题目-22、设计要求(包括设计内容描述)-23、设计作用与目的-34、所用软件-3 5、系统设计-4 5.1 系统结构-45.2 程序程序图-45.3 产生源程序-66、实验调试结果(附运行效果图)-367、设计中的问题及解决方法-398、设计心得-409、参考文献-41职工工资管理系统的设计与实现1.设计题目 题目:工资管理系统

2、工资管理系统是企业不可缺少的一部分,它利用计算机对员工工资进行统一管理,实现工资管理系统的系统化、规范化和自动化,为企业提高工作效率。本程序旨在训练读者的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。本程序中涉及结构体、数组、文件等方面的知识。2.设计要求1、启动软件时,进行密码校验。若出错三次,则自动退出系统。2、实现简易的提示菜单界面,刚运行时应显示版本信息。用所学的知识尽量实现良好的、美观的“人机界面”,便于软件的操作使用。3、要求把所有录入的数据以文件的形式,保存在硬盘上。4、系统包含以下基本功能:登陆功能、显示主菜单功能、职工信息输入信息输出、职

3、工信息查询、职工信息修改、工资排序、工资统计、导出数据、导入数据、退出等。5、职工信息输入信息输出要求一个职工的基本信息(编号、姓名、基本工资)的录入,以文件形式保存输入。6、职工工资表浏览工资功能输出。7、计算职工的工资(输入基本工资、扣款、奖金后,马上算出应发工资、税金、实发工资、总工资)。8、查询、排序功能算法。1) 按编号查询、排序。2) 按姓名查询。3) 按工资排序。4) 基本信息的删除与修改(可选项)。3.设计作用与目的1、通过这次专题实习,巩固和加深对所学相关知识点的理解。2、进一步熟悉基本流程控制结构实现分支的ifelse语句、switch语句和实现循环的for、while、d

4、owhile语句、break、continue等。3、基本数据类型、数组、结构体、自定义类、函数的应用。4、加强对模块化程序设计和面向对象程序设计的理解。5、掌握C语言程序设计的基本思想,了解简单的系统分析和6、了解数据库系统的理论7、掌握数据库设计的基本方法,熟悉数据库设计的步骤;8、学习基本数据库编程方法。9、进一步巩固、加深学生所学专业课程C语言程序设计的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。10全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。11利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独

5、立开发应用系统,进行数据处理的综合能力。12对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 13掌握面向对象的程序设计方法。14进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)、修改程序和程序的测试。4.运行环境及工具软件Windows XP;Visual C+ 6.0(完整绿色版);5.系统设计5.1 程序逻辑图 图1:系统结构框图5.2 程序流程图 6源程序代码#include /标准输入输出#include /处理杂乱 #include /Sleep() #include /字符串操作 #include /系统输入输出 #include

6、/时间相关/*下面是对用到的全局常量声明*/#define NAME 10 /职工职工姓名长度#define PASSWORD 123 /系统登陆密码int shuru=0; /全局变量标记当前录入职工个数FILE *fp; /声明一个文件指针/*结构体定义*/struct person /职工工资的结构体char nameNAME; /职工职工姓名int num; /职工编号float paid; /职工基本工资float discount; /扣款float extra; /奖金float fare;/税金float gotpaid;/应发工资float realpaid; /实发工资fl

7、oat sum; /总工资*pp; /声明一个结构指针/*下面是对用到的函数声明*/void Password(); /密码验证函数void Save(struct person per); /保存信息函数void Inputper(struct person per); /录入信息函数void Delper(struct person per); /删除信息函数void Modifyper(struct person per); /修改信息函数void Findper(struct person per); /查找信息函数void Insertper(struct person per);

8、/插入信息函数void Sortper(struct person per); /排 序 函 数void Listper(struct person per); /显示职工信息void fare(struct person per,int n);/计算税金函数void Menu();void Help();/*程序主体*void main() /程序入口system(color 027); /设置当前窗口的背景色和前景色 Password(); /调用密码验函数Help(); /调用系统信息函数Menu(); /调用菜单函数void Inputper(struct person per) /录

9、入职工工资函数原形 pp=per; /指针指向结构 system(cls); /清屏int i;printf(请问你要输入几个职工的信息:);scanf(%d,&shuru);if(fp=fopen(inputdata,wb+)=NULL) /当前目录下是否存在INPUTDATA文件 /wb+:读写打开或建立一个二进制文件,允许读和写printf(Cannot open file strike any key exit!);getch();exit(1);fprintf(fp,职工编号 职工姓名 基本工资 扣款 奖金 应发工资 税金 实发工作 总工资n);for(i=0;ishuru;i+)p

10、rintf(输入职工编号:); /输入职工编号fflush(stdin);scanf(%d,&peri.num);printf(输入职工姓名:); /输入职工姓名fflush(stdin);gets(peri.name); printf(输入职工的工资信息n);printf(-n);printf(n基本工资: ); /基本工资fflush(stdin);scanf(%f,&peri.paid); printf(n扣款: ); /扣款fflush(stdin);scanf(%f,&peri.discount); printf(n奖金: ); /奖金fflush(stdin);scanf(%f,&

11、peri.extra); printf(n税金: ); /税金 printf(-n);peri.sum=peri.paid-peri.discount+peri.extra;peri.realpaid=peri.paid-peri.discount;fprintf(fp, %6d %8s %5.1ft %5.1ft %3.1ft %5.1ft %4.1ftn,peri.num,peri.name,peri.paid,peri.discount,peri.extra,peri.realpaid,peri.sum);void Modifyper(struct person per)pp=per;i

12、nt 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(nt查找相关数据.);for(i=0;i=15;i+)Sleep(250);printf(.);for(i=0;ishuru;i+)i

13、f(peri.num=id) /如果找到了就执行下面语句 ,找不到直接回主界面printf(n输入新职工编号:); /输入职工编号fflush(stdin);scanf(%d,&peri.num);printf(n输入新职工姓名:); /输入职工姓名fflush(stdin);gets(peri.name); printf(输入职工的工资信息n);printf(-n);printf(n基本工资: );scanf(%f,&peri.paid);fflush(stdin);printf(n扣款: );scanf(%f,&peri.discount);fflush(stdin);printf(n 奖

14、金: );scanf(%f,&peri.extra);printf(-n);peri.sum=peri.paid-peri.discount+peri.extra;peri.realpaid=peri.paid-peri.discount;fprintf(fp, %6d %8s %5.1ft %5.1ft %3.1ft %5.1ft %4.1ftn,peri.num,peri.name,peri.paid,peri.discount,peri.extra,peri.realpaid,peri.sum);void Findper(struct person per) /查询职工工资信息int i

15、=0,j=0,id; /循环变量和用于接收职工编号 printf(请输入你要查询的职工编号:);scanf(%d,&id);for(i=0;ishuru;i+)if (peri.num=id) /如果找到你查询的数据就执行下面语句 /如果找不到。直接回程序主界%peri.sum=peri.paid-peri.discount+peri.extra;peri.realpaid=peri.paid-peri.discount;printf(n职工编号 职工姓名 基本工资 扣款 奖金 应发工资 税金 实发工资 总工资 n);printf(n%6d %8s %5.1ft %5.1ft %3.1ft %

16、5.1ft %5.1ft %5.1ft %4.1ft nn,peri.num,peri.name,peri.paid,peri.discount,peri.extra,peri.gotpaid,peri.fare,peri.realpaid,peri.sum);system(pause); void Insertper(struct person per) /插入职工工资信息int flag=1;pp=per;int i,id;if(fp=fopen(insertdata.sys,wb+)=NULL) printf(Cannot open file strike any key exit!);

17、getch();exit(1);fprintf(fp,职工编号 职工姓名 基本工资 扣款 奖金 应发工资 税金 实发工资 总工资n);printf(输入你插入的职工编号:);scanf(%d,&id);for(i=0;ishuru;i+)if(peri.num=id) /判断职工编号信息否存在?printf(职工编号信息已经存在!n);flag=0;getch();break;if (flag!=0)shuru+; /插入一个,原来的总数增加1 printf(请确认输入要插入职工编号:);scanf(%d,&pershuru-1.num); /如果不存在.那么就把插入的信息放到结构数组最后pr

18、intf(输入职工姓名:); fflush(stdin);gets(pershuru-1.name); printf(输入职工的工资信息n);printf(-n);printf(n基本工资: );fflush(stdin);scanf(%f,&pershuru-1.paid);printf(n扣款: );fflush(stdin);scanf(%f,&pershuru-1.discount);printf(n奖金: ); /奖金fflush(stdin);printf(n税金: ); /税金fflush(stdin);printf(-n);peri.sum=peri.paid-peri.dis

19、count+peri.extra;peri.realpaid=peri.paid-peri.discount;fprintf(fp, %6d %8s %5.1ft %5.1ft %3.1ft %5.1ft %4.1ftn,pershuru-1.num,pershuru-1.name,pershuru-1.paid,pershuru-1.discount,pershuru-1.extra,peri.realpaid,pershuru-1.sum);Sleep(500);printf(插入数据成功!n);getch();void Listper(struct person per) /浏览所有职工

20、工 int i=0;for(i=0;ishuru;i+) peri.gotpaid=peri.paid-peri.discount;if (peri.gotpaid=2000&peri.gotpaid=5000&peri.gotpaid=10000&peri.gotpaid=100000)peri.fare=peri.gotpaid*0.3;peri.sum=peri.paid-peri.discount+peri.extra;peri.realpaid=peri.paid-peri.discount;printf(n职工编号 职工姓名 基本工资 扣款 奖金 应发工资 税金 实发工资 总工资n

21、);for(i=0;ishuru;i+)printf(n %6d %8s %5.1ft %5.1ft %3.1ft %5.1ft %5.1ft %4.1ft %5.1ft,peri.num,peri.name,peri.paid,peri.discount,peri.extra,peri.gotpaid,peri.fare,peri.realpaid, peri.sum); getch();void Delper(struct person per) /删除职工信息函数pp=per;struct person temp;int delnum;char ask;int i,j;if(fp=fop

22、en(Deldata.sys,wb+)=NULL) printf(Cannot open file strike any key exit!);getch();exit(1);fprintf(fp,职工编号 职工姓名 基本工资 扣款 奖金 应发工资 税金 实发工资 总工资n);system(cls);printf(nnt请输入你要删除的职工的职工编号:);fflush(stdin);scanf(%d,&delnum); printf(nt是否确认删除职工%d的信息(y/n),delnum);fflush(stdin);ask = getchar();if(ask != n)for(i=0;i

23、shuru)printf(nt没有你要删除的职工!n);elsefor(j=i;jshuru;j+)temp = perj;perj = perj+1;perj+1 = temp;shuru-; /删掉一个职工信息后职工总数相应-1system(cls);printf(nn删除成功!n); peri.sum=peri.paid-peri.discount+peri.extra;peri.realpaid=peri.paid-peri.discount;fprintf(fp, %6d %8s t%5.1f t%5.1f t%5.1f t%5.1f t%4.1fn,peri.num,peri.name,peri.paid,peri.discount,peri.extra,peri.realpaid,peri.sum);getch();void Sortper(struct person per) /排序函数int i,j,chose; /i,j为循环变量 chose为接收用户输入的排序方式struct person temp;printf(排序前的数据为n);pri

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1