C++课程设计《职工工作量统计系统的设计》,至少采用文本菜单界面

源程序我会,(主要不知道用fmc编写文本菜单界面)源程序不怎么好,可以改一下,如下:
#include<iostream>
using namespace std;
#define M 100
int count=0;//录入人数

class Work
{
public:
void input();
void sort();
void output();
private:
int num[M];//工号
int products[M];//产品数量
int rank[M];//排名
};

void swap(int &a,int &b)
{
int t=a;
a=b,b=t;
}

void Work:: input()
{
int n;
cout<<"输入工号和产品数量(工号为0时结束录入):"<<endl;

while(cin>>n,n)//输入0结束
{
int i;
int product;

for(i=0;i<count;i++)
{
if(num[i]==n)
products[i]+=(cin>>product,product);
break;
}
if(num[i]==n)//如果输入的是同一个工号,产品数量累加,然后继续下一次的录入循环。
continue;

if(count==M)
{
cout<<"录入人数上限,停止录入!"<<endl;
break;
}
else
{
num[count]=n;
cin>>products[count];
count++;
}
}

//count最终与录入人数相同。

for(int i=0;i<count;i++)//默认排名
{
rank[i]=i+1;
}
}

void Work:: sort()
{
int i,j,k;
for(i=0;i<count-1;i++)//按产品数量,降序排列。
{
k=i;
for(j=i+1;j<count;j++)
if(products[k]<products[j])
k=j;
swap(products[i],products[k]);
swap(num[i],num[k]);
}

for(i=1;i<count;i++)//产品数量相同,按工号升序排序
if(products[i-1]==products[i])
{
if( num[i-1]>num[i] )
swap(num[i-1],num[i]);
rank[i]=rank[i-1];
}

}

void Work:: output()
{
int i;
cout<<endl<<endl;
cout<<"排名\t\t"<<"工号\t\t"<<"产品数量\t\t"<<endl;
for(i=0;i<count;i++)
{
cout<<" "<<rank[i]<<"\t\t";
cout<<" "<<num[i]<<"\t\t";
cout<<" "<<products[i]<<endl;
}
}
int main()
{
Work works;
works.input();
works.sort();
works.output();
return 0;
}
功能要求:
该程序输入职工工号和完成的产品数量,程序允许同一职工有多次输入,由程序对其完成的产品数量实现累计。程序按完成数量对他们排序,并确定他们的名次。按完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们的工号(工号由小到大顺序输出)。要求程序用有序链表存储数据信息。

如何用mfc编写文本菜单界面?

#include"stdafx.h"#include"iostream"#include"string"#include"list"#include"cassert"usingnamespacestd;/*编号、姓名、部门、应付工资、保险、税金、实付工资。其中实付工资由公式计算得到:实付工资=应付工资-保险-税金*/structemployee{stringm_num;//编号stringm_name;//姓名stringm_dep;//部门doublem_salary;//应付工资doublem_insurance;//保险doublem_tax;//税金};/*(1)录入:输入职工数据,其中“实付工资”通过计算得到;(2)删除:删除指定的职工信息(输入姓名,若找到则删除该信息)(3)修改:允许对已经录入的数据重新进行编辑、修改;(4)显示:显示全体职工数据;(5)查询:a.输入职工姓名,显示该职工的全部数据;b.输入某部门值,显示该部门职工的数据、工资总额、平均工资。(6)退出程序。*/listemps;int_tmain(intargc,_TCHAR*argv[]){voidprint(constemployee&e);voidinput();voiddel();voidmod();voidshow_all();voidshow_name();voidshow_dep();cout>choose;assert(!cin.fail());while(choose!=6){if(choose==1)input();if(choose==2)del();if(choose==3)mod();if(choose==4){intchoice=0;cout>choice;if(choice==1)show_name();if(choice==2)show_dep();if(choice==3){cout>choose;assert(!cin.fail());continue;}}if(choose==5)show_all();cout>choose;assert(!cin.fail());}return0;}voidprint(constemployee&e){cout>num;cout>name;cout>dep;cout>ins;assert(!cin.fail());cout>tax;assert(!cin.fail());cout>salary;assert(!cin.fail());employeetemp;temp.m_dep=dep;temp.m_insurance=ins;temp.m_name=name;temp.m_num=num;temp.m_salary=salary;temp.m_tax=tax;emps.push_back(temp);cout>name;list::iteratoriter;for(iter=emps.begin();iter!=emps.end();iter++){if(iter->m_name==name){isfind=true;emps.erase(iter);cout>name;list::iteratoriter;for(iter=emps.begin();iter!=emps.end();iter++){if(iter->m_name==name){isfind=true;cout>num;cout>name;cout>dep;cout>ins;assert(!cin.fail());cout>tax;assert(!cin.fail());cout>salary;assert(!cin.fail());iter->m_dep=dep;iter->m_insurance=ins;iter->m_name=name;iter->m_num=num;iter->m_salary=salary;iter->m_tax=tax;cout::iteratoriter;for(iter=emps.begin();iter!=emps.end();iter++){cout>name;list::iteratoriter;for(iter=emps.begin();iter!=emps.end();iter++){if(iter->m_name==name){isfind=true;cout>dep;cout::iteratoriter;for(iter=emps.begin();iter!=emps.end();iter++){if(iter->m_dep==dep){isfind++;total_salary+=iter->m_salary;print(*iter);cout<
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-29
你好! 这样一个工资管理系统截图,可以满足你的使用要求追问

