安徽科技学院 信网学院网络文化节 朱时慧

#include
#include
#include //使用setw()函数
#include<windows.h> //使用system()函数
#include<conio.h> //使用getch(),输入任意字符
#include //使用strcpy()函数
using namespace std;
int n=0;
class student //学生类
{
public:
int num; //学生学号
char name[10];//学生姓名
char sex[4];//学生性别
char add[100];//学生家庭地址
char classroom[10];//学生班级
double a,b,c; //三门课的成绩
double sum; //记录个人三门课的总成绩
void xianshi1(); //显示学生信息
}stu[100],paixu[100],wo[100];//声明对象

class school:public student
{
public:
//声明函数原型
void input(); //添加学生信息
void jia(); //增加学生
void shanchu(); //删除学生信息
void xiugai(); //修改学生信息
void chaxun(); //查询学生信息
void xianshi(); //显示学生信息
void xu(); //总分排序
void ji();
void back(); //返回主界面
void start(); //管理操作
};
int main()
{
school A;
A.start();
}

void school::start()

{
system(“cls”);//清屏 DOC调用
system(“color 2”); //颜色 调用doc
cout<<"\t\t\t\t"<<“欢迎进入学生管理系统!”<<endl;
cout<<endl;
cout<<endl;
cout<<“\t\t1、添加学生信息\t\t”<<endl;
cout<<“\t\t2、删除学生信息\t\t”<<endl;
cout<<“\t\t3、修改学生信息\t\t”<<endl;
cout<<“\t\t4、查询学生信息\t\t**********************"<<endl;
cout<<"
\t\t5、显示学生信息\t\t***********************”<<endl;
cout<<“\t\t6、总分排序 \t\t”<<endl;
cout<<“\t\t7、增加学生 \t\t”<<endl;
cout<<“\t\t8、学生各科成绩的及格率 \t\t”<<endl;
cout<<“\t\t0、退出系统 \t\t”<<endl;
cout<<“请输入操作选择:”;
int i;
cin>>i;
if(i>9||i<0) //操作控制
{
cout<<“输入有误!”<<endl;
school::back();
}
switch(i)
{
case 1🏫:input();break;
case 2🏫:shanchu();break;
case 3🏫:xiugai();break;
case 4🏫:chaxun();break;
case 5🏫:xianshi();break;
case 6🏫:xu();break;
case 7🏫:jia();break;
case 8🏫:ji();break;
case 0:exit(0);break;
default:cout<<“你的输入有误!\n”;
}
}
void school::input() //添加学生
{
system(“color 1F”); //颜色 调用doc
system(“cls”);//清屏

cout<<“请输入要添加的学生个数:(0-100)”;
cin>>n;
if(n>=100||n<=0)
{
cout<<“输入有误!”<<endl;
cout<<“按任意键返回”<<endl;
getch();
input();
}
else
{
cout<<"**** 注意:输入学号为整数!!性别只能为男或女!!输入的成绩为0-100!! "<<endl;
cout<<"/t
******************************************/t"<<endl;
for(int i=0;i<n;i++)
{
cout<<“请输入第”<<i+1<<“个同学的信息:”<<endl;

cout<<“学号:”;cin>>stu[i].num;
cout<<“姓名:”;cin>>stu[i].name;
cout<<“家庭住址:”;cin>>stu[i].add;
cout<<“性别:”; cin>>stu[i].sex;
cout<<“班级:”;cin>>stu[i].classroom;
cout<<“英语成绩:”;cin>>stu[i].a;
cout<<“C++成绩:”;cin>>stu[i].b;
cout<<“数学成绩:”;cin>>stu[i].c;
if(stu[i].num<=0&&stu[i].num<2147483647)
{cout<<“学号输入有误,请重新输入.\n” ;
cout<<“按任意键返回”<<endl;
getch();school::input();}
if(strcmp(stu[i].sex,“男”)!=0&&strcmp(stu[i].sex,“女”)!=0)
{
cout<<“性别输入有误,请重新输入.\n”;
cout<<“按任意键返回”<<endl;
getch();school::input();}
if(stu[i].a<0||stu[i].a>100)
{ cout<<“英语成绩输入有误,请重新输入.\n”;
cout<<“按任意键返回”<<endl;
getch();school::input();}
if(stu[i].b<0||stu[i].b>100)
{cout<<“C++成绩输入有误,请重新输入.\n”;
cout<<“按任意键返回”<<endl;
getch();school::input();}
if(stu[i].c<0||stu[i].c>100)
{ cout<<“数学成绩输入有误,请重新输入.\n”;
cout<<“按任意键返回”<<endl;
getch();school::input();}
stu[i].sum=stu[i].a+stu[i].b+stu[i].c;}
}

school::back();
}

