【伪C++】学生管理系统(功能算比较全)

这是一个基于C++的学生信息管理系统,包括录入、修改、增加、删除、查询和显示学生信息的功能,同时具备成绩验证和按学号排序功能,支持保存信息至文本文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       Ps:说伪c++是因为大部分代码其实是在大一上册写的,当时还没学c++;现在大二了增加了保存功能为了方便就直接改成c++了。然而没有改的地方:1.用到了goto(当时还不知道用它的缺点只是觉得方便),现在太多了改不过来了。。2.输入是scanf()3.名字保存没用string 用的是字符数组    以及能力有限可能有些小地方还是有问题的,请原谅( •̥́ ˍ •̀  )

       运行截图在最后。

       如果对你(的作业)有所帮助能顺手点个赞吗(滑稽)


一、功能介绍

       功能有:(1)系统帮助

                     (2)录入信息(类似于一开始大批量录入)

                     (3)输入纠错功能(1.要求输入数字输入的不是数字  2. 学号输入的位数不在范围 3.输入的名字不是汉字 4.输入的年龄不在范围 5.输入的成绩不是百分制 6.输入的性别不为男女)

                     (4)修改信息 (分为按学号和姓名)

                     (5)增加信息

                     (6)删除信息

                     (7)查询信息

                     (8)显示全部(按学号排序显示)

                     (9)保存信息(按时间保存)

二、流程图(系统功能图)

三、代码

【学生信息】

struct student/*学生结构体*/ 
{
	char code[12];/*学号为12位*/ 
	char name[5];
	char sex;
	int age;
	float score[3];
}stu[N];

【整体系统代码】

