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

📄 4.txt

📁 1. 学生成绩删除功能:该功能通过调用int shanchu(struct Student *p,int x,int num,float a[])来实现。该功能采用的是询问管理人员的意见之后再功能实现
💻 TXT
字号:
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
struct Student
{
	int num;//学号
	char name[20];//姓名
	float score1;//成绩1
	float score2;//成绩2
	float score3;//成绩3
}stu[50];
void luru(struct Student *p)//录入函数
{
    cout<<"学号:"<<endl;
	cin>>p->num;
	cout<<"姓名:"<<endl;
	cin>>p->name;

	cout<<"三门成绩:"<<endl;
	cout<<"成绩1:"<<endl;
	cin>>p->score1;

	cout<<"成绩2:"<<endl;
	cin>>p->score2;

    cout<<"成绩3:"<<endl;
	cin>>p->score3;
}
void paixu(struct Student *p,int x,float a[])//排序函数
{
	int i,j;
	float k;
	struct Student temp;
	for(i=0;i<x;i++)
	{
		for(j=0;j<x-i;j++)
		{
			if(a[j]<a[j+1])
			{
				temp.num=stu[j].num;
				stu[j].num=stu[j+1].num;
				stu[j+1].num=temp.num;
				strcpy(temp.name,stu[j].name);
				strcpy(stu[j].name,stu[j+1].name);
				strcpy(stu[j+1].name,temp.name);
				temp.score1=stu[j].score1;
				stu[j].score1=stu[j+1].score1;
				stu[j+1].score1=temp.score1;
				temp.score2=stu[j].score2;
				stu[j].score2=stu[j+1].score2;
				stu[j+1].score2=temp.score2;
				temp.score3=stu[j].score3;
				stu[j].score3=stu[j+1].score3;
				stu[j+1].score3=temp.score3;
				k=a[j];
				a[j]=a[j+1];
				a[j+1]=k;
			}
		}
	}
}
void hdisplay(struct Student *p,int x,float a[])//排序后的显示函数
{
	int i;
  cout<<"排序后的学员信息如下:"<<endl;
	cout<<"学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩"<<endl;
	for(i=0;i<x;i++)
	{
	cout<<p->num<<p->name<<p->score1<<p->score2<<p->score3<<a[i]<<endl;
		p++;
	}
}
int shanchu(struct Student *p,int x,int num,float a[])//删除函数
{
	int i,j,result=0;
	for(i=0;i<x;i++)
	{	
		if(p->num==num)
		{
			for(j=i;j<x;j++)
			{
				stu[j].num=stu[j+1].num;
				strcpy(stu[j].name,stu[j+1].name);
				stu[j].score1=stu[j+1].score1;
				stu[j].score2=stu[j+1].score2;
				stu[j].score3=stu[j+1].score3;
				a[j]=a[j+1];
			}
			result=1;
			break;
		}
		p++;
	}
	if(result==0)
	{
		cout<<"该学生不存在!"<<endl;
	}
	return result;
}
void chaxun(struct Student *p,int x,int num,float a[])
{
	int i,result=0;
	for(i=0;i<x;i++)
	{
		if(p->num==num)
		{
			cout<<"学号"<<"姓名"<<"成绩1"<<"成绩2"<<"成绩3"<<"平均成绩"<<endl;
	cout<<p->num<<p->name<<p->score1<<p->score2<<p->score3<<a[i]<<endl;
			result=1;
			break;
		}
		p++;
	}
	if(result==0)
	{
  cout<<"该学生不存在!"<<endl;
	}
}
void xiugai(struct Student *p,int x,int num,float a[])
{
	char name[20];
	int i,j,result=0;
	int code;
	float s1,s2,s3,ave;
	for(i=0;i<x;i++)
	{
		if(p->num==num)
		{
		cout<<"请输入修改后的学号:"<<endl;
			cin>>code;
			for(j=0;j<x;j++)
			{
				if(stu[j].num==code)
				{
				cout<<"该学号已经存在!"<<endl;
					result=1;
					break;
				}
			}
			if(result!=1)
			{
			cout<<"请输入修改后的姓名:"<<endl;
			cin>>name;
			cout<<"成绩1:"<<endl;
		    	cin>>s1;
		    cout<<"成绩2:"<<endl;
			    cin>>s2;
		     cout<<"成绩3:"<<endl;
				cin>>s3;
				ave=(s1+s2+s3)/3;
				stu[i].num=code;
				strcpy(stu[i].name,name);
				stu[i].score1=s1;
				stu[i].score2=s2;
				stu[i].score3=s3;
				a[i]=ave;
				result=2;
				break;
			}
		}
		p++;
	}
	if(result==0){
	cout<<"该学生不存在!";
	}
}
void main()
{
		char kl[10], num[10];
	cout<<"********登陆********"<<endl;
			cout<<"用户名:";
    	
	      cin>>kl;

    	cout<<"密码:";
    
	      cin>>num;
	
     if(strcmp(kl,"mrzhang")==0&&strcmp(num,"0583291")==0) 
		{
	  		cout<<"登陆成功!"<<endl;
		 } 
	else 
	{
		cout<<"登陆失败!"<<endl;exit(1);
		
	}
	char ch1,ch2,ch3,ch4;//定义4个字符函数判断是否要实现功能
	float ave[50];//平均成绩
	//循环变量i 功能编号num1 要删除的学生学号num2 要查询的学生学号num3 要修改的学生学号num4 判断是否删除学生信息result
	int i=0,num1,num2,num3,num4,result;
	do
	{
		cout<<"-------学生管理系统-------"<<endl;
		cout<<"1、添加学生信息"<<endl;
	   cout<<"2、删除学生信息"<<endl;
	   cout<<"3、学生成绩排序"<<endl;
	    cout<<"4、查询学生信息"<<endl;
	   cout<<"5、修改学生信息"<<endl;
		cout<<"请选择功能编号:"<<endl;
		cin>>num1;
		switch(num1)
		{
			case 1:
				do
				{
				cout<<"请录入学生信息:"<<endl;
					luru(&stu[i]);
					ave[i]=(stu[i].score1+stu[i].score2+stu[i].score3)/3;
					i++;
					cout<<" 是否继续添加?<y or n>"<<endl;
					cin>>&ch1;
				}while(ch1=='y');			
				break;
			case 2:
				do
				{
				cout<<"请输入要删除的学生的学号:"<<endl;
					cin>>num2;
					result=shanchu(stu,i,num2,ave);
					if(result==1){//如果删除成功信息条数-1
						i--;
					}
			cout<<"是否继续删除?<y or n>"<<endl;
				
				cin>>&ch2;
				}while(ch2=='y');
				break;
			case 3:
				paixu(stu,i,ave);
				hdisplay(stu,i,ave);
				break;
			case 4:
				do
				{
					cout<<"请输入学生的学号:"<<endl;
					cin>>num3;
					chaxun(stu,i,num3,ave);
				cout<<"是否继续查询?<y or n>"<<endl;
					cin>>&ch3;
				}while(ch3=='y');
				break;
			case 5:
				do
				{
				cout<<"请输入要修改信息的学生的学号:"<<endl;
				cin>>num4;
					xiugai(stu,i,num4,ave);
					cout<<"是否继续修改?<y or n>"<<endl;
					cin>>&ch4;
				}while(ch4=='y');
				break;
		}
		cout<<"是否选择其他功能?<y or n>"<<endl;
		cin>>&ch3;
	}while(ch3=='y');
}

⌨️ 快捷键说明

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