void school::chaxun()
{
system(“color 1F”); //颜色 同样是调用doc
system(“cls”);//清屏
int h;char na[20],ban[20];
cout<<"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&进入查询系统&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"<<endl;
cout<<" 1、按学号查找 2、按姓名查找 \n"
<<" 3、按班级搜索 0、返回主页面\n";
cout<<“请输入操作选择:”;
int i;
cin>>i;
if(i>8||i<0) //操作控制
{
cout<<“输入有误!”<<endl;
school::back();
}
switch(i)
{case 1:
{system(“color 1F”); //颜色 同样是调用doc
system(“cls”);//清屏
cout<<“输入学生学号:”;cin>>h;
int j=0;
for(int i=0;i<n;i++)
if(stu[i].num h)
{cout<<"**查找的同学的信息\n";
cout<<“学号”<<setw(10)<<“姓名”<<setw(10)<<“家庭地址”<<setw(10)<<“性别”<<setw(10)<<“班级”<<setw(10)<<“英语成绩”<<setw(10)<<“c++成绩”<<setw(10)<<“数学成绩”<<endl;
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].add<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].classroom<<setw(10)<<stu[i].a<<setw(10)<<stu[i].b<<setw(10)<<stu[i].c<<endl;
j++;
}
if(j
0)
cout<<“没有你要查找的信息”;
school::back();break;
}
case 2:
{system(“color 1F”); //颜色 同样是调用doc
system(“cls”);//清屏
cout<<“输入学生姓名:”;cin>>na;
int j=0;
for(int i=0;i<n;i++)
if(strcmp(stu[i].name ,na)0)
{cout<<"**查找的同学的信息\n";
cout<<“学号”<<setw(10)<<“姓名”<<setw(10)<<“家庭地址”<<setw(10)<<“性别”<<setw(10)<<“班级”<<setw(10)<<“英语成绩”<<setw(10)<<“c++成绩”<<setw(10)<<“数学成绩”<<endl;
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].add<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].classroom<<setw(10)<<stu[i].a<<setw(10)<<stu[i].b<<setw(10)<<stu[i].c<<endl;
j++;
}
if(j
0)
cout<<“没有你要查找的信息”;
school::back();break;
}
case 3:
{system(“color 1F”); //颜色 同样是调用doc
system(“cls”);//清屏
cout<<“输入学生班级:”;cin>>ban;
cout<<"**查找的同学的信息\n";
int j=0;
for(int i=0;i<n;i++)
if(strcmp(stu[i].classroom,ban)0)
{
cout<<“学号”<<setw(10)<<“姓名”<<setw(10)<<“家庭地址”<<setw(10)<<“性别”<<setw(10)<<“班级”<<setw(10)<<“英语成绩”<<setw(10)<<“c++成绩”<<setw(10)<<“数学成绩”<<endl;
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].add<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].classroom<<setw(10)<<stu[i].a<<setw(10)<<stu[i].b<<setw(10)<<stu[i].c<<endl;
j++;
}
cout<<“在此班级的一共有:”<< j<<“人!”<<endl;
if(j
0)
cout<<“没有你要查找的信息”;
school::back();break;
}
case 0🏫:back();break;
}
}
void school::xianshi()
{
system(“color 1F”);
system(“cls”);
cout<<"*\t\t学生信息查询\t\t"<<endl;
cout<<“学号”<<setw(10)<<“姓名”<<setw(10)<<“家庭地址”<<setw(10)<<“性别”<<setw(10)<<“班级”<<setw(10)<<“英语成绩”<<setw(10)<<“c++成绩”<<setw(10)<<“数学成绩”<<endl;
int i;
for(i=0;i<n;i++)
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].add<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].classroom<<setw(10)<<stu[i].a<<setw(10)<<stu[i].b<<setw(10)<<stu[i].c<<endl;
school::back();
}

void school::xu()//冒泡排序,数组wo用于临时交换。 
{
	system("color 2");
	system("cls");	
	for(int j=0;j<n;j++)

{
for(int i=0;i<n-j;i++)
if(stu[i].sum<stu[i+1].sum)
{wo[i]=stu[i];stu[i]=stu[i+1];
stu[i+1]=wo[i];
}

}
cout<<“\t\t按照总分的排序\t\t”<<endl;
cout<<“学号”<<setw(10)<<“姓名”<<setw(10)<<“住址”<<setw(10)<<“班级”<<setw(10)<<“性别”<<setw(10)<<“总成绩”<<endl;
int i;
for(i=0;i<n;i++)
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].add<<setw(10)<<stu[i].classroom<<setw(10) <<stu[i].sex<<setw(10)<<stu[i].sum<<endl;
school::back();
}

void school::shanchu()//删除指定学号学生信息