哪里有图片,第一次百度提问,不知道怎么看

本回答被提问者采纳

C++课程设计《职工工作量统计系统的设计》,至少采用文本菜单界面
其中实付工资由公式计算得到:实付工资=应付工资-保险-税金*\/structemployee{stringm_num;\/\/编号stringm_name;\/\/姓名stringm_dep;\/\/部门doublem_salary;\/\/应付工资doublem_insurance;\/\/保险doublem_tax;\/\/税金};\/*(1)录入:输入职工数据,其中“实付工资”通过计算得到;(2)删除:删除指定的职工...

如何利用C++程序编写24点游戏(有要求)
其它要求: (1)使用C++语言,源程序要有适当的注释,使程序容易阅读(2) 至少采用文本菜单界面 (3) 学生可自动增加新功能模块(视情况可另外加分)(4) 写出课程设计报告,具体要求见相关说明文档提示:1. 程序采用穷举法,对输入的4个数进行排列,有 4!=24种。用for来循环来实现。 2. 运算符号有4种,分别是 +、-...

2、成绩管理系统 现有学生成绩信息,内容如下 姓名 学号 语文 数学 英...
(3)成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。(二)其它要求:(1)只能使用C\/C++语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可...

...请用C\/C++编写一系统,实现教师科研工作管理,软件的入口界面应包括如...
回答:分太少,不做

会C语言的朋友帮个忙啊 帮我编个小程序
1. 算法设计合理,准确。2. 程序结果正确。3. 程序由提供多组测试数据,且程序正确。4. 按照要求完成课程设计报告。三、报告格式报告是期末对C语言知识学习的总结和提高,应该反映出作者在程序设计过程中所做的主要工作及取得的主要成果,以及作者在设计过程中的心得体会。 (一)报告主要内容 报告的写作方法是多种多样...

高分求C语言课程设计源代码(分不多了,全部给你们)
string Name; \/\/职工姓名 char Sex[5]; \/\/性别 int Wage; \/\/工资 string BirthDay; \/\/出身年月 string WorkTime; \/\/参加工作时间 int Age; \/\/年龄 };class Worker : public Employee \/\/定义工人类 { public:Worker();virtual VWorker();void Display();};class Teacher...

确实很着急!!课程设计 销售管理系统
对数据的查询、修改、插入、删除等操作; 设计系统主界面,主界面上包括系统功能菜单; 界面友好,操作方便。 设计内容及工作量 1、通过密码进入系统; 2、实现对产品、人员等信息的输入与维护基本功能; 3、可通过不同的关键字进行查询; 4、可以统计每个销售人员每个月的销售产品数量; 5、能够按销售额进行排序,实现...

C语言程序设计
menu();\/*调用菜单函数形成操作界面*\/ printf("请选择:\\t");scanf("%d", &choice);if ( choice == 0 ){ system("cls");printf("\\n\\n\\t\\t\\t\\t谢谢使用!!!\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t指导老师: 梁凯\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t 学生:万超\\n");break;} switch(choice) \/...

c语言学生成绩管理系统课程设计
《程序设计基础(C语言)》课程综合实训指导书一、目的、任务及要求【目的】《程序设计基础(C语言)》这门课程主要涉及基于C语言的相关程序开发。学习本门课程主要应掌握C语言程序设... 《程序设计基础(C语言)》课程综合实训指导书一、目的、任务及要求【目的】《程序设计基础(C语言)》这门课程主要涉及基于C语言的...

关于TC的问题
最好的使用 goto 语句的方法就是不用 goto 语句。

相似回答