/****
      @Anthor:Innocence
      @IDE:dev c++
      @Editor:12.1
      @Time:last time:2019/4/13
      @Description:学生管理系统
****/ 

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <fstream>
#include <windows.h> 
#define LEN 11
#define N 10000 
using namespace std;
struct student/*学生结构体*/ 
{
	char code[12];/*学号为12位*/ 
	char name[5];
	char sex;
	int age;
	float score[3];
}stu[N];
int n,m,k=1;/*n是原本人数,m是新增人数*/
void help();/*帮助菜单*/ 
void input();/*录入信息*/ 
void modify();/*修改信息*/ 
void add();/*录入后再次增加信息*/ 
void del();/*删除信息*/ 
void seek();/*查询单个信息*/ 
void display();/*展示全部信息*/ 
void menu();/*主页面*/ 
int main()/*主函数*/ 
{
	while(k)
	{
	menu();
    }
    system("pause");
    return 0;
}
/*使用帮助*/ 
void help()
{
	cout<<"欢迎使用学生管理系统"<<endl;
	cout<<"现在由我来为您介绍一下使用方法"<<endl;
	cout<<"1.您首先需要录入学生的信息(此系统限制最多为10000人,可以改),然后根据提示进行相关操作。"<<endl;
	cout<<"2.该系统的目的是存储学生的信息以及查询。"<<endl;
	cout<<"3.这是西科版的所以学号请按照对应的输入(11位)。"<<endl;
	cout<<"4.学生的年龄限制为18~25。"<<endl;
	cout<<"5.学生的成绩是百分制。"<<endl;
	cout<<"6.因为能力有限,所以有些地方可能还是不够完善,请谅解"<<endl;
	cout<<"7.最后希望您能使用愉快"<<endl;
	return;
}
/*增加信息*/
void input()
{
	int i=0,flag=1;
	cout<<"现在您要做的是录入学生信息,请按照提示进行"<<endl;
	cout<<"请输入您要录入的学生的人数:"<<endl;
    while(flag)
    {  
    flag=0;
	scanf("%d",&n);
	if(n>N)/*人数超过系统定义上限报错*/ 
	{
	cout<<"抱歉,您输入的人数超过了系统上限,请重新输入"<<endl;
	flag=1;
    }
    if(n<0)/*输入人数为负报错*/ 
    {
	cout<<"抱歉,录入人数是不能为负数,请重新输入"<<endl;
    flag=1;
	}
	if(n==0)/*输入人数为零报错*/ 
	{
		cout<<"抱歉,录入人数是不能为0,请重新输入"<<endl;
		flag=1; 
	}
	}
	for(i=0;i<n;i++)
	{
		cout<<"请输入第"<<i+1<<"个学生的学号:"<<endl;
		A_1:scanf("%s",stu[i].code);
		cout<<""<<endl;
		if(strlen(stu[i].code)!=11)/*判断输入学号位数或者输入是否合法*/ 
		{
		cout<<"抱歉,您输入的学号位数不对,请重新输入"<<endl;
		goto A_1;
	    }
		cout<<"请输入第"<<i+1<<"个学生的姓名:"<<endl;
		A_2:scanf("%s",stu[i].name);
		if(strlen(stu[i].name)<=0xA1&&strlen(stu[i].name)<=0xb0&&strlen(stu[i].name)!=4&&strlen(stu[i].name)!=6&&strlen(stu[i].name)!=8)/*输入姓名非汉字或者字母报错*/ 
		{
		cout<<"抱歉,您输入的不是汉字或者名字不对,请重新输入"<<endl;
		goto A_2;
	}
		cout<<""<<endl;
		fflush(stdin); 
		cout<<"请输入第"<<i+1<<"个学生的性别,男为M,女为W:"<<endl;/*输入性别非法报错*/ 
	    A_3:scanf("%c",&stu[i].sex);
	    fflush(stdin);
		if(stu[i].sex!='W'&&stu[i].sex!='M')
		{
		cout<<"抱歉,您输入的性别不对,请重新输入"<<endl;
		goto A_3;
	}fflush(stdin);
		cout<<""<<endl;
		fflush(stdin);
		cout<<"请输入第"<<i+1<<"个学生的年龄:"<<endl;/*输入年龄非法报错*/ 
		A_4:scanf("%d",&stu[i].age);
		if(stu[i].age<18||stu[i].age>25)
		{
		cout<<"抱歉,您输入的年龄不对,请重新输入"<<endl; 
	    goto A_4;
	    }
	    fflush(stdin);
		cout<<""<<endl;
	    cout<<"请输入第"<<i+1<<"个学生的c语言成绩:"<<endl;
	    A_5:scanf("%f",&stu[i].score[0]);
	    if(stu[i].score[0]<0||stu[i].score[0]>100)/*输入成绩非法报错*/ 
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto A_5;
		 } 
		 fflush(stdin);
		cout<<""<<endl;
	    cout<<"请输入第"<<i+1<<"个学生的高数成绩:"<<endl;
	    A_6:scanf("%f",&stu[i].score[1]);
	    if(stu[i].score[1]<0||stu[i].score[1]>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto A_6;
		 } 
		 fflush(stdin);
		cout<<""<<endl;
	    cout<<"请输入第"<<i+1<<"个学生的英语成绩:"<<endl;
	    A_7:scanf("%f",&stu[i].score[2]); 
	    if(stu[i].score[2]<0||stu[i].score[2]>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto A_7;
		 } 
	    cout<<""<<endl;
	}
	cout<<"学生信息已成功录入! ";
	return; 
}
/*修改信息*/ 
void modify()
{
	int i,j,b,item,num,flag=0;
	char a,a1[LEN+1],a2[LEN+1];
	float score1;
	cout<<"现在您要做的是修改学生信息,请按照提示进行"<<endl; 
	cout<<"请选择您要按哪种方式修改:1.学号  2.姓名:"<<endl;
	cout<<"按3返回主菜单"<<endl; 
	scanf("%d",&b);/*选择功能*/ 
			switch(b)
     	{
		case 1:/*通过学号修改*/ 
			cout<<"请输入您要修改的学生的学号"<<endl;
			B_1:scanf("%s",a1);
			for(i=0;i<n;i++)/*通过学号定位到要修改的学生的信息*/ 
		if(strcmp(stu[i].code,a1)==0)
			{
			num=i;
			cout<<"——————————"<<endl; 
			cout<<"请选择您要修改的内容:"<<endl;
			cout<<"1.修改姓名"<<endl;
			cout<<"2.修改学号"<<endl;
			cout<<"3.修改性别"<<endl;
			cout<<"4.修改年龄"<<endl;
			cout<<"5.修改c语言成绩"<<endl;
			cout<<"6.修改高数成绩"<<endl;
			cout<<"7.修改英语成绩"<<endl;
			cout<<"8.返回主菜单"<<endl;
			scanf("%d",&item);
			switch(item)
			{
				case 1:/*修改姓名*/ 
					cout<<"请输入修改后的姓名:"<<endl;
					B_2:scanf("%s",a2);
					
		if(strlen(a2)!=4&&strlen(a2)!=6&&strlen(a2)!=8)
		{
		cout<<"抱歉,您输入的不是汉字或者名字不对,请重新输入"<<endl;
		goto B_2;
	}
		cout<<""<<endl;
					strcpy(stu[num].name,a2);break;
				case 2:/*修改学号*/ 
					cout<<"请输入修改后的学号:"<<endl;
					B_3:scanf("%s",a2);
				
		cout<<""<<endl;
		if(strlen(a2)!=11)
		{
		cout<<"抱歉,您输入的学号位数不对,请重新输入"<<endl;
		goto B_3;
	    }
					strcpy(stu[num].name,a2);break;
				case 3:	/*修改性别*/ 
					cout<<"请输入修改后的性别:"<<endl;
					fflush(stdin);
					B_4:scanf("%c",&a);
					fflush(stdin);
		if(a!='W'&&a!='M')
		{
		cout<<"抱歉,您输入的性别不对,请重新输入"<<endl;
		goto B_4;
	}fflush(stdin);
					stu[num].sex=a;break;
				case 4:	/*修改年龄*/ 
					cout<<"请输入修改后的年龄:"<<endl;
					B_5:scanf("%d",stu[num].age);
		if(stu[num].age<10||stu[num].age>25)
		{
		cout<<"抱歉,您输入的年龄不对,请重新输入"<<endl; 
	    goto B_5;
	    }break;
				case 5:	/*修改c语言成绩*/ 
					cout<<"请输入修改后的c语言成绩:"<<endl;
					B_6:scanf("%f",&score1);
					
	    if(score1<1||score1>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto B_6;
		 } 
					stu[num].score[0]=score1;break;
				case 6:	/*修改高数成绩*/ 
					cout<<"请输入修改后的高数成绩:"<<endl;
					B_7:scanf("%f",&score1);
					
	    if(score1<1||score1>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto B_7;
		 } 
					stu[num].score[1]=score1;break;
				case 7:	/*修改英语成绩*/ 
					cout<<"请输入修改后的英语成绩:"<<endl;
					B_8:scanf("%f",&score1);
				
	    if(score1<1||score1>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto B_7;
		 } 
					stu[num].score[2]=score1;break;
				case 8:return;/*返回主菜单*/ 
		        }}
		        else 
				{
				cout<<"抱歉,您输入的学号系统中找不到,请重新输入"<<endl;/*输入学号在系统中无法找到报错*/ 
				goto B_1;
			}
		    cout<<"bingo!学生信息已成功修改!";break; 
		case 2:/*通过姓名修改*/ 
				{cout<<"请输入您要修改的学生的姓名:"<<endl;
				B_9:scanf("%s",a1) ;
		if(strcmp(stu[num].name,a1)==0)/*通过姓名定位到要修改学生的信息*/
			{
			num=i;
			cout<<"——————————"<<endl; 
			cout<<"请选择您要修改的内容:"<<endl;
			cout<<"1.修改姓名"<<endl;
			cout<<"2.修改学号"<<endl;
			cout<<"3.修改性别"<<endl;
			cout<<"4.修改年龄"<<endl;
			cout<<"5.修改c语言成绩"<<endl;
			cout<<"6.修改高数成绩"<<endl;
			cout<<"7.修改英语成绩"<<endl;
			cout<<"8.返回主菜单"<<endl;
			scanf("%d",&item);
			switch(item)
			{
				case 1:/*修改姓名*/ 
					cout<<"请输入修改后的姓名:"<<endl;
					B_10:scanf("%s",a2);
					
	           	if(strlen(a2)!=4&&strlen(a2)!=6&&strlen(a2)!=8)
		        {
		        cout<<"抱歉,您输入的不是汉字或者名字不对,请重新输入"<<endl;
	            goto B_10;
	            }
		        cout<<""<<endl;
					strcpy(stu[num].name,a2);break;
				case 2:/*修改学号*/ 
					cout<<"请输入修改后的学号:"<<endl;
					B_11:scanf("%s",a2);
				
		cout<<""<<endl;
		if(strlen(a2)!=11)
		{
		cout<<"抱歉,您输入的学号位数不对,请重新输入"<<endl;
		goto B_11;
	    }
					strcpy(stu[num].name,a2);break;
				case 3:	/*修改性别*/ 
					cout<<"请输入修改后的性别:"<<endl;
					fflush(stdin);
					B_12:scanf("%c",&a);
					fflush(stdin);
		if(a!='W'&&a!='M')
		{
		cout<<"抱歉,您输入的性别不对,请重新输入"<<endl;
		goto B_12;
	}fflush(stdin);
					stu[num].sex=a;break;
				case 4:	/*修改年龄*/ 
					cout<<"请输入修改后的年龄:"<<endl;
					B_13:scanf("%d",stu[num].age);
					
		if(stu[num].age<10||stu[num].age>25)
		{
		cout<<"抱歉,您输入的年龄不对,请重新输入"<<endl; 
	    goto B_13;
	    }break;
				case 5:	/*修改c语言成绩*/ 
					cout<<"请输入修改后的c语言成绩:"<<endl;
					B_14:scanf("%f",&score1);
					
	    if(score1<1||score1>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto B_14;
		 } 
					stu[num].score[0]=score1;break;
				case 6:	/*修改高数成绩*/ 
					cout<<"请输入修改后的高数成绩:"<<endl;
					B_15:scanf("%f",&score1);
					
	    if(score1<1||score1>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto B_15;
		 } 
					stu[num].score[1]=score1;break;
				case 7:	/*修改英语成绩*/ 
					cout<<"请输入修改后的英语成绩:"<<endl;
					B_16:scanf("%f",&score1);
				
	    if(score1<1||score1>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto B_16;
		 } 
					stu[num].score[2]=score1;break;
				case 8:return;/*返回主菜单*/ 
		        }}
		    else 
		{
		cout<<"抱歉,您输入的名字系统中找不到,请重新输入"<<endl;/*无法查询要修改学生姓名报错*/ 
			goto B_9;
			} 
		    case 3:return;
	}}
}
/*按学号排序*/
void sort()
{
	int i,j,*p,*q,s;
	char t[LEN+1],ct;
	float ft;
	for(i=0;i<n-1;i++)
	{
		for(j=n-1;j>i;j--)
		if(strcmp(stu[j-1].code,stu[j].code)>0)
		{
		strcpy(t,stu[j-1].code);
		strcpy(stu[j-1].code,stu[j].code);
		strcpy(stu[j].code,t);
		strcpy(t,stu[j-1].name);
		strcpy(stu[j-1].name,stu[j].name);
		strcpy(stu[j].name,t);
		ct=stu[j-1].sex;
		stu[j-1].sex=stu[j].sex;
		stu[j].sex=ct;
		p=&stu[j-1].age;
		q=&stu[j].age;
		s=*q;
		*q=*p;
		*p=s;
		for(k=0;k<3;k++)
		{
			ft=stu[j-1].score[k];
			stu[j-1].score[k]=stu[j].score[k];
			stu[j].score[k]=ft;
	}
		}
	}
 } 
