课程设计

#include<iostream> 
#include<cstring> 
#include<iomanip>
using namespace std;

struct      //学生信息结构体定义
{
    char num[11];            //学号
	char name[10];       //学生姓名
	float score1;       //课程1成绩
    float score2;       //课程2成绩
    float score3;       //课程3成绩
    float score4;       //课程4成绩
    float score5;       //课程5成绩
    float score6;       //课程6成绩
    float ave;           //平均成绩
       
}student[128];
int n=0;
void input() ;  //录入学生信息函数声明
void show();    //显示学生信息函数声明
void sort();    //显示学生成绩排序声明
void sta();     //显示学生成绩分段声明
void change();      //修改学生成绩声明
void search();  //查询学生信息函数声明
int main()
{
    int select;
    
	while(1)
	{
		system("cls");
	
		cout<<"\t **************学生信息管理系统**************\n";
		cout<<"\t *------------------------------------------*\n";
		cout<<"\t *         1——登记学生信息                *\n";
		cout<<"\t *         2——显示学生信息                *\n";
		cout<<"\t *         3——显示平均成绩排序            *\n";
		cout<<"\t *         4——查询学生信息                *\n";
        cout<<"\t *         5——显示成绩分组                *\n";
        cout<<"\t *         6——修改学生成绩                *\n";
		cout<<"\t *         0——退出                        *\n";
		cout<<"\t *------------------------------------------*\n";
		cout<<"\t 你要输入的编号是(0--6):";
		cin>>select;
		if(select==0) break;
		switch(select){
		case 1:
			input(); //调用input函数录入数据
			system("pause");
			break;
		case 2:
			show(); //调用show函数显示学生信息 
			system("pause");
			break;
        case 3:
            sort(); //调用sort函数显示成绩排序
            system("pause");
            break;
		case 4:
		    search();  //调用search函数查询学生信息
			system("pause");
			break;
        case 5:
            sta(); //调用sta函数显示成绩分组
            system("pause");
            break;
		case 6:
			change();  //调用change函数修改学生信息
			system("pause");
			break;
		default:
			cout<<"没有该选项,请重新选择!"<<endl;
		}

	}

	return 0;
}

void input() //录入学生信息的函数
{
  char sel;
  do
  {
	  n++;
	  cout<<"\n请输入第"<< n <<"个学生信息:\n";
	  cout<<"\t学号:";
	  cin>>student[n].num;
	  cout<<"\t学生姓名:";
	  cin>>student[n].name;
      cout<<"\t课程1成绩:";
	  cin>>student[n].score1;
      cout<<"\t课程2成绩:";
	  cin>>student[n].score2;
	  cout<<"\t课程3成绩:";
	  cin>>student[n].score3;
      cout<<"\t课程4成绩:";
	  cin>>student[n].score4;
      cout<<"\t课程5成绩:";
	  cin>>student[n].score5;
      cout<<"\t课程6成绩:";
	  cin>>student[n].score6;
	  cout<<"是否要继续录入学生信息(Y/N):";
	  cin>>sel;
  }while(sel=='Y' || sel=='y' ); 

}

void show()    //显示所有学生信息函数
{
	cout<<left; //设置输出左对齐
	for(int i=1;i<=n;i++)
	{       
      float sum;
      sum=student[i].score1+student[i].score2+student[i].score3+student[i].score4+student[i].score5+student[i].score6;
      student[i].ave=sum/6;
cout<<setw(10)<<"学  号"<<setw(10)<<"学生姓名"<<setw(10)<<"课程1成绩"<<setw(10)<<"课程2成绩"<<setw(10)<<"课程3成绩"<<setw(10)<<"课程4成绩"<<setw(10)<<"课程5成绩"<<setw(10)<<"课程6成绩"<<endl;
	  cout<<setw(10)<<student[i].num<<setw(15)<<student[i].name<<setw(10)<<student[i].score1<<setw(10)<<student[i].score2<<setw(10)<<student[i].score3<<setw(10)<<student[i].score4<<setw(10)<<student[i].score5<<setw(10)<<student[i].score6<<endl;
	  cout<<"平均成绩"<<endl
          <<student[i].ave<<endl;
	}
	cout<<endl;
}

void sort()
{ 
  float temp;
  for(int j=1;j<=n;j++)
  for(int i=1;i<=n-1-j;i++)
  {if(student[i].ave<student[i+1].ave) 
  {temp=student[i].ave;
    student[i].ave=student[i+1].ave;
    student[i+1].ave=temp;
  }
  }
  for(int i=1;i<=n-1-i;i++)
  cout<<student[i].ave<<" ";
}

