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

📄 agrade.cpp

📁 学籍管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include "aGrade.h"
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<string.h>

aGrade::aGrade()
:ChaoWei5("入学成绩.txt",ios::in),YanZi5("a成绩Modify.txt",ios::in)
{
	XueHao=12;
    name[30]=NULL;
	nianji=1;
	banji=1;
    chinese=70;
	English=70;
	math=70;
	TT=250;
	ChaoWei5.close();
	YanZi5.close();

}
void aGrade::bubblesort()
{
    struct GradeA{
	     long XueHao; 
         char name[30];
       	 int nianji;
         int banji;
         int chinese;
	     int English;
	     int math;
	     int TT;
	};
	GradeA Grade[100];
	for(int i=0;i<100;i++)
	{
	    Grade[i].XueHao=12;
        Grade[i].name[30]=NULL;
	    Grade[i].nianji=1;
	    Grade[i].banji=1;
        Grade[i].chinese=70;
	    Grade[i].English=70;
	    Grade[i].math=70;
        Grade[i].TT=250;
	}
	cout<<"输出数据:"<<endl<<endl;
	Print();
    int t;
	cout<<"                   +---------------------------------+\n";
	cout<<"                   |  1.  按年级统计                 |\n";
	cout<<"                   |  2.  按班级统计                 |\n";
	cout<<"                   +---------------------------------+\n";
	cout<<"                    请输入(1/2):";
    cin>>t;
	cout<<endl;
	int NianJi,b=0;
	long hold;
	char holdname[30];
	cout<<"输入年级(大一为“1”,依次类推):";
	cin>>NianJi;
	cout<<endl;
    ChaoWei5.open("入学成绩.txt",ios::in);
    while(ChaoWei5>>XueHao>>name>>nianji>>banji>>chinese>>English>>math>>TT)
	{
		if(nianji==NianJi)
		{	    
			Grade[b].XueHao=XueHao;
            strcpy(Grade[b].name,name);
	        Grade[b].nianji=nianji;
	        Grade[b].banji=banji;
            Grade[b].chinese=chinese;
	        Grade[b].English=English;
	        Grade[b].math=math;
            Grade[b].TT=TT;
			b=b+1;
		}
	}
	ChaoWei5.close();
	int pass,Sub;
	if(b>2)
	{
	switch(t)
	{
	case 1: 
		{
			cout<<"                   +---------------------------------+\n";
            cout<<"                   |  1.  对语文排序                 |\n";
	        cout<<"                   |  2.  对英语统计                 |\n";
	        cout<<"                   |  3.  对数学统计                 |\n";
	        cout<<"                   |  4.  对理综统计                 |\n";
	        cout<<"                   +---------------------------------+\n";
	        cout<<"                    请输入1-4:";
			cin>>Sub;

			switch(Sub)
			{
			case 1: 
				{
					cout<<"对语文排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)
					{               
						for(i=0;i<b-1;i++)
						{
							if(Grade[i].chinese>Grade[i+1].chinese)
							{
								hold=Grade[i].XueHao;
								Grade[i].XueHao=Grade[i+1].XueHao;
								Grade[i+1].XueHao=hold;
                                strcpy(holdname,Grade[i].name);
								strcpy(Grade[i].name,Grade[i+1].name);
								strcpy(Grade[i+1].name,holdname);
								JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
								JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
							}
						}
					}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
		                 <<"数学"<<setw(10)<<"理综"<<endl;
					 for(i=0;i<b;i++)
						 cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
						 <<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
						 <<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].TT<<endl;
				}
				break;
			case 2:
				{
					cout<<"对英语排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)

						for(i=0;i<b-1;i++)

							if(Grade[i].English>Grade[i+1].English)
							{
								hold=Grade[i].XueHao;
								Grade[i].XueHao=Grade[i+1].XueHao;
								Grade[i+1].XueHao=hold;							
                                strcpy(holdname,Grade[i].name);
								strcpy(Grade[i].name,Grade[i+1].name);
								strcpy(Grade[i+1].name,holdname);
								JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
								JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
		                 <<"数学"<<setw(10)<<"理综"<<endl;
					 for(i=0;i<b;i++)
						 cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
						 <<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
						 <<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].TT<<endl;
				}
				break;
			case 3:
				{
					cout<<"对数学排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)

						for(i=0;i<b-1;i++)

							if(Grade[i].math>Grade[i+1].math)
							{
								hold=Grade[i].XueHao;
								Grade[i].XueHao=Grade[i+1].XueHao;
								Grade[i+1].XueHao=hold;							
                                strcpy(holdname,Grade[i].name);
								strcpy(Grade[i].name,Grade[i+1].name);
								strcpy(Grade[i+1].name,holdname);
								JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
								JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
		                 <<"数学"<<setw(10)<<"理综"<<endl;
					 for(i=0;i<b;i++)
						 cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
						 <<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
						 <<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].TT<<endl;
				}
				break;
			case 4:
				{
					cout<<"对理综排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)

						for(i=0;i<b-1;i++)

							if(Grade[i].TT>Grade[i+1].TT)
							{
							    hold=Grade[i].XueHao;
								Grade[i].XueHao=Grade[i+1].XueHao;
								Grade[i+1].XueHao=hold;									
                                strcpy(holdname,Grade[i].name);
								strcpy(Grade[i].name,Grade[i+1].name);
								strcpy(Grade[i+1].name,holdname);
								JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
								JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
		                 <<"数学"<<setw(10)<<"理综"<<endl;
					 for(i=0;i<b;i++)
						 cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
						 <<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
						 <<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
					     <<Grade[i].TT<<endl;
				}
				break;
			}
			
		}
		break;
				
	case 2:
		{
		    int BanJi;
		    cout<<"请输入要统计的班级:";
			cin>>BanJi;
			b=0;
            ChaoWei5.open("入学成绩.txt",ios::in);
            while(ChaoWei5>>XueHao>>name>>nianji>>banji>>chinese>>English>>math>>TT)
			{
		       if(nianji==NianJi&&banji==BanJi)
			   {	    
			       Grade[b].XueHao=XueHao;
                   strcpy(Grade[b].name,name);
	               Grade[b].nianji=nianji;
	               Grade[b].banji=banji;
                   Grade[b].chinese=chinese;
	               Grade[b].English=English;
	               Grade[b].math=math;
                   Grade[b].TT=TT;
			       b=b+1;
			   }
			}
	        ChaoWei5.close(); 
			if(b>2)
			{
			cout<<"                   +---------------------------------+\n";
            cout<<"                   |  1.  对语文排序                 |\n";
	        cout<<"                   |  2.  对英语统计                 |\n";
	        cout<<"                   |  3.  对数学统计                 |\n";
	        cout<<"                   |  4.  对理综统计                 |\n";
	        cout<<"                   +---------------------------------+\n";
	        cout<<"                    请输入1-4:";
			cin>>Sub;

			switch(Sub)
			{
			case 1: 
				{
					cout<<"对语文排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)

						for(i=0;i<b-1;i++)

							if(Grade[i].chinese>Grade[i+1].chinese)
							{
                                hold=Grade[i].XueHao;
								Grade[i].XueHao=Grade[i+1].XueHao;
								Grade[i+1].XueHao=hold;						
                                strcpy(holdname,Grade[i].name);
								strcpy(Grade[i].name,Grade[i+1].name);
								strcpy(Grade[i+1].name,holdname);
								JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
								JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
		                 <<"数学"<<setw(10)<<"理综"<<endl;
					 for(i=0;i<b;i++)
						 cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
						 <<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
						 <<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].TT<<endl;
				}
				break;
			case 2:
				{
					cout<<"对英语排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)

						for(i=0;i<b-1;i++)

							if(Grade[i].English>Grade[i+1].English)
							{
                                hold=Grade[i].XueHao;
								Grade[i].XueHao=Grade[i+1].XueHao;
								Grade[i+1].XueHao=hold;		
                                strcpy(holdname,Grade[i].name);
								strcpy(Grade[i].name,Grade[i+1].name);
								strcpy(Grade[i+1].name,holdname);
								JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
								JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
		                 <<"数学"<<setw(10)<<"理综"<<endl;
					 for(i=0;i<b;i++)
						 cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
						 <<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
						 <<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].TT<<endl;
				}
				break;
			case 3:
				{
					cout<<"对数学排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)

						for(i=0;i<b-1;i++)

							if(Grade[i].math>Grade[i+1].math)
							{
                                hold=Grade[i].XueHao;
								Grade[i].XueHao=Grade[i+1].XueHao;
								Grade[i+1].XueHao=hold;		
                                strcpy(holdname,Grade[i].name);
								strcpy(Grade[i].name,Grade[i+1].name);
								strcpy(Grade[i+1].name,holdname);
								JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
								JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -