课程设计报告

发布 2022-10-01 05:27:28 阅读 8846

学生成绩管理系统。

编写人。同组成员课程设计负责人)

完成日期。辅导教师。

批阅日期。分数。

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语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...