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

📄 学生管理系统_ b07020126.cpp

📁 这是学生管理系统的程序,是我用C++编写的
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include<iostream.h>
#include<fstream.h>
#include<string.h>
class stu
{
	/*  学生信息情况 */
	char num[10]; /* 学号 */
	char name[10]; /* 姓名 */
	char sex[3]; /* 性别 */
	int year,month,day;  /* 出生日期 */
    double math,chinese,c_language,average,sum;  /* 三门课成绩,平均分,总分 */
public:
	stu()
	{
	}
	stu(char nu[10],char na[10],char se[3],int y,int m,int d,double ma,double chin,double c_lan)
	{
		strcpy(num,nu);
		strcpy(name,na);
		strcpy(sex,se);
		year=y;
		month=m;
		day=d;
		math=ma;
		chinese=chin;
		c_language=c_lan;
	
	}
	double getsum()   /* 求总分 */
	{
		sum=chinese+c_language+math;
		return sum;
	}
	double getaver()   /* 求平均分 */
	{ 
        average=getsum()/3; 
        return average; 
	} 
	friend void main();
};
void main()
{
	cout<<"****************************************************************************"<<endl;
	cout<<endl;
	cout<<"-----------------------欢 迎 进 入 学 生 管 理 系 统-------------------------"<<endl;
	cout<<endl;
	cout<<"****************************************************************************"<<endl;
	cout<<endl;
	cout<<"操作:"<<endl;
    cout<<"<a>数据录入"<<endl; 
    cout<<"<b>增加人员"<<endl; 
    cout<<"<c>删除人员"<<endl; 
    cout<<"<d>修改数据"<<endl;
	cout<<"查询:"<<endl;
    cout<<"<e>按总成绩查询"<<endl; 
    cout<<"<f>按姓名查询"<<endl;
	cout<<"<x>按学号查询"<<endl;
	cout<<"<p>各门课平均分数"<<endl;
	cout<<"排序&排名:"<<endl;
	cout<<"<w>按姓名递增冒泡排序:"<<endl;
    cout<<"<h>按总分查询排名"<<endl; 
    cout<<"<i>按语文查询排名"<<endl;
	cout<<"<j>按数学查询排名"<<endl;
    cout<<"<y>按C语言查询排名"<<endl; 
	cout<<"人数查询:"<<endl;
	cout<<"<k>女生人数"<<endl;
	cout<<"<n>男生人数"<<endl;
	cout<<"<m>总人数"<<endl;
	cout<<"学生信息表:"<<endl;
	cout<<"<g>输出所有学生的数据"<<endl;
    cout<<"选择相关操作请输入相对的括号里的字母!"<<endl;
	char p;
	char w;
	stu *st[50];
	ofstream *file[50];
	int i=0;
	int j=0;
	bool flag2=0;
	do
	{
		cin>>p;
		if((p>='a'&&p<='x'))
			flag2=1;
		else
		cout<<"指令错误!请重新输入:"<<endl;
	}while(flag2==0);
	do
	{
		switch(p)
		{
		case 'a':        //数据的录入并且把所录数据存到(d:\\学生管理系统.txt)
			{
				char c;
				char num[10];
				char name[10];
				char sex[3];
				int year;
				int month;
				int day;
				double math;
				double chinese;
				double c_language;
				do
				{
					cout<<"请输入学号"<<endl;
					cin>>num;
					cout<<"请输入姓名"<<endl;
					cin>>name;
					cout<<"请输入性别:"<<endl;
					cin>>sex;
					cout<<"请输入出生年:"<<endl;
					cin>>year;
					cout<<"请输入出生月:"<<endl;
					cin>>month;
					cout<<"请输入出生日:"<<endl;
					cin>>day;
					cout<<"请输入数学成绩:"<<endl;
					cin>>math;
					cout<<"请输入语文成绩:"<<endl;
					cin>>chinese;
					cout<<"请输入C语言成绩:"<<endl;
					cin>>c_language;
					file[j]=new ofstream("d:\\学生管理系统.txt",ios::ate);
					*file[j]<<"学号:"<<num<<"  "<<"姓名:"<<name<<"  "<<"性别:"<<sex<<"  "<<"出生时间:"<<year<<"年"<<month<<"月"<<day<<"日"<<"  "<<"数学成绩:"<<math<<"   "<<"语文成绩:"<<chinese<<"   "<<"C语言成绩:"<<c_language<<endl; 
					j++;
					st[i]=new stu(num,name,sex,year,month,day, math, chinese,c_language); 
					i++;
					cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;
					cin>>c;
					flag2=0;
					do
					{
						if(c!='y'&&c!='n')
						{
							cout<<"指令错误!请重新输入!"<<endl; 
							cin>>c;
						}
						else
							flag2=1;
					}while(flag2==0);
				}while(c=='y');
				break;
			}
	
		case 'm': //求学生总人数
			{
				cout<<"学生总人数为:"<<i<<endl;
				break;
			}
		case 'k':    //求女生的人数 
			{
				int j=0;
				char n[3]="女";
				for(int k=0;k<i;k++)
				{
					if(strcmp(n,(*st[k]).sex)==0)
						j++;
				}
				cout<<"女生人数为:"<<j<<endl;
				break;
			}
		case 'n':  //求男生的人数
			{
				int j=0;
				 char  n[3]="男";
				for(int k=0;k<i;k++)
				{
					if(strcmp(n,(*st[k]).sex)==0)
						j++;
				}
				cout<<"男生人数为:"<<j<<endl;
				break;
			}

		case 'e':  // 按总成绩查询学生
			{
				double t;
				char c;
				do
				{
					int flag1=0;
					cout<<"请输入你要查询学生的总成绩"<<endl; 
					cin>>t;
					for(int q=0;q<i;q++)
					{
						if(st[q]->getsum()==t)
						{
							flag1=1;
							cout<<"您要查询的学生是:"<<(*st[q]).name<<endl; 
						}
					}
					if(flag1==0)
						cout<<"对不起!您要查询的学生不存在!"<<endl;
						cout<<"您想继续查询吗?(y/n)"<<endl;
						cin>>c;
						if(c!='y'&&c!='n')
						{
							cout<<"指令错误!请重新输入!"<<endl; 
							cin>>c;
						}
					}while(c=='y');
					break;
			}
		case 'x':  // 按学号查询学生信息
		{
			char nu[10];
			int j=0;
			char c;
			do
			{
				int flag19=0;
				cout<<"请输入你要查询的学生学号"<<endl;
				cin>>nu;
				for( int j=0;j<i;j++)
				{
					if(strcmp(nu,(*st[j]).num)==0)
					{
						flag19=1;
						cout<<"您要查询的学号是:"<<(*st[j]).num<<endl;
						cout<<"学号:"<<(*st[j]).num<<"  "<<"姓名:"<<(*st[j]).name<<"  "<<"性别:"<<(*st[j]).sex<<"  "<<"出生时间:"<<(*st[j]).year<<"年"<<(*st[j]).month<<"月"<<(*st[j]).day<<"日"<<"   "<<endl;
						cout<<"总成绩成绩是:"<<(*st[j]).getsum()<<endl<<"平均成绩是:"<<(*st[j]).getaver()<<endl; 


					}
				}
				if(flag19==0)
					cout<<"对不起!您要查询的学生不存在!"<<endl;
				cout<<"您想继续查询吗?(y/n)"<<endl;
				cin>>c;
				if(c!='y'&&c!='n')
				{
					cout<<"指令错误!请重新输入!"<<endl;
					cin>>c;
				}
			}while(c=='y');
			break;
		}
		case 'p':  // 求各门课的平均分数
			
			{
				double m=0;
			    double n=0;
			    double k=0;
				for(int j=0;j<i;j++)
				{
					m+=(*st[j]).math;
					n+=(*st[j]).chinese;
					k+=(*st[j]).c_language;
				}

					
				cout<<"数学平均分为:"<<(m/i )<<endl;
				cout<<"语文平均分为: "<<(n/i)<<endl;
				cout<<"C语言平均分为: "<<(k/i)<<endl;
				break;
			}


    	case 'f':  // 按姓名查询学生信息
	
			{
				char na[10];
				int j=0;
				char c;
				do
				{
					int flag=0;
					cout<<"请输入你要查询的学生姓名"<<endl; 
					cin>>na;
					for(int j=0;j<i;j++)
					{
						if(strcmp(na,(*st[j]).name)==0)
						{
							flag=1;
							cout<<"您要查询的学生是:"<<(*st[j]).name<<endl;
							cout<<"学号:"<<(*st[j]).num<<"  "<<"姓名:"<<(*st[j]).name<<"  "<<"性别:"<<(*st[j]).sex<<"  "<<"出生时间:"<<(*st[j]).year<<"年"<<(*st[j]).month<<"月"<<(*st[j]).day<<"日"<<"   "<<endl;
							cout<<"总成绩成绩是:"<<(*st[j]).getsum()<<endl<<"平均成绩是:"<<(*st[j]).getaver()<<endl; 
						}
					}
					if(flag==0)
						cout<<"对不起!您要查询的学生不存在!"<<endl; 
					cout<<"您想继续查询吗?(y/n)"<<endl;
					cin>>c;
					if(c!='y'&&c!='n')
					{
						cout<<"指令错误!请重新输入!"<<endl; 
						cin>>c;
					}
				}while(c=='y');
				break;
			}
		case 'b':   //增加学生
			{
				char num[10];
				char name[10];
				char sex[3];
				int year;
				int month;
				int day;
				double math;
				double chinese;
				double c_language;
				char c;
				do
				{
					cout<<"请输入您要增加的学生的学号:"<<endl; 
					cin>>num;
					cout<<"请输入您要增加的学生的姓名:"<<endl; 
					cin>>name;
					cout<<"请输入您要增加的学生的性别:"<<endl; 
					cin>>sex;
					cout<<"请输入您要增加的学生的出生年:"<<endl;
					cin>>year;
					cout<<"请输入您要增加的学生的出生月:"<<endl;
					cin>>month;
					cout<<"请输入您要增加的学生的出生日:"<<endl;
					cin>>day;
					cout<<"请输入数学成绩:"<<endl;
					cin>>math;
					cout<<"请输入语文成绩:"<<endl;
					cin>>chinese;
					cout<<"请输入C语言成绩:"<<endl; 
					cin>>c_language;
					file[j]=new ofstream("d:\\学生管理系统.txt",ios::ate);
					*file[j]<<"学号:"<<num<<"  "<<"姓名:"<<name<<"  "<<"性别:"<<sex<<"  "<<"出生时间:"<<year<<"年"<<month<<"月"<<day<<"日"<<"  "<<"数学成绩:"<<math<<"   "<<"语文成绩:"<<chinese<<"   "<<"C语言成绩:"<<c_language<<endl; 
						j++;
					st[i]=new stu(num,name,sex,year,month,day,math,chinese,c_language);
					i++;
					cout<<"数据录入成功,想继续录入吗(y/n)"<<endl; 
					cin>>c;
					if(c!='y'&&c!='n')
					{

⌨️ 快捷键说明

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