程序设计报告书.docx
《程序设计报告书.docx》由会员分享,可在线阅读,更多相关《程序设计报告书.docx(23页珍藏版)》请在冰点文库上搜索。
程序设计报告书
重庆科技学院
《C语言程序设计》
课程设计报告
学院:
_电气与信息工程学院_专业班级:
计科1101
学生姓名:
陈艳学号:
2011441995
设计地点(单位)________计算机自主学习中心__________
设计题目:
_职工工资管理系统_________________
完成日期:
2012年1月13日
指导教师评语:
_______________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
指导教师(签字):
________________
摘要
设计本工资管理系统的目的就是为了提供给用户更方便的服务。
该工资管理系统运用了c语言中的一些函数和数据结构,整个工资管理系统可以分为信息输入、信息查询、信息修改、信息增加、信息删除等项目,供用户选择。
整个程序代码是分书块写的,每个函数都可以独立运行。
用户可根据自己的需要,选择相应的模块进行运行。
我们可以对这些程序有更多的了解,以后运用起来也比较方便和快捷。
关键字:
数据结构程序代码工资管理系统
课程设计任务书
设计题目:
职工工资管理系统
学生姓名
陈艳
课程名称
程序设计基础课程设计
专业班级
计科11
地点
I305/I306
起止时间
2012年1月9日~1月13日
在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。
进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图表示算法。
根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。
(1)系统分析、设计正确。
(2)结果以图表方式显示。
(3)界面简洁、美观。
(4)报告格式规范。
周一:
明确设计任务,学习相关基础知识
周二:
熟悉各知识点,进行基础练习
周三:
根据题目要求,进行设计和实现
周四:
根据题目要求,进行设计和实现
周五:
撰写报告,进行答辩
参考资料
[1]何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年
[2]谭浩强张基温.《C语言程序设计教程》.高等教育出版社.2006年
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
教研室主任:
指导教师:
伍建全/雷亮/焦晓军/陈应祖/杨治明2012年1月1日
目录
摘要…………………………………………………………………………………
1软件需求分析说明书……………………………………………………………
1.1软件具有的功能……………………………………………………………
1.2软件的界面要求……………………………………………………………
1.3数据结构要求………………………………………………………………
2系统分析与设计…………………………………………………………………
2.1软件界面设计…………………………………………………………………
2.2软件的数据(结构)设计……………………………………………………
2.3软件的算法设计………………………………………………………………
3软件的实现…………………………………………………………………………
4软件使用说明书……………………………………………………………………
致谢……………………………………………………………………………………
参考文献………………………………………………………………………………
附录……………………………………………………………………………………
1软件需求分析说明书
该软件主要功能包括职工基本工资信息录入、职工基本工资信息保存、职工基本工资信息查询、职工基本工资信息显示、职工基本工资信息修改,职工基本信息删除,职工基本信息增加。
主界面系统主界面应有如下功能选项:
录入信息、查询信息、保存信息、修改信息、显示信息、新增信息。
界面要求:
能够实现工资信息管理。
系统包括录入,查询,保存,修改,新增等功能。
其中录入功能要求能够添加到新的工资信息到文件;新增功能要求能够新增职工信息到文件;查询功能要求能够按编号和姓名查询。
数据结构要求:
1.文件中一行数据对应一个职工工资信息
2.工资信息的数据结构采用结构体数组,一个元素对应一条工资单记录
2.系统分析
2.1主函数运行,显示主菜单函数
图2.1
2.2.选择录入项目,开始录入职工信息
图2.2
2.3.查询职工信息
图2.3
2.4.删除职工信息
图2.4
2.5.增加职工信息
图2.1.4
图2.5
2.6.修改职工信息
图2.6
职工信息用结构体形式输入,再定义一个全局变量和文件指针进行整个
程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体
和文件的输入输出等操作。
在程序中需要实现职工工资的录入、查询、删除、增加等操作,所以需
要建立相应的功能模块来实现。
同时提供了键盘式选择菜单来实现功能,在运行时达到所要的目的。
总体设计:
整个系统分为信息录入、新增信息、信息修改、信息删除和
信息查询六个主要模块。
3.软件的实现
软件涉及到核心功能模块进行设计实现,并对关键代码进行分析阐述。
1.进入主菜单后,将看到以上信息和内容,用户可以根据自己的需要任意选择其中一项。
2.当用户选择录入信息时,有以下选项
3.当用户选择新增信息时,有以下选项
4.
5
.
6.
7.
8.退出
4.软件使用说明书
职工工资管理系统,其功能包括:
(1)基本工资信息录入
包括编号,姓名,基本工资,奖金,补助金额,扣除工资,实发工资。
(2)基本工资信息保存
(3)基本工资信息查询
(4)基本工资信息显示
(5)基本工资信息更新,能够实现修改,增加。
主界面系统主界面应有如下功能选项:
录入职工基本工资信息、查询职工基本工资信息、保存职工基本工资信息、插入职工基本工资信息、修改职工基本工资信息、显示职工基本工资信息。
总结与致谢
通过几天的c语言编程训练,我不仅巩固了基础知识,并有这样的一个机会自己独立编写程序,自学能力得到了很大的提高。
在编程的过程中,要感谢老师的指导,让我对所学知识掌握的更加牢固,还要感谢给我帮助的同学,在一些程序问题上,我和同学交流经验,学到了很多书本上没有的东西,对一些自己学习的盲区进行了攻破,充分认识到了自己的缺陷和不足,提高了很多。
所以,在这里要真挚的感谢在这次程序设计中给我帮助的老师和同学!
陈艳
2012-1-12
参考文献
[1]何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年
[2]谭浩强张基温.《C语言程序设计教程》.高等教育出版社.2006年
附录
#include
#include
#include
#include
#include
typedefstructworker
{
charID[4];
charname[20];
intmoney1;
intmoney2;
intmoney3;
intmoney4;
intmoney5;
}worker;
inti=0,total;
chark;
voidInput();
voidAdd();
voidChange();
voidDel();
voidSurf();
//voidSave();
//voidLoad();
workerwk[50];
intmain()
{
charch;
system("cls");
do
{
printf("\n\t\t\t欢迎使用职工系统\n");
printf("\n\t\t\t1.写入职工信息\n");
printf("\n\t\t\t2.新增职工信息\n");
printf("\n\t\t\t3.修改职工信息\n");
printf("\n\t\t\t4.删除职工信息\n");
printf("\n\t\t\t5.查询职工信息\n");
printf("\n\t\t\t6.退出职工系统\n");
scanf("%d",&ch);
switch(ch)
{
case1:
system("cls");Input();break;
case2:
system("cls");Add();break;
case3:
system("cls");Change();break;
case4:
system("cls");Del();break;
case5:
system("cls");Surf();break;
case6:
system("cls");printf("\t\t\t欢迎再次使用\n");exit(0);
default:
printf("输入有误,请输入1-6\n");
}
}while
(1);
fflush(stdin);
return0;
}
voidInput()
{
do
{
printf("\n\t\t\t请输入你要添加的员工信息:
\n");
printf("\n\t\t\t员工号:
\n");
scanf("%s",wk[i].ID);
printf("\n\t\t\t姓名:
\n");
scanf("%s",wk[i].name);
printf("\n\t\t\t基本工资:
\n");
scanf("%d",&wk[i].money1);
printf("\n\t\t\t补助金:
\n");
scanf("%d",&wk[i].money2);
printf("\n\t\t\t奖金:
\n");
scanf("%d",&wk[i].money3);
printf("\n\t\t\t扣除金额:
\n");
scanf("%d",&wk[i].money4);
printf("\n\t\t\t实际工资:
\n");
scanf("%d",&wk[i].money5);
i++;
total=i;
printf("是否继续?
是按y;否按n.");
fflush(stdin);
while
(1)
{
scanf("%c",&k);
if(k=='y'||k=='n')
{
break;
}
printf("输入有误\n");
}
}while(k=='y');
fflush(stdin);
return;
}
voidAdd()
{
do
{
printf("当前有%d个职工的信息\n",total);
printf("请输入你要增加的职工信息:
\n");
printf("\n\t\t\t员工号:
\n");
scanf("%s",wk[i].ID);
fflush(stdin);
printf("\n\t\t\t姓名:
\n");
scanf("%s",wk[i].name);
printf("\n\t\t\t基本工资:
\n");
scanf("%d",&wk[i].money1);
printf("\n\t\t\t补助金:
\n");
scanf("%d",&wk[i].money2);
printf("\n\t\t\t奖金:
\n");
scanf("%d",&wk[i].money3);
printf("\n\t\t\t扣除金额:
\n");
scanf("%d",&wk[i].money4);
printf("\n\t\t\t实际工资:
\n");
scanf("%d",&wk[i].money5);
i++;
total+=i;
printf("是否继续?
是按y;否按n.");
fflush(stdin);
while
(1)
{
scanf("%c",&k);
if(k=='y'||k=='n')
{
break;
}
printf("输入有误\n");
}
}while(k=='y');
fflush(stdin);
return;
}
voidChange()
{
charch[4];
printf("请输入你要改变职工的员工号:
\n");
printf("员工号:
");
do
{
fflush(stdin);
gets(ch);
for(i=0;i{
if(!
strcmp(wk[i].ID,ch))
{
printf("请输入你要改变的内容:
\n");
printf("输入员工号\n");
fflush(stdin);
gets(wk[i].ID);
printf("输入姓名\n");
fflush(stdin);
gets(wk[i].name);
printf("输入基本工资\n");
scanf("%d",&wk[i].money1);
printf("输入补助金\n");
scanf("%d",&wk[i].money2);
printf("输入奖金\n");
scanf("%d",&wk[i].money3);
printf("输入扣除工资\n");
scanf("%d",&wk[i].money4);
printf("输入实际工资\n");
scanf("%d",&wk[i].money5);
printf("是否继续?
是按y;否按n.");
fflush(stdin);
while
(1)
{
scanf("%c",&k);
if(k=='y'||k=='n')
break;
printf("输入有误\n");
}
}
}
}while(k=='y');
fflush(stdin);
return;
}
voidDel()
{
charch[4];
do
{
printf("请输入你要删除的的职工信息\n");
printf("请输入员工号:
");
fflush(stdin);
gets(ch);
for(i=0;i{
if(!
strcmp(wk[i].ID,ch))
{
for(i=i;i{
wk[i]=wk[i+1];
}
}
}printf("是否继续?
是按y;否按n.");
fflush(stdin);
while
(1)
{
scanf("%c",&k);
if(k=='y'||k=='n')
{
break;
}
printf("输入有误\n");
}
}while(k=='y');
fflush(stdin);
return;
}
voidSurf()
{
charch[4];
do
{
printf("请输入你要查询的的职工信息\n");
printf("请输入员工号:
");
fflush(stdin);
gets(ch);
for(i=0;i{
if(!
strcmp(wk[i].ID,ch))
{
printf("%s",wk[i].ID);
printf("%s",wk[i].name);
printf("%d",wk[i].money1);
printf("%d",wk[i].money2);
printf("%d",wk[i].money3);
printf("%d",wk[i].money4);
printf("%d",wk[i].money5);
}
printf("是否继续?
是按y;否按n.");
fflush(stdin);
while
(1)
{
scanf("%c",&k);
if(k=='y'||k=='n')
break;
printf("输入有误\n");
}
}
}while(k=='y');
fflush(stdin);
return;
}