C语言程序设计课程设计报告封面及格式Word格式文档下载.docx

上传人:b****2 文档编号:15117242 上传时间:2022-10-27 格式:DOCX 页数:53 大小:840.92KB
下载 相关 举报
C语言程序设计课程设计报告封面及格式Word格式文档下载.docx_第1页
第1页 / 共53页
C语言程序设计课程设计报告封面及格式Word格式文档下载.docx_第2页
第2页 / 共53页
C语言程序设计课程设计报告封面及格式Word格式文档下载.docx_第3页
第3页 / 共53页
C语言程序设计课程设计报告封面及格式Word格式文档下载.docx_第4页
第4页 / 共53页
C语言程序设计课程设计报告封面及格式Word格式文档下载.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

C语言程序设计课程设计报告封面及格式Word格式文档下载.docx

《C语言程序设计课程设计报告封面及格式Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计报告封面及格式Word格式文档下载.docx(53页珍藏版)》请在冰豆网上搜索。

C语言程序设计课程设计报告封面及格式Word格式文档下载.docx

同时,简述了设计内容与要求、数据存储结构设计、程序设计、程序运行与测试和总结等内容,又通过部分程序的展示、部分运行结果的展示更加清楚的展示出程序设计与运行的过程。

关键字:

c语言数组结构体函数文件

课程设计任务书

设计题目:

职工工资管理系统

学生姓名

课程名称

C语言程序设计课程设计

专业班级

电自专2011

地点

I515

起止时间

2012年12月17日-12月28日

设计内容及要求

在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。

进一步掌握利用C语言进行程序设计的能力;

进一步理解和运用结构化程序设计的思想和方法;

初步掌握开发一个小型实用系统的基本方法;

学会调试一个较长程序的基本方法;

学会利用流程图表示算法。

根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。

设计

参数

(1)系统分析、设计正确。

(2)结果以图表方式显示。

(3)界面简洁、美观。

(4)报告格式规范。

进度

要求

周一:

明确设计任务,学习相关基础知识

周二:

熟悉各知识点,进行基础练习

周三:

根据题目要求,进行设计和实现

周四:

周五:

撰写报告,进行答辩

参考资料

[1]何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年

[2]谭浩强张基温.《C语言程序设计教程》.高等教育出版社.2006年

其它

说明

1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。

2.若填写内容较多可另纸附后。

3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。

教研室主任:

指导教师:

雷亮2012年12月10

第一章软件需求分析说明书

1.1几大功能模块:

1.1.1输入记录模块

输入记录模块主要完成将数据存入数组中的工作。

在此工资管理系统中,记录可以从键盘逐个输入记录。

记录由职工的基本信息和工资信息构成。

当从数据文件中读入记录时,它就是在以记录为单位存储的数据文件中,将记录逐条复制到数组元素中。

1.1.2查询记录模块

查询记录模块主要完成在数组中查找满足相关条件的记录。

在此工资管理系统中,用户可以按照职工编号或姓名在数组中进行查找。

若找到该记录,则以表格形式打印此记录的信息;

否则,返回一个-1的值,并打印出未找到该记录的提示信息。

1.1.3更新记录模块

更新记录模块主要是完成对记录的维护,在此工资管理系统中,实现对记录的修改﹑删除﹑插入和排序操作。

一般而言,系统进行了这些操作之后,需要将修改的数据存入源数据文件。

1.1.4统计记录模块

统计记录模块主要完成对公司员工的工资在各等级的人数统计。

1.1.5输出记录模块

输出记录模块主要完成两个任务。

第一,它实现对记录的存盘操作,即将数组中各元素中存储的记录信息写入数据文件中。

第二,它实现将数组中存储的记录信息以表格的形式在屏幕上打印出来。

第二章系统分析与设计

2.1软件界面设计

2.1.1主控函数设计

图2.1.1主控函数流程图

2.1.2增加函数设计

图2.1.2增加函数设计

2.1.3删除函数设计

图2.1.3删除模块

2.1.4查询函数设计

图2.1.4查询函数设计

2.1.5修改函数设计

图2.1.5修改函数设计

2.1.6插入函数设计

图2.1.6插入函数设计

2.1.7统计函数设计

图2.1.7统计函数设计

2.1.8排序函数设计

图2.1.8排序函数设计

2.1.9保存函数设计

图2.1.9保存函数设计

2.1.10显示函数设计

图2.1.10显示函数设计

2.2软件的数据(结构)设计

2.2.1数据类型

本程序定义了结构体employee,用于存放职工的基本信息和工资信息

typedefstructemployee

{

charnum[10];

//保存职工编号

charname[15];

//保存职工姓名

floatjbgz;

//保存职工基本工资

floatjj;

//保存职工奖金

floatkk;

//保存职工扣款

floatyfgz;

//保存职工应发工资

floatsk;

//保存职工税款

floatsfgz;

//保存职工实发工资

}ZGGZ;