/*新增学生信息*/ 
void add()
{
	int i=n,j,flag;
	cout<<"现在您要做的是增加学生信息,请按照提示进行"<<endl; 
	cout<<"请输入要增加的人数:"<<endl;
	C_1:scanf("%d",&m);
	if(m+n>N)/*新增人数与原有人数相加大于系统上限报错*/ 
	{cout<<"抱歉,您要增加的人数与原有人数相加大于系统上限了,请重新输入"<<endl;
	 goto C_1;}
	if(m<0)
	{
		cout<<"抱歉,要增加的人数不能为负数,请重新输入"<<endl;
		goto C_1;
	 }
	 if(m==0)
	 {
	 	cout<<"抱歉,要增加的人数不能是0,请重新输入"<<endl;
	 	goto C_1;
	  } 
	do
	{
		flag=1;
		while(flag)
		{
			flag=0;
			cout<<"请输入第"<<i+1<<"个学生的学号:"<<endl;
			C_2:scanf("%s",stu[i].code);
			if(strlen(stu[i].code)!=11)
		{
		cout<<"抱歉,您输入的学号位数不对,请重新输入"<<endl;
		goto C_2;
	    }
			for(j=0;j<i;j++)
			if(strcmp(stu[i].code,stu[j].code)==0)/*新增学生学号重复报错*/ 
			{
				cout<<"抱歉,您输入的学号已经有了,请检查后重新输入"<<endl;
				flag=1;
				break;
			}
		}
		cout<<"请输入第"<<i+1<<"个学生的姓名:"<<endl;
		C_3:scanf("%s",stu[i].name);
		if(strlen(stu[i].name)!=4&&strlen(stu[i].name)!=6&&strlen(stu[i].name)!=8)/*判断是否为汉字*/ 
		        {
		        cout<<"抱歉,您输入的不是汉字或者名字不对,请重新输入"<<endl;
	            goto C_3;
	            }
		fflush(stdin);
		cout<<"请输入第"<<i+1<<"个学生的性别,男为M,女为W:"<<endl;
		C_4:scanf("%c",&stu[i].sex);
		fflush(stdin);
		if(stu[i].sex!='W'&&stu[i].sex!='M')
		{
		cout<<"抱歉,您输入的性别不对,请重新输入"<<endl;
		goto C_4;
	}
			fflush(stdin);
		cout<<"请输入第"<<i+1<<"个学生的年龄:"<<endl;
		C_5:scanf("%d",&stu[i].age);
			if(stu[i].age<17||stu[i].age>25)
		{
		cout<<"抱歉,您输入的年龄不对,请重新输入"<<endl; 
	    goto C_5;
	    }
		cout<<"请输入第"<<i+1<<"个学生的c语言成绩:"<<endl;
		C_6:scanf("%f",&stu[i].score[0]);
		if(stu[i].score[0]<1||stu[i].score[0]>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto C_6;
		 } 
		cout<<"请输入第"<<i+1<<"个学生的高数成绩:"<<endl;
		C_7:scanf("%f",&stu[i].score[1]);
		if(stu[i].score[1]<1||stu[i].score[1]>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto C_7;
		 } 
		cout<<"请输入第"<<i+1<<"个学生的英语成绩:"<<endl;
		C_8:scanf("%f",&stu[i].score[2]);
		if(stu[i].score[2]<1||stu[i].score[2]>100)
		{
			cout<<"抱歉,您输入的成绩不对,请重新输入"<<endl;
			goto C_8;
		 } 
		if(flag==0)
		{
			i++;
		 }
		  } 
		while(i<n+m);
		 n+=m;
		 cout<<"bingo!此名学生的信息已成功增加!"<<endl<<endl;
		 sort();
        return;
}
void del()
{
	cout<<"现在您要做的是删除学生信息,请按照提示进行(注意,删了就没法后悔了)"<<endl; 
	int i,j,flag=0,a;
	char a1[LEN+1];
	cout<<"请选择您要按哪种方式修改:1.学号  2.姓名:"<<endl;
	cout<<"按3返回主菜单"<<endl; 
	scanf("%d",&a);
	switch(a)
	{
		case 1:
			cout<<"请输入您要删除的学生的学号"<<endl;
			D_1:scanf("%s",a1);
			for(i=0;i<n;i++)
			{
			if(strlen(a1)!=11)
		{
		cout<<"抱歉,您输入的学号位数不对,请重新输入"<<endl;
		goto D_1;
	    }if(strcmp(stu[i].code,a1)==0)
			{
			flag=1;
			for(j=i;j<n-1;j++)
			stu[j]=stu[j+1]; 
	        } 
	          if(flag==0)/*输入删除要学生的学号不存在报错*/ 
	          {
			  cout<<"抱歉,您输入的学号不存在,请检查后重新输入"<<endl;
			  goto D_1;
			  }}
			  if(flag==1)
			  {
			  cout<<"bingo!此名学生的信息已成功删除!";
			  n--;break;} 
		case 2:
			cout<<"请输入您要删除的学生的姓名"<<endl;
			D_2:scanf("%s",a1);
			if(strlen(a1)!=4&&strlen(a1)!=6&&strlen(a1)!=8)/*判断是否为汉字*/ 
		        {
		        cout<<"抱歉,您输入的不是汉字或者名字不对,请重新输入"<<endl;
	            goto D_2;
	            }
			for(i=0;i<n;i++)
			if(strcmp(stu[i].code,a1)==0)
			{
			flag=1;
			for(j=i;j<n-1;j++)
			stu[j]=stu[j+1]; 
	        } 
	          if(flag==0)
	          {
			  cout<<"抱歉,您输入的姓名不存在,请检查后重新输入"<<endl;
			  goto D_2;
			  }
			  if(flag==1)
			  {
			  cout<<"bingo!此名学生的信息已成功删除!";
			  n--; break;} 
		case 3:return;
	} 

} 
void save()
{
	ofstream f;  
	f.open("学生信息.txt",ios::app);
	if(!f){
		cout<<"打开文件失败!"<<endl;
		exit(0);
	}
	SYSTEMTIME sys; 
	GetLocalTime( &sys ); 	
	for(int i=0;i<m+n;i++){
		f<<"————————"<<sys.wYear<<"年"<<sys.wMonth<<"月"<<sys.wDay<<"日"<<sys.wHour<<"时"<<sys.wMinute<<"分"<<sys.wSecond<<"秒"<<"——————————————"<<endl;
		f<<"姓名       学号     性别  年龄   c语言成绩  高数成绩  英语成绩\n"<<endl; 	
		f<<left<<stu[i].name<<"   "<<left<<stu[i].code<<"    "<<left<<stu[i].sex<<"    "<<left<<stu[i].age<<"       "<<left<<stu[i].score[0]<<"         "<<left<<stu[i].score[1]<<"         "<<left<<stu[i].score[2]<<endl;
	}
	cout<<"当前所有同学信息保存成功!"<<endl;
	
} 
/*查询单个学生信息*/ 
void seek()
{
	cout<<"现在您要做的是查询学生信息,请按照提示进行"<<endl;
	int i,item,flag,z;
	char a1[LEN+1]; 
	cout<<"请选择您要按哪种方式查询:1.学号  2.姓名:"<<endl; 
	cout<<"按3返回主菜单"<<endl; 
	scanf("%d",&item);
	switch(item)
	{
		case 1:
			cout<<"请输入要查询的学生的学号:"<<endl;
			E_1:scanf("%s",a1);
			if(strlen(a1)!=11)
		{
		cout<<"抱歉,您输入的学号位数不对,请重新输入"<<endl;
		goto E_1;
	    }
			for(i=0;i<n;i++)
			if(strcmp(stu[i].code,a1)==0)
			{
				flag=1;
				cout<<"姓名            学号    性别  年龄   c语言成绩  高数成绩    英语成绩     "<<endl;
	            cout<<"—————————————————————————————————"<<endl;
	            printf("%7s%15s%4c%7d%11.1f%11.1f%11.1f\n",stu[i].name,stu[i].code,stu[i].sex,stu[i].age,
	            stu[i].score[0],stu[i].score[1],stu[i].score[2]);
            }
            if(flag==0)
            cout<<"抱歉,您输入的学号不存在,请检查后重新输入"<<endl;
			break;
		case 2: 
		    cout<<"请输入要查询的学生的姓名:"<<endl;
			E_2:scanf("%s",a1);
			if(strlen(a1)!=4&&strlen(a1)!=6&&strlen(a1)!=8)/*判断是否为汉字*/ 
		        {
		        cout<<"抱歉,您输入的不是汉字或者名字不对,请重新输入"<<endl;
	            goto E_2;
	            }
	            for(z=0;z<n;z++)
	            if(strcmp(stu[z].name,a1)==0)
			{
				flag=1;
				cout<<"姓名            学号    性别  年龄   c语言成绩  高数成绩    英语成绩     "<<endl;
	            cout<<"—————————————————————————————————"<<endl;
	            printf("%7s%15s%4c%7d%11.1f%11.1f%11.1f\n\n",stu[z].name,stu[z].code,stu[z].sex,stu[z].age,
	            stu[z].score[0],stu[z].score[1],stu[z].score[2]);
            }
            if(flag==0)
            cout<<"抱歉,您输入的姓名不存在,请检查后重新输入"<<endl;break;
        case 3:return ;
        default:cout<<"请在1~3之间选择"<<endl;
    }
	}

