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

📄 bgrade.cpp

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


bGrade::bGrade()
:ChaoWei4("成绩.txt",ios::in),YanZi4("b成绩Modify.txt",ios::in)
{
	XueHao=12;
    name[30]=NULL;
	nianji=1;
	banji=1;
    c=70;
	English=70;
	math=70;
	wuli=250;
	ChaoWei4.close();
	YanZi4.close();

}
void bGrade::bubblesort()
{
    struct GradeB{
	     long XueHao; 
         char name[30];
       	 int nianji;
         int banji;
         int c;
	     int English;
	     int math;
	     int wuli;
	};
	GradeB 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].c=70;
	    Grade[i].English=70;
	    Grade[i].math=70;
        Grade[i].wuli=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;
    ChaoWei4.open("成绩.txt",ios::in);
    while(ChaoWei4>>XueHao>>name>>nianji>>banji>>c>>English>>math>>wuli)
	{
		if(nianji==NianJi)
		{	    
			Grade[b].XueHao=XueHao;
            strcpy(Grade[b].name,name);
	        Grade[b].nianji=nianji;
	        Grade[b].banji=banji;
            Grade[b].c=c;
	        Grade[b].English=English;
	        Grade[b].math=math;
            Grade[b].wuli=wuli;
			b=b+1;
		}
	}
	ChaoWei4.close();
	int pass,Sub;
	if(b>2)
	{
	switch(t)
	{
	case 1: 
		{
			cout<<"                   +---------------------------------+\n";
            cout<<"                   |  1.  对c++排序                  |\n";
	        cout<<"                   |  2.  对英语统计                 |\n";
	        cout<<"                   |  3.  对数学统计                 |\n";
	        cout<<"                   |  4.  对物理统计                 |\n";
	        cout<<"                   +---------------------------------+\n";
	        cout<<"                    请输入1-4:";
			cin>>Sub;

			switch(Sub)
			{
			case 1: 
				{
					cout<<"对c++排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)
					{               
						for(i=0;i<b-1;i++)
						{
							if(Grade[i].c>Grade[i+1].c)
							{
								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].c,&Grade[i+1].c);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
							}
						}
					}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"C++"<<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].c<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].wuli<<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].c,&Grade[i+1].c);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"C++"<<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].c<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].wuli<<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].c,&Grade[i+1].c);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"C++"<<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].c<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].wuli<<endl;
				}
				break;
			case 4:
				{
					cout<<"对物理排序:"<<endl<<endl;
					for(pass=0;pass<b-1;pass++)

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

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

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

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

							if(Grade[i].c>Grade[i+1].c)
							{
                                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].c,&Grade[i+1].c);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"C++"<<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].c<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].wuli<<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].c,&Grade[i+1].c);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
							}
				   	 cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
		                 <<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
			             <<setw(10)<<"C++"<<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].c<<setw(10)
						 <<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
						 <<Grade[i].wuli<<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].c,&Grade[i+1].c);
								JiaoHuan(&Grade[i].English,&Grade[i+1].English);
								JiaoHuan(&Grade[i].math,&Grade[i+1].math);
								JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);

⌨️ 快捷键说明

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