⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aaa.cpp

📁 程序说明C++编的程序 可以作为学生管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#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 + -