学生成绩管理系统。
编写人。同组成员课程设计负责人)
完成日期。辅导教师。
批阅日期。分数。
1.课程**题目:职工工资信息管理系统。
要求】该系统能够实现工资信息管理。系统包括录入、新增、浏览、查询和排序等功能。其中录入功能要求能够添加新的工资信息到文件;新增功能要求能够新增职工信息到文件;浏览功能要求能够按照工资卡号、姓名分类浏览;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求能够按照工资卡号、姓名查询。
提示】1、 文件中一行数据对应一个职工工资信息。
2、 工资信息的数据结构采用结构体数组,一个数组元素对应一条工资单记录。
3、 工资单信息包括工资卡号、姓名、月份、应发工资、税费、电费、税金、实发工资等。
4、 实发工资=应发工资—税费—电费—税金,其中税金计算方法为:
1) 应发工资<800元,税金=0
2) 800《应发工资<1400元,税金=(应发工资—800)*5%
3) 应发工资》1400元,税金=(应发工资—1400)*10%
2.程序设计思路。
1、设计思路。
1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;
2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;
3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
2、总体设计。
根据题目要求,可以将系统分为五个模块:
职工工资信息输入模块;
职工工资信息新增模块;
职工工资信息浏览模块;
职工工资信息排序模块;
职工工资信息查询模块;
3、详细设计。
1)工资信息采用结构体数组:
struct list
int num工资卡号。
char name[20姓名。
int month月份。
int salary1应发工资。
int water水费。
int electrisity电费。
float fax税金。
float salary2实发工资。
list[nlist[n]中每个数组元素对应一个职工工资信息。
2)输入模块。
按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息,税金和实发工资根据输入的信息进行计算得到,这些信息被录入到文件中。
文件操作函数:fopen,fwrite,fclose.
税金的计算:
if(应发工资<=800)
税金=0;else if (应发工资》800&&应发工资<=1400)
税金=(应发工资-800)*5%;
else if (应发工资》1400)
税金=(应发工资-1400)*10%;
实发工资=应发工资-水费-电费-税金。
3)新增模块。
增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式(以”ab”方式打开文件)。
4)浏览模块
调用排序模块的排序功能,可以浏览排序后的所有职工信息。
5)排序模块。
排序模块提供菜单选择,实现按照工资卡号升序、实发工资升序排序。排序方法可以选择冒泡排序、插入排序、选择排序等,本系统用的是冒泡排序。
6)查询模块。
实现按照工资卡号和姓名的查询,采用基本的查找方法即可。
3.功能模块图。
4.数据结构设计。
系统用将职工各项信息以结构体类型struct list来定义,它包括num,name[20],month,salary1,water,electricity,fax,salaly2等不同类型的数据项,同时定义了结构体数组,包括n个数组元素,对应n个职工,每一个元素用来存放一个职工的数据;每个职工的信息以结构体方式从内存和磁盘文件中进行存储和导出。以结构体方式来整合职工的不同信息,将不同的数据组合成一个有机整体,非常方便程序的调用。
5.算法设计。
1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。ny
2.添加模块
3.浏览模块。
4.排序模块。ny
5.查询模块。ny
6.程序**。
每个函数都要有功能说明)
#include<>
#include<>
#include<>
#include<>
#define n 50
void main()
void menu();
menu();
void menu主菜单函数。
void enter();
void add();
void browse();
void search();
void order();
int n,w1;
doelse w1=0;
while(w1==1);
switch(n)
struct list //结构体定义工资信息。
int num工资卡号。
char name[20姓名。
int month月份。
int salary1应发工资。
int water水费。
int electrisity电费。
float fax税金。
float salary2实发工资。
list[nlist[n]中每个数组元素对应一个职工工资信息。
void enter输入模块函数。
void printf_back();
void s**e(int n);
void input(int i);
int i,n;
printf("how many workers (1-%d)?:n-1);
scanf("%d",&n输入职工数目。
printf(" enter date now");
for(i=0;i
if(i!=0)s**e(n储存职工信息。
printf_back执行返回函数。
void add新增模块函数。
void printf_back();
int i,n,m,k;
int load();
void s**e(int n);
void input(int i);
file *fp定义文件指针变量。
n=load导出文件信息,得到返回值。
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...