{system(“cls”);//清屏; //颜色 同样是调用doc
system(“color 1F”); //颜色 同样是调用doc
int a;
cout<<“请输入要删除的学生学号”;
cin>>a;
for(int i=0;i<n;i++)
if(stu[i].numa)
stu[i]=stu[i+1];
n=n-1;
cout<<“删除成功”<<endl;
school::back();
}
void school::xiugai()// 3-修改学生信息
{
system(“color 1F”);
system(“cls”);
cout<<“请输入你需要修改学生的学号”<<endl;
int q;int i;
cin>>q;
for(i=0;i<n;i++)
{
if(stu[i].num
q)
{
stu[i].xianshi1();
cout<<“请输入你的修改信息”<<endl;
cout<<“学号:”;cin>>stu[i].num;cout<<endl;
cout<<“姓名:”;cin>>stu[i].name;cout<<endl;
cout<<“家庭住址:”;cin>>stu[i].add;cout<<endl;
cout<<“性别:”;cin>>stu[i].sex;cout<<endl;
cout<<“班级:”;cin>>stu[i].classroom;cout<<endl;
cout<<“英语成绩:”;cin>>stu[i].a;cout<<endl;
cout<<“C++成绩:”;cin>>stu[i].b;cout<<endl;
cout<<“数学成绩:”;cin>>stu[i].c;cout<<endl;
stu[i].sum=stu[i].a+stu[i].b+stu[i].c;
}

}

school::back();
}

void school::jia()
{
	system("color 1F");
    system("cls");
    int m;

cout<<“请输入你所增加学生的个数”<<endl;
cin>>m;
n=n+m;
for(int i=n-m;i<n;i++)
{cout<<“请输入第”<<i+1<<“个学生的信息”<<endl;
cout<<“学号:”;cin>>stu[i].num;cout<<endl;
cout<<“姓名:”;cin>>stu[i].name;cout<<endl;
cout<<“家庭住址:”;cin>>stu[i].add;cout<<endl;
cout<<“性别:”;cin>>stu[i].sex;cout<<endl;
cout<<“班级:”;cin>>stu[i].classroom;cout<<endl;
cout<<“英语成绩:”;cin>>stu[i].a;cout<<endl;
cout<<“C++成绩:”;cin>>stu[i].b;cout<<endl;
cout<<“数学成绩:”;cin>>stu[i].c;cout<<endl;
stu[i].sum=stu[i].a+stu[i].b+stu[i].c;
}
school::back(); }

void school::ji()//显示学生及格率	
{system("color 1F"); //颜色 同样是调用doc
system("cls");//清屏 	
cout<<"请输入你要查询的及格率"<<endl;
cout<<"1 英语成绩的及格率"<<endl;
cout<<"2 C++成绩的及格率"<<endl;
cout<<"3 数学成绩的及格率"<<endl;
int i;
cin>>i;
if(i>3||i<0)
{
cout<<"你输入的数据有错"<<endl;
school::back();

}
switch(i)
{case 1:
{system(“color 1F”); //颜色 同样是调用doc
system(“cls”);//清屏
double j=0;
for(int i=0;i<n;i++)
{if(stu[i].a>60)
j++;
}
cout<<“英语成绩的及格率=”<<setprecision(4)<<(j/n)*100<<"%"<<endl;}
school::back();break;
case 2:
{system(“color 1F”); //颜色 同样是调用doc
system(“cls”);//清屏
double j=0;
for(int i=0;i<n;i++)
{if(stu[i].b>60)
j++;
}
cout<<“C++成绩的及格率=”<<setprecision(4)<<(j/n)*100<<"%"<<endl;}
school::back();break;
case 3:
{system(“color 1F”); //颜色 同样是调用doc
system(“cls”);//清屏
double j=0;
for(int i=0;i<n;i++)
{if(stu[i].c>60)
j++;
}

cout<<"数学成绩的及格率="<<setprecision(4)<<(j/n)*100<<"%"<<endl;}

school::back();break;
}

}

void school::back()//返回
{
cout<<“按任意键返回!”<<endl;
getch();
school::start();
}
void student::xianshi1()// 显示单个学生的信息
{
system(“color 1F”);
system(“cls”);

cout<<"学号"<<setw(10)<<"姓名"<<setw(10)<<"家庭地址"<<setw(10)<<"性别"<<setw(10)<<"班级"<<setw(10)<<"英语成绩"<<setw(10)<<"c++成绩"<<setw(10)<<"数学成绩"<<endl;//--------------------------------------------------

 cout<<num<<setw(10)<<name<<setw(10)<<add<<setw(10)<<sex<<setw(10)<<classroom<<setw(10)<<a<<setw(10)<<b<<setw(10)<<c<<endl;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值