2.2.2数据储存

文件是程序设计中一个重要的概念。

所谓“文件”一般指储存在外部介质上数据的集合。

一批数据是以文件的形式存放在外部介质上的。

操作系统是以文件为单位对数据进行管理。

在程序运行时,常常需要将一些数据输出到磁盘上存放起来,以后需要时再从磁盘中输入到计算机内存。

这就要用到磁盘文件。

磁盘文件可以永久性的保存。

工资管理是一个单位最基本的一项财务管理,此程序通过定义以zggz.txt为文件名的文件,将程序中的职工信息存放到文件中,使数据永久性的保存起来,便于工作者的使用。

实现过程;

voidsave(ZGGZtp[],intn)//函数用于将保存职工工资的数组tp中的n个元素写磁盘的文件数据中。

FILE*fp;

if((fp=fopen("

zggz.txt"

"

w"

))==NULL)/*以只写方式打开二进制文件*/

{

printf("

不能打开文件!

"

);

return;

}

system("

cls"

for(i=0;

i<

n;

i++)

if(fwrite(&

tp[i],sizeof(ZGGZ),1,fp)!

=1)/*每次写一条记录或一个结构数组至文件*/

printf("

文件写入错误!

fclose(fp);

文件保存成功!

\n"

menu();

}

FILE*fp;

//文件指针

if((fp=fopen("

ab+"

))==NULL)/*以追加方式打开二进制文件e:

\\zggz.txt,可读可写,若此文件不存在,会创建此文件*/

cannotopenthisfile!

exit(0);

while(!

feof(fp))//判断文件是否处于文件结束位置,如文件结束,则返回值1,否则为0

if(fread(&

tp[count],sizeof(ZGGZ),1,fp)==1)/*一次从文件中读取一条职工工资记录*/

count++;

fclose(fp);

2.3软件的算法设计

2.3.1工资管理系统功能模块图

图2.3.1工资管理系统功能模块图

2.3.2主控main()函数执行流程

工资管理系统执行主流程如图所示。

它先以可读写的方式打开数据文件,此文件默认为“zggz”,若该文件不存在,则新建此文件。

当打开文件成功后,则从文件中一次读出一条记录,添加到新建的数组中,然后执行显示主菜单和进入主循环操作,进行按键判断。

在判断键值时,有效的输入为0-9之间的任意数值,其他输入都被视为错误按键。

若输入为0,则会继续判断是否在对记录进行了更新操作,若未存盘,系统会提示用户是否需要进行数据存盘操作,用户输入Y和y,系统会进行存盘操作。

最后,系统执行退出工资管理系统的操作。

若选择1,则调用add()函数,执行增加记录操作;

若选择2,则调用del()函数,执行删除记录操作;

若选择3,则调用qur()函数,执行查询记录操作;

若选择4,则调用modify()函数,执行修改记录操作;

若选择5,

则调用insert()函数,执行插入记录操作;

若选择6,则调用tongji()函数,执行统计记录操作;

若选择7,则调用sort()函数,执行按降序排序记录的操作;

若选择8,则调用save()函数,执行将记录保存至文件的操作;

若选择9,则调用disp()函数,执行将记录以表格形式打印输出至屏幕的操作;

若输入0-9之外的值,则调用nofound()函数,执行重新输入的操作。

图2.3.2主控函数执行流程图

第三章软件的实现

3.1各个功能模块分析

3.1.1增加模块

函数原型:

intadd(ZGGZtp[],intn)

Add()函数用于在数组tp中增加工资记录元素,并返回数组中的当前记录数。

调用add(ZGGZtp[],intn)函数,完成在数组tp中添加职工工资记录的功能。

若在刚进入工资功能系统是数据文件为空,则从数组的头部开始增加记录;

否则,将此记录添加在数组的尾部。

/*增加模块*/

intadd(ZGGZtp[],intn)//在数组tp中增加工资记录元素

floatf=0.0;

charnum1[100];

//暂时存放员工编号

disp(tp,n);

//先打印出已有的职工工资记录

while

(1)//一次可输入多条记录,直至输入职工编号为0的记录才结束添加操作

printf("

请输入职工编号(输入0返回主菜单):

scanf("

%s"

num1);

if(!

(strcmp(num1,"

0"

)))

returnn;

i++)//开始判断输入的员工编号是否已存在

(strcmp(tp[i].num,num1)))

break;

if(i<

n)

charc;

//关于是否重新输入的变量

此员工信息已存在,是否继续录入?

(输入y继续录入信息,输入n返回主菜单)\n"

getchar();

%c"

&

c);

if(c=='

y'

||c=='

Y'

continue;

else

returnn;

strcpy(tp[n].num,num1);

//判断

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

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

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