/*显示所有学生的信息*/
void display()
{
	int i;
	cout<<"这是所有学生的信息"<<endl;
	cout<<"姓名            学号    性别  年龄   c语言成绩  高数成绩    英语成绩     "<<endl;
	cout<<"—————————————————————————————————"<<endl;
	for(i=0;i<n;i++)
	printf("%7s%15s%4c%7d%11.1f%11.1f%11.1f\n\n",stu[i].name,stu[i].code,stu[i].sex,stu[i].age,
	    stu[i].score[0],stu[i].score[1],stu[i].score[2]);
	    return;
 } 
/*主界面*/ 
void menu()
{
	int num;
	cout<<""<<endl;
	cout<<"************************************************"<<endl;
	cout<<"               学生信息管理系统XD               "<<endl;
	cout<<"************************************************"<<endl;
	cout<<"                  [系统菜单]                    "<<endl;
	cout<<"————————————————————————"<<endl;
	cout<<"      ****       1.系统帮助       ****          "<<endl;
	cout<<"      ****       2.录入信息       ****          "<<endl;
	cout<<"      ****       3.修改信息       ****          "<<endl;
	cout<<"      ****       4.增加信息       ****          "<<endl;
	cout<<"      ****       5.删除信息       ****          "<<endl;
	cout<<"      ****       6.查询信息       ****          "<<endl;
	cout<<"      ****       7.显示全部       ****          "<<endl;
	cout<<"      ****       8.保存信息       ****          "<<endl;
	cout<<"      ****       9.退出系统       ****          "<<endl;
	cout<<"                                     made by:LXY"<<endl;
	cout<<"请选择功能:"<<endl;
	scanf("%d",&num);
	switch(num)
	{
		case 1:help();break;
		case 2:input();break;
		case 3:modify();break;
		case 4:add();break;
		case 5:del();break;
		case 6:seek();break;
		case 7:display();break;
		case 8:save();break; 
		case 9:k=0;break;
		default:cout<<"请在1~8之间选择";
	}
 } 
 

