c语言编写的 工资管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*程序名称:工资管理系统 */
/*程序说明:
该系统在磁盘上储存了某单位上月全体员工的工资信息,对于每一位职工存储以下信息:
月份,职工编号,基本工资,津贴,岗贴,补贴,房贴,交通补贴,应发数,房租,储蓄,会费,个人所得税,应扣数,实发数。
个人所得税计算方法设定为:工资少于800元为0,800-1000元的部分为5%,1000-5000元的部分为10%,5000元以上的部分为20%。该系统功能如下:
1)创建存储职工工资信息的存储系统。
2)添加职工的工资信息(增加新职工时用)
3)删除某职工的工资信息(职工离职或者死亡时用)
4)修改某职工的部分工资信息(当月开始增加或减少某些项工资或扣款数变化)
5)输出指定编号职工的工资信息(查询用)
6)输出当月全体职工的工资信息(发工资用) */
/*编写心得:
2006年9月26日19:30-23:00共计3小时30分钟。
由于时间仓促,没有对代码进行优化设计。对于主要的结构体也是粗粗设计了一下。
在存储上只采用了结构体数组,没用运用到二叉树等复杂的数据结构,有点遗憾。
主程序采用模块化设计,用独立的函数把功能分解开来,便于调试和扩展。
假如用C++就可以多做几个构造函数,可能会更方便点。不过最近在学JAVA,不敢乱用C++了,怕到时候知识搞混了。
感觉稍微麻烦一点的地方是文件的输入输出部分,因为一般的书上这一章都比较靠后,老师上课也就简单的带过的,格式有点忘记了。个人感觉现在靠C语言来做数据库不是很合适,50个元素的数组应该够了吧。
反正只要弄清那些常用函数,还有怎么一个I/O方式就可以了。
让偶想起了教偶C语言的班主任老童,想起了偶美好的青春,以及那些为了听课和MM们一大早抢前排坐位的幸福日子...
总得来说还是比较轻松的,就是项目字段太多,写写麻烦(谁叫偶打字不快啊^_^)
BY 雨田心梦
*/
/* 为了调用FILE等函数 */ #include "stdio.h"
#include "conio.h"
/* 为了调用atof()等函数 */ #include "stdlib.h"
#define TRUE 1
/* 结构体声明 */
struct zhigong
{
int month;
float id;
float jbgz;
float jt;
float gt;
float bt;
float ft;
float jtbt;
float yfs;
float fz;
float cx;
float hf;
float grsds;
float yks;
float sfs;
};
/* 建立50个元素的结构体数组 */ struct zhigong zg[50];
/* 建立结构体变量 */
struct zhigong zgone;
/* 职员列表中的数量 */
int n=0;
/* 获得字符串 */
char numstr[50];
main()
{
char ch;
n=0;
/*rfile(); 使用后启动程序时系统会自动加载纪录*/
while(TRUE)
{
printf("\n");
printf("========================================= ==\n");
printf("Welcome!Please
choice(1-6) : +\n");
printf("1.Add one
infomation +\n");
printf("2.Delete one
infomation +\n");
printf("3.Modify one
infomation +\n");
printf("4.Print out by
id +\n");
printf("5.Print out
all +\n ");
printf("6.Save
date
+\n");
printf("7.Load
date
+\n");
printf("8.Exit
+\n");
printf("========================================= ==\n");
ch=getche();
switch(ch)
{
case '1':addone();break;
case '2':delone();break;
case '3':modone();break;
case '4':idone();break;
case '5':listall();break;
case '6':wfile();break;
case '7':rfile();break;
case '8':return;
default:printf("Sorry,please choice again!\n");
}
}
}
/*计算个人所得税*/
float tgrsds(float m)
{
float sui1,sui2,sui3;