void search()
{
   char num[11];
   int flag=0;
   cout<<"请输入学号:";  
   cin>>num;            //输入学号,如:zidong0224
   for(int i=1;i<=n;i++)
   if(strcmp(num,student[i].num)==0)
   {flag=1;
    cout<<"该学生姓名:"<<student[i].name<<endl;
    int cla;
    cout<<"想要查看课程(1-6)的成绩:";
    cin>>cla;
    switch(cla)
    {
     case 1:cout<<student[i].score1<<endl;break;
     case 2:cout<<student[i].score2<<endl;break;
     case 3:cout<<student[i].score3<<endl;break;
     case 4:cout<<student[i].score4<<endl;break;
     case 5:cout<<student[i].score5<<endl;break;
     case 6:cout<<student[i].score6<<endl;break;
     }
   }
     if(flag=0)
     cout<<"无此学生信息"<<endl;  
}

void sta()
{  
   int A1,B1,C1,A2,B2,C2,A3,B3,C3,A4,B4,C4,A5,B5,C5,A6,B6,C6;
   A1=B1=C1=A2=B2=C2=A3=B3=C3=A4=B4=C4=A5=B5=C5=A6=B6=C6=0;
   for(int i=1;i<=n;i++)
   {
   if(student[i].score1>=80) A1++;
   if(student[i].score1>=60) B1++;
   if(student[i].score1<60)  C1++;
   if(student[i].score2>=80) A2++;
   if(student[i].score2>=60) B2++;
   if(student[i].score2<60)  C2++;
   if(student[i].score3>=80) A3++;
   if(student[i].score3>=60) B3++;
   if(student[i].score3<60)  C3++;
   if(student[i].score4>=80) A4++;
   if(student[i].score4>=60) B4++;
   if(student[i].score4<60)  C4++;
   if(student[i].score5>=80) A5++;
   if(student[i].score5>=60) B5++;
   if(student[i].score5<60)  C5++;
   if(student[i].score6>=80) A6++;
   if(student[i].score6>=60) B6++;
   if(student[i].score6<60)  C6++;
   }
   cout<<"课程1高分人数:"<<A1<<endl;
   cout<<"课程1及格人数:"<<B1<<endl;
   cout<<"课程1不及格人数:"<<C1<<endl;
   cout<<endl;
   cout<<"课程2高分人数:"<<A2<<endl;
   cout<<"课程2及格人数:"<<B2<<endl;
   cout<<"课程2不及格人数:"<<C2<<endl;
   cout<<endl;
   cout<<"课程3高分人数:"<<A3<<endl;
   cout<<"课程3及格人数:"<<B3<<endl;
   cout<<"课程3不及格人数:"<<C3<<endl;
   cout<<endl;
   cout<<"课程4高分人数:"<<A4<<endl;
   cout<<"课程4及格人数:"<<B4<<endl;
   cout<<"课程4不及格人数:"<<C4<<endl;
   cout<<endl;
   cout<<"课程5高分人数:"<<A5<<endl;
   cout<<"课程5及格人数:"<<B5<<endl;
   cout<<"课程5不及格人数:"<<C5<<endl;
   cout<<endl;
   cout<<"课程6高分人数:"<<A6<<endl;
   cout<<"课程6及格人数:"<<B6<<endl;
   cout<<"课程6不及格人数:"<<C6<<endl;
}

void change()
{
   char num[11];
   int flag=0;
   cout<<"请输入要修改成绩的学生学号:";  
   cin>>num;            
   for(int i=1;i<=n;i++)
   if(strcmp(num,student[i].num)==0)
   {
    flag=1;
    cout<<"该学生姓名:"<<student[i].name<<endl;
    int cla;
    cout<<"想要查看课程(1-6)的成绩:";
    cin>>cla;
    switch(cla)
    {
     case 1:cout<<student[i].score1<<endl;cout<<"把成绩修改为:";cin>>student[i].score1;break;
     case 2:cout<<student[i].score2<<endl;cout<<"把成绩修改为:";cin>>student[i].score2;break;
     case 3:cout<<student[i].score3<<endl;cout<<"把成绩修改为:";cin>>student[i].score3;break;
     case 4:cout<<student[i].score4<<endl;cout<<"把成绩修改为:";cin>>student[i].score4;break;
     case 5:cout<<student[i].score5<<endl;cout<<"把成绩修改为:";cin>>student[i].score5;break;
     case 6:cout<<student[i].score6<<endl;cout<<"把成绩修改为:";cin>>student[i].score6;break;
     }
    }
     if(flag=0)
     cout<<"无此学生信息"<<endl;  
}












  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值