- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用文档
实用文档
文案大全
文案大全
学院
程序设计工程训练
报告
C 语言程序设计职工工作量统计系统设计
课程名称 C 语言程序设计工程训练
姓 名
院(系) 信息科学与技术学院
专业班级学 号
指导教师
教务处制
目 录
需求分析 1
系统总框图和功能模块说明 1
系统总框图 1
功能模块说明 1
系统设计 2
主要结构体 错误!未定义书签。
主要功能函数 错误!未定义书签。
关键函数的流程图 7
系统调试 8
5 总结 10
6 源程序清单 11
需求分析
设计职工工作量统计系统,使之能提供以下功能:
系统以菜单方式工作
输入职工工号和完成的产品数量,允许同一职工有多次输入
对其完成的产品数量实现累计。程序按完成数量对他们排序,并确定他们的名次
完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们的工号(工号由小到大顺序输出)
要求程序用有序链表存储数据信息。
系统总框图和功能模块说明
职工工作量统计系统初始化系统修
职工工作量统计系统
初
始化系统
修
改
信息
退
出系统
输
输
浏
入
出
览
信
信
信
息
息
息
功能模块说明
图 1 系统总框图
1、输入信息模块,完成信息录入功能,把用户从终端键盘输入的信息(工作量,工 号,姓名)保存在系统中。
2、浏览信息模块,完成信息输出功能,把系统中已经保存的信息输出,查看排名等
3、初始化系统模块,完成系统初始化操作。
4.输出模块,按需求输出信息。
5、退出系统模块,完成关闭程序操作。
6、修改信息模块,包括修改或添加或删除职工工作量,姓名等信息。
系统设计
主要结构体
#includeiostream.h #includestring.h #includefstream.h class stu
{
char name[20]; double much,sum; public:
stu()
{
}
stu(char n[20],double muc)
{
strcpy(name,n); much=muc;
}
double getsum()
{
sum=much; return sum;
}
friend void main();
};
主要功能函数输入信息函数
此模块是输入职工信息模块的函数,输入职工的姓名,工号,及工作量。
do{
switch(p)
{
case 0:
{
char c;
char name[20];double much; do{
cout请输入职工姓名endl;
cinname;
cout请输入产品数量:endl; cinmuch;
file[j]=new ofstream(d:\\document,ios::ate);
*file[j]姓名name产品数量muchendl; j++;
s[i]=new stu(name, much); i++;
cout数据录入成功,想继续录入吗(y/n)endl;
cinc; flag2=0;
修改工作量函数
此模块要求修改,删除工作量的函数
{
cout请输入您要增加的职工的姓名:endl; cinname;
cout请输入产品数量endl; cinmuch;
file[j]=new ofstream(d:\\document,ios::ate);
*file[j]姓名name产品数量muchendl; j++;
s[i]=new stu(name, much); i++;
}
{
do{
cout请输入您要删除的职工姓名:endl; cinname;
for(int h=0;hi;h++)
{
if(strcmp(name,s[h]-name)==0)
{
flag3=1; i--;
do{
s[h]=s[h+1]; h++;
}while(h=i);
}
}
{ cout请输入您要修改的职工的姓名:endl; cinname;
for(int h=0;hi;h++)
{
if(strcmp(name,s[h]-name)==0)
{
flag2=1;
cout请输入新完成的产品数量:endl; cinmat;
s[h]-much+=mat; cout数据添加成功!;
}
查询模块函数
此函数提供查询职工工作量,及排名的功能
do{
int flag=0;
cout请输入你要查询的职工姓名endl; cinn;
for(int j=0;ji;j++)
{
if(strcmp(n,(*s[j]).name)==0)
{
flag=1;
cout您要查询的职工是:(*s[j]).nameendl; cout(*s[j]).name的总产品数量是(*s[j]).getsum()endl;
}
for(int k=0;ki;k++)
{
coutk+1 姓名: s[k]
文档评论(0)