C语言课程设计 - 工资信息管理系统(修改版)

ZQQQQQQ 贡献于2012-06-19

作者 cuglxo  创建于2007-07-31 06:13:00   修改者User  修改于2012-06-19 09:21:00字数5506

文档摘要:设计目的是我们更好地了解c语言的强大,我的设计主要是让工资的管理更具有系统化,,是工资管理更清晰,更易操作。再就是可以使我更能好的练习c的编程以及实现系统的功能。掌握综合实验操作中记录的创建、查找、添加、删除等常用的算法设计。设计内容二.该系统能够实现工资信息管理。系统包括录入、浏览、查询、统计等功能。其中录入功能要求能够添加新的工资信息到文件;浏览功能要求能按照工资卡号、姓名分类浏览,提供分屏显示;
关键词:

 西安邮电大学 C语言课程设计报告 题 目 工资管理系统 院系名称: 计算机学院 专业名称: 网络工程 班 级: 1104 学生姓名: 畅文过 学号(8位): 04112100 指导教师: 潘晓英 设计起止时间:2012年06月06日~2012年06月15 一. 设计目的 是我们更好地了解c语言的强大,我的设计主要是让工资的管理更具有系统化,,是工资管理更清晰,更易操作。再就是可以使我更能好的练习c的编程以及实现系统的功能。掌握综合实验操作中记录的创建、查找、添加、删除等常用的算法设计。 设计内容二. 该系统能够实现工资信息管理。系统包括录入、浏览、查询、统计等功能。其中录入功能要求能够添加新的工资信息到文件;浏览功能要求能按照工资卡号、姓名分类浏览,提供分屏显示;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求能够按照工资卡号、姓名查询;统计功能要求能够按照月份累计统计某职工在某时间段实发工资总金额。可以将这个系统的设计分为以下几个模块:数据输入,数据添加,数据浏览,数据查询,数据统计。 三.概要设计 录入职工工资信息模块 添加职工工资信息模块 浏览职工工资信息模块 查询职工工资信息模块 统计职工工资信息模块 功能选择 工资信管理系统 四.详细设计 图一 系统功能模块图 1.主函数 主函数提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图] 开始 显示一系列功能选择 输入n,判断m 是否是1到6? 根据n值调用各 功能模块函数 结束 N 图二 主函数模块功能流程图 [程序] main() /********************主函数**********************/ { int n,w; /*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单应对数字的范围内*/ do{ puts("\t\t\t******************主菜单***************\n\n"); printf("\t\t\t\t 1.录入工资信息: \n"); printf("\t\t\t\t 2.添加工资信息: \n"); printf("\t\t\t\t 3.浏览工资信息: \n"); printf("\t\t\t\t 4.查询工资信息: \n"); printf("\t\t\t\t 5.统计工资信息: \n"); printf("\t\t\t\t 6.退出系统: \n"); puts("\n\n\t\t\t***************************************\n"); printf("选择(1-6):[ ]\b\b"); scanf("%d",&n); if(n<1||n>6) {w=1;getchar();} else w=0;} /*对选择的数字作判断*/ while (w==1); switch(n) { case 1: enter();break; /*输入模块*/ case 2: add();break; /*添加模块*/ case 3: browse();break; /*浏览模块*/ case 4: search();break; /*查询模块*/ case 5: count();break; /*统计模块*/ case 6: exit(0);break; /*退出*/ } } 2.各功能模块设计 (1)输入函数 【分析】 单独看各数据信息,姓名是字符型,可以采用字符型数组;工资卡号和月份是整数,采用整型;实发工资,水费,电费,税金,应发工资有可能是小数可采用实型。数据信息存放在文件中,一条记录对应一个职工的工资单信息,既符合习惯也方便信息管理。同时把职工的工资卡号,姓名,月份,应发工资,水费,电费,税金,实发工资作为结构体成员,用结构体数组存放若干个职工的工资信息。 struct gz 开始 输入用户要输入工资资料的份数n i从0到n-1调用输入函数input(i) i!=0 保存调用函数Save(n) { int num; char name[20]; int month; long ys; long ss; long wf; long ef; long tax; } g[N]; /*g[N]中每个数组元素对应一份工资资料*/ 【流程图】 【程序】 enter() { int i,n; printf("共输入多少份工资信息 (0-%d)?:",N-1); 图三 输入模块流程图 scanf("%d",&n); printf("\n 现在开始录入... \n\n"); for(i=0;i=j&&g[i].month<=k) {printf_one(i); sum=sum+g[i].ss;} printf("\n统计结果: 总工资为%d\n",sum); menu(); } 3.公共函数 (1)排序函数sort() 【程序】 sort() { int i,j,n; struct gz t; n=load(); for(i=0;ig[j].num) {t=g[i]; g[i]=g[j]; g[j]=t;} } (2)输入函数input (int i) 【程序】 input (int i) { scanf("%d%s%d%ld%ld%ld",&g[i].num,g[i].name,&g[i].month,&g[i].ys,&g[i].wf,&g[i].ef); tax(i); } (3)保存函数save(int n) 【程序】 save(int n) { FILE *fp; int i; if((fp=fopen("salary.txt","w"))==NULL) { printf("\n打开文件失败!\n"); return NULL;} for(i=0;i

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享文档获得金币 ] 2 人已下载

下载文档