四、运行结果截图

【系统帮助】

【输入人数】

【录入信息(含纠错)】

【修改信息】

【删除信息】

【查询信息】

【显示全部】

【保存信息】

1.静态 系统支持每个文章和每个栏目单独指定网址和网址格式。支持动态网址和静态网址格式的自定义设置。比如可以将文章页 article.php?url=test 更改显示为 read.asp?a=test ,blog/test ,book/test.html 三种样式。其中的文件后缀,文件名,都是可以自定义,从而实现了完隐藏网站程序或造其它的网站程序,方便多个站点间拥有不同的个性。 2.多站点 使用一个网站系统可以建很多站,每个站都有自己的特定的设置,不同的模板,不同的网址设置.比如说我们购买了一个香港主机,它是根目录可以绑定15个域名,如果我们使用它可以建15个网站:只要哪个域名访问它,它就可以根据不同的域名显示对应网站的内容.从访客的角度来看,他看到的只是不同的网站.但对网站管理员来说,只需要管理一个cms后台。建这些站可以工节省不少人力,成本. 3.高速度 系统对数据库,对各个代码进行了优化,运行速度快.加上程序本身更注重文章系统的功能,所以使用资源非常少,百万数据也不成问题。 5.易扩展 对于更多的功能,我们可以通过扩展来实现.系统提示多个锚点,用户可以在前台,后台,随时添加自己的扩展.对于每一个网站,都可以单独设置插件.让每个站点都充满特色. 6.服务端 本地提供数据转换工具,发布工具,管理工具.数据转换工具提供各种cms,blog的转换工具;发布工具可以将一些数据抓取工具或是其它方式获取的数据发布到网站上;管理工具可以提供简单的远程数据管理功能. 7.自动缓存 程序为部分页面提供了自动缓存功能,在页面内容没有改变的情况下,实现了和静态页304一样的效果。 8.学习教村 程序结构简单清晰,代码注释详细,是PHP初学者学习入门的良好教材。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值