?? aaa.cpp
字號:
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<iomanip>
#include<vector>
#include<windows.h>
#include<CString>
using namespace std;
vector<int>xuehao;
vector<char*>xingming;
vector<int >chengji;
vector<int>canzhao;
vector<double>ewai;
ofstream ofile("數據源.dat",ios::out);
ifstream ifile("數據源.dat",ios::in);
ofstream tfile("過程數據記錄.txt",ios::out);
class CBassStudent
{
public: int StudyNumber;
char StudentName[20];
int Maths;
int Physics;
int VCResearch;
int PCBase;
int PEStudy;
int Politics;
int English;
int DeyuJichu;
double Jiaquan;
double Jidian;
public:
CBassStudent(){
ifile>>StudyNumber>>StudentName>>Maths>>Physics>>VCResearch>>PCBase>>PEStudy>>Politics>>English;
tfile<<StudyNumber<<" "<<setw(6)<<StudentName<<" "<<setw(2)<<Maths<<" ";
tfile<<setw(2)<<Physics<<" "<<setw(2)<<VCResearch<<" "<<setw(2)<<PCBase<<" "<<setw(2)<<PEStudy<<" "<<setw(2)<<Politics<<" "<<setw(2)<<English<<endl;
xingming.push_back(StudentName);
xuehao.push_back(StudyNumber);
chengji.push_back(Maths);
chengji.push_back(Physics);
chengji.push_back(VCResearch);
chengji.push_back(PCBase);
chengji.push_back(PEStudy);
chengji.push_back(Politics);
chengji.push_back(English);};
~CBassStudent(){};
void BassStudent();//
void ResTop(int);//
void ResEnd(int);//
void ResVeriage(int);//
void ResUnPsssed(int);//
void CalVeriage(int);//
void Set();
void Get();
void FJiaquan(int);
void VJidian(int);
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CBassStudent::ResTop(int ss)
{
int y(0);
switch(y)
{
case 0:{
int w=0;
int u(0);
for(int x=0;x<(ss-1);x++)
{
if(chengji[7*x+0]>chengji[7*x+7])
{
w=chengji[7*x];
chengji[7*x]=chengji[7*x+7];
chengji[7*x+7]=w;
}
else
u=x+1;
}
for(int v=0;v<ss*7-1;v++)
chengji[v]=canzhao[v];
tfile<<"數學的最好成績:"<<" ";
for(x=0;x<(ss);x++)
{
if(chengji[u*7]==chengji[7*x])
{
tfile<<xingming[x]<<" "<<xuehao[x]<<", ";
}
}
tfile<<chengji[u*7]<<endl;
}
case 1:{
int w=0;
int u=0;
for(int x=0;x<(ss-1);x++)
{
if(chengji[7*x+1]>chengji[7*x+7+1])
{
w=chengji[7*x+1];
chengji[7*x+1]=chengji[7*x+1+7];
chengji[7*x+1+7]=w;
}
else
u=x+1;
}
for(int v=0;v<=(ss*7-1);v++)
chengji[v]=canzhao[v];
tfile<<"英語的最好成績:"<<" ";
for(x=0;x<(ss);x++)
{
if(chengji[u*7+1]==chengji[7*x+1])
{
tfile<<xingming[x]<<" "<<xuehao[x]<<", ";
}
}
tfile<<chengji[u*7+1]<<endl;
}
case 2:{
int w=0;
int u=0;
for( int x=0;x<(ss-1);x++)
{
if(chengji[7*x+2]>chengji[7*x+2+7])
{
w=chengji[7*x+2];
chengji[7*x+2]=chengji[7*x+2+7];
chengji[7*x+2+7]=w;
}
else
u=x+1;
}
for(int v=0;v<=(ss*7-1);v++)
chengji[v]=canzhao[v];
tfile<<"物理的最好成績:"<<" ";
for(x=0;x<(ss);x++)
{
if(chengji[u*7+2]==chengji[7*x+2])
{
tfile<<xingming[x]<<" "<<xuehao[x]<<", ";
}
}
tfile<<chengji[u*7+2]<<endl;
}
case 3: {
int w=0;
int u=0;
for(int x=0;x<(ss-1);x++)
{
if(chengji[7*x+3]>chengji[7*x+3+7])
{
w=chengji[7*x+3];
chengji[7*x+3]=chengji[7*x+3+7];
chengji[7*x+3+7]=w;
}else
u=x+1;
}
for(int v=0;v<=(ss*7-1);v++)
chengji[v]=canzhao[v];
tfile<<"程序設計的最好成績:"<<" ";
for(x=0;x<(ss);x++)
{
if(chengji[7*u+3]==chengji[7*x+3])
{
tfile<<xingming[x]<<" "<<xuehao[x]<<", ";
}
}
tfile<<chengji[7*u+3]<<endl;
}
case 4:{
int w=0;
int u=0;
for(int x=0;x<(ss-1);x++)
{
if(chengji[7*x+4]>chengji[7*x+4+7])
{
w=chengji[7*x+4];
chengji[7*x+4]=chengji[7*x+4+7];
chengji[7*x+4+7]=w;
}else
u=x+1;
}
for(int v=0;v<=(ss*7-1);v++)
chengji[v]=canzhao[v];
tfile<<"組成原理的最好成績:"<<" ";
for(x=0;x<(ss);x++)
{
if(chengji[7*u+4]==chengji[7*x+4])
{
tfile<<xingming[x]<<" "<<xuehao[x]<<", ";
}
}
tfile<<chengji[7*u+4]<<endl;
}
case 5:{
int u=0;
int w=0;
for(int x=0;x<(ss-1);x++)
{
if(chengji[7*x+5]>chengji[7*x+5+7])
{
w=chengji[7*x+5];
chengji[7*x+5]=chengji[7*x+5+7];
chengji[7*x+5+7]=w;
}else
u=x+1;
}
for(int v=0;v<=(ss*7-1);v++)
chengji[v]=canzhao[v];
tfile<<"體育的最好成績:"<<" ";
for(x=0;x<(ss);x++)
{
if(chengji[7*u+5]==chengji[7*x+5])
{
tfile<<xingming[x]<<" "<<xuehao[x]<<", ";
}
}
tfile<<chengji[7*u+5]<<endl;
}
case 6:{
int w=0;
int u=0;
for(int x=0;x<(ss-1);x++)
{
if(chengji[7*x+6]>chengji[7*x+6+7])
{
w=chengji[7*x+6];
chengji[7*x+6]=chengji[7*x+6+7];
chengji[7*x+6+7]=w;
}else
u=x+1;
}
for(int v=0;v<=(ss*7-1);v++)
chengji[v]=canzhao[v];
tfile<<"政治的最好成績:"<<" ";
for(x=0;x<(ss);x++)
{
if(chengji[7*u+6]==chengji[7*x+6])
{
tfile<<xingming[x]<<" "<<xuehao[x]<<", ";
}
}
tfile<<chengji[7*u+6]<<endl;
break;
}
default:cout<<"!!!!!!!!!!!!"<<endl;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CBassStudent::ResEnd(int ss)
{
int tt(0);
for(int t=0;t<ss;t++)
{
for(int s=0;s<7;s++)
{
if(chengji[t*7+s]<60)
tt++;
}
switch(tt)
{
case 7:{
tfile<<xingming[t]<<" "<<xuehao[t]<<" "<<"每科都掛了! 留校察看,準備勸其退學!"<<endl;
break;
}
case 0:{
break;
}
default:{tfile<<xingming[t]<<" "<<xuehao[t]<<" "<<"掛了 "<<tt<<" 門學科!"<<endl;}
}
tt=0;
}
}
void CBassStudent::ResVeriage(int ss)
{
//int r[30];
int *r=new int[ss];
int p=0;
for(int t=0;t<ss;t++)
{
for(int s=0;s<7;s++)
{ r[t]+=chengji[t*7+s];
}
}
for(int q=0;q<(ss-1);q++)
{
if(r[q]>r[q+1])
{
r[q+1]=r[q];
}
else
{p=q+1;}
}
tfile<<"表揚這位同學,平均分最高"<<" :"<<xingming[p]<<" "<<"學號"<<" :"<<xuehao[p]<<" "<<endl;
delete []r;
}
void CBassStudent::ResUnPsssed(int ss)
{
tfile<<"以下同學皆有掛科:要重考"<<endl;
for(int t=0;t<ss;t++)
{
for(int s=0;s<7;s++)
{
if(chengji[t*7+s]<60)
{
tfile<<xingming[t]<<" "<<xuehao[t]<<" "<<endl;
break;
}
}
}
}
void CBassStudent::CalVeriage(int ss)
{
double mm=0.0;
// cout<<" >>"<<ss<<endl;
for(int m=0;m<7;m++)
{
for(int n=0;n<ss;n++)
{
mm+=chengji[m+n*7];
}
tfile<<"第"<<m+1<<"學科的平均成績是: "<<mm/ss<<endl;
mm=0.0;
}
tfile<<endl;
tfile<<"1:數學 2:英語 3:物理 4:程序設計 5:組成原理 6:體育 7:政治 "<<endl;
} ///double VJidian();
void CBassStudent::FJiaquan(int me)
{
if(me==0)
{
Jiaquan=(Maths*ewai[0]+Physics*ewai[1]+VCResearch*ewai[2]+PCBase*ewai[3]+
PEStudy*ewai[4]+Politics*ewai[5]+English*ewai[6])/ewai[7];
tfile<<"該同學的加權學習成績是: :"<<Jiaquan<<endl;
}else
{
Jiaquan=(Maths+Physics+VCResearch+PCBase+PEStudy+Politics+English)/7.13;
tfile<<" 加權學習成績 is :"<<Jiaquan<<endl;
}
}
void CBassStudent::VJidian(int ss)
{
int iii[6]={0,0,0,0,0,0};
int wc[7]={Maths, Physics, VCResearch, PCBase, PEStudy, Politics, English};
if(canzhao[ss*7]==0)
{
double ppt[7]={ewai[0],ewai[1],ewai[2],ewai[3],ewai[4],ewai[5],ewai[6]};
double sp=0.0;
for(int a=0;a<7;a++)
{
switch(wc[a]/10)
{
case 6: {wc[a]=0.0;wc[a]+=1.0;
break;}
case 7: {wc[a]=0.0;wc[a]+=2.0;
break;}
case 8: {wc[a]=0.0;wc[a]+=3.0;
break;}
case 9: {wc[a]=0.0;wc[a]+=4.0;
break;}
case 10: {wc[a]=0.0;wc[a]+=5.0;
break;}
default: {wc[a]=0.0;wc[a]+=0.0;
break;}
}
sp+=(wc[a]*ppt[a]);
}
Jidian=sp/ewai[7];
tfile<<"該同學的平均學分基點是:"<<Jidian<<endl;
}
else{
for(int s=0;s<7;s++)
{
switch(wc[s]/10)
{
case 6: iii[0]+=1;
break;
case 7: iii[1]+=2;
break;
case 8: iii[2]+=3;
break;
case 9: iii[3]+=4;
break;
case 10: iii[4]+=4;
break;
default: iii[5]+=0;
break;
}
}
Jidian=iii[0]+iii[1]+iii[2]+iii[3]+iii[4]+iii[5];
Jidian=Jidian/7.13;
tfile<<"該同學的平均學分基點是:"<<Jidian<<endl;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -