年產量編程
#include<iostream.h>
#include<string.h>
#include<fstream.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();
};
void main()
{
cout<<"請選擇您需要的操作!"<<endl;
cout<<"操作:"<<endl;
cout<<"(0)職工數據錄入"<<endl;
cout<<"(1)增加職工人員"<<endl;
cout<<"(2)刪除職工人員"<<endl;
cout<<"(3)新完成的需要添加的產品數量數據"<<endl;
cout<<"查詢:"<<endl;
cout<<"(4)按總產品數量查詢"<<endl;
cout<<"(5)按職工姓名查詢"<<endl;
cout<<"(6)輸出所有職工的數據"<<endl;
cout<<"生產量排名名次"銷襪<<endl;
cout<<"(7)按職工生產的總產品數量查詢排名"<<endl;
cout<<"選擇相關操作請輸入相對的括弧里的阿拉伯數字!"<弊斗升<endl;
char p;char w;
stu *s[50];
ofstream *file[50];
int i=0;
int j=0;
bool flag2=0;
do
{
cin>>p;
if((p>='0'&&p<='10'))
flag2=1;
else
cout<<"指令錯誤!請重新輸入:"<<endl;
}while(flag2==0);
do{
switch(p)
{
case '0':
{
char c;
char name[20];double much;
do{
cout<<"請輸入職工姓名"<<endl;
cin>>name;
cout<<"請輸入產品數量:"<<endl;
cin>>much;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"姓名"<<name<<"產品數量"<<much<<endl;
j++;
s[i]=new stu(name, much);
i++;
cout<<"數據錄入成功,想繼續錄入嗎(y/n)"<<endl;
cin>>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
else
flag2=1;
}while(flag2==0);
}while(c=='y');
break;
}
case '1':
{
char name[20];double much;
char c;
do
{
cout<<"請輸入您要增加的職工的姓名:"<<endl;
cin>>name;
cout<<"請輸入產品數量"<<endl;
cin>>much;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"姓名"<<name<<"產品數量"<<much<<endl;
j++;
s[i]=new stu(name, much);
i++;
cout<<"數據錄入成功,想繼續錄入嗎(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤租老!請重新輸入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case '2':
{
char name[20];bool flag3=0;char c;
do{
cout<<"請輸入您要刪除的職工姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag3=1;
i--;
do{
s[h]=s[h+1];
h++;
}while(h<=i);
}
}
if(flag3==0)
cout<<"您要求刪除的對象本來就不存在!請檢查輸入的正確性!";
cout<<"要繼續刪除嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case '3':
{
char name[20];double mat;flag2=0;
char c;
do
{
cout<<"請輸入您要修改的職工的姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag2=1;
cout<<"請輸入新完成的產品數量:"<<endl;
cin>>mat;
s[h]->much+=mat;
cout<<"數據添加成功!";
}
}
if(flag2==0)
{
cout<<"您要修改的職工本來就不存在!請檢查重新輸入!"<<endl;
}
cout<<"想繼續修改嗎(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case '4':
{
double t;char c;
do
{
int flag1=0;
cout<<"請輸入你要查詢職工的總產品數量"<<endl;
cin>>t;
for(int q=0;q<i;q++)
{
if(s[q]->getsum()==t)
{
flag1=1;
cout<<"您要查詢的職工是:"<<(*s[q]).name<<endl;
}
}
if(flag1==0)
cout<<"對不起!您要查詢的職工不存在!"<<endl;
cout<<"您想繼續查詢嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '5':
{
char n[20];int j=0;char c;
do{
int flag=0;
cout<<"請輸入你要查詢的職工姓名"<<endl;
cin>>n;
for(int j=0;j<i;j++)
{
if(strcmp(n,(*s[j]).name)==0)
{
flag=1;
cout<<"您要查詢的職工是:"<<(*s[j]).name<<endl;
cout<<(*s[j]).name<<"的總產品數量是"<<(*s[j]).getsum()<<endl;
}
}
if(flag==0)
cout<<"對不起!您要查詢的職工不存在!"<<endl;
cout<<"您想繼續查詢嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '6':
{
cout<<"本系統所有職工數據如下:"<<endl;
if(i==0)
cout<<"管理系統中沒有錄入數據或者數據已經被刪除!"<<endl;
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"總產品數量:"<<" "<<(*s[k]).getsum() <<endl;
}
break;
}
case '7':
{
int t;stu b;
cout<<"本系統所有職工排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->getsum())<(s[y]->getsum()))
t=y;
if(t!=x)
{
b=*s[x];
*s[x]=*s[t];
*s[t]=b;
}
}
}
if(i==0)
cout<<"管理系統中沒有錄入數據或者數據已經被刪除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name
<<"總產品數量:"<<" "<<s[k]->getsum() <<endl;
}
break;
}
case '9':
{
int t;stu b;
cout<<"本系統所以職工總產品數量排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->much)<(s[y]->much))
t=y;
if(t!=x)
{
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}
if(i==0)
cout<<"管理系統中沒有錄入數據或者數據已經被刪除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name
<<"產品數量:"<<" "<<s[k]->getsum() <<endl;
}
break;
}
}
cout<<"您想繼續進行其他操作嗎?(y/n)"<<endl;
bool flag4=0;
do
{
cin>>w;
if(w!='y'&&w!='n')
cout<<"指令錯誤!請重新輸入!"<<endl;
else
flag4=1;
}while(flag4==0);
if(w=='y')
cout<<"請輸入操作代碼:(0)職工數據錄入;(1)增加職工人員; (2)刪除職工人員; (3)新完成需要添加的產品數量數據; (4)按總產品數量查詢; (5)按職工姓名查詢; (6)輸出所有職工的數據; (7)按職工生產的總產品數量查詢排名"<<endl;
cin>>p;
}while(w=='y');
for(int x=0;x<i;x++)
{
delete s[x];
cout<<"刪除所有數據成員"<<endl;
}
}