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

📄 zh.cpp

📁 成绩管理程序具有以下功能:学生成绩的录入、统计、查询、修改、插入、删除、输出等。
💻 CPP
字号:
#include<iostream.h>

#include<conio.h>

#include<string.h>

class Base                                                                                   //基础类

{public:void set();                                        //输入基本资料

          void show();                                                                   //显示基本资料

          long get_num();                                                             //返回学号

          char* get_name();                                                          //返回姓名

          int get_sex();                                                                 //返回性别

          int get_age();                                                                 //返回年龄

          char* get_addr();                                                           //返回住址

          char* get_mdep();                                                          //返回主修系名

 protected:long num;                                                                 //学号

               char name[20];                                  //姓名

               int sex;                                                                       //性别

               int age;                                                                       //年龄

               char addr[30];                                                             //住址

               char mdep[30];                                                           //主修专业名称

};

class First:public Base                                                                //主修类

{public:First(Base stu);                                                                     //用基类对象初始化

          void set();                                                                             //屏蔽修改资料的函数

          int good();                                                                             //是否优秀

          int pass();                                                                             //是否及格

          void show1();                                                                  //显示基本资料

          void show_Mscore();                                                       //显示主修类成绩

 private:int Mscore[5];                                                                      //成绩

              Base stu1;                                                                    //用于储存基本资料

 };

class Fbase:public Base                                                               //辅修类

{public:Fbase(Base stu);                                                             //用基类对象初始化

      void set();                                                                     //屏蔽修改资料的函数

int pass2();                                                                   //是否及格

      void show2();                                                                //显示基本资料

           void show_Fscore();                                                      //显示辅修资料

 private: char fdep[30];                                                              //辅修专业名称

              int Fscore[4];                                                                      //辅修成绩

              Base stu2;                                                                    //用于存储基本资料

 };

 void Base::set()                                                                        //输入基本资料

 {cout<<"\ninput number:";cin>>num;

       cout<<"input name:";cin>>name;

       cout<<"input sex(0 is boy,1 is girl):";cin>>sex;

       cout<<"input age:";cin>>age;

       cout<<"input address:";cin>>addr;

       cout<<"input mdep:";cin>>mdep;

 }

 void Base::show()                                                                     //输出基本资料

 {cout<<"\n\nname:"<<name<<endl;

       cout<<"num:"<<num<<endl;

       if(sex==0)cout<<"sex:boy"<<endl;

       if(sex==1)cout<<"sex:girl"<<endl;

       cout<<"age:"<<age<<endl;

       cout<<"address:"<<addr<<endl;

       cout<<"mdep:"<<mdep<<endl;

 }

 long Base::get_num()                                                        //用于用户访问学生基本资料

 {return num;

 }

 char* Base::get_name()

 {return name;

 }

 int Base::get_sex()

 {return sex;

 }

 int Base::get_age()

 {return age;

 }

 char* Base::get_addr()

 {return addr;

 }

 char* Base::get_mdep()

 {return mdep;

 }

 First::First(Base stu)                                                                //主修类构造函数

 {stu1=stu;                                                                                //存储基本资料

       cout<<"input 5 main score\n";                                            //输入主修成绩

       for(int i=0;i<=4;i++)

       {do{cin>>Mscore[i];

              if(Mscore[i]<0||Mscore[i]>100)cout<<"error!!!input again!\n";

              }while(Mscore[i]<0||Mscore[i]>100);                             //限制分数取值

       }

 }

 void First::set()                                                                        //不允许修改资料

 {

 }

 int First::good()                                                                        //检验是否优秀

 {int n=0;

       for(int i=0;i<=4;i++)

       {if(Mscore[i]>=85)n++;

        if(Mscore[i]<60) return 0;

       }if(n>=3) return 1;

        else return 0;

 }

 int First::pass()                                                                        //检验是否及格

 {for(int i=0;i<=4;i++)

       if(Mscore[i]<60) return 0;

       return 1;

 }

 void First::show1()                                                      //重定义一个显示基本资料函数

{stu1.show();

}

 void First::show_Mscore()                                           //显示主修分数

 {cout<<"main score:";

       for(int i=0;i<=4;i++)

 cout<<Mscore[i]<<" ";

 }

 Fbase::Fbase(Base stu)                                               //辅修类构造函数

 {stu2=stu;                                                                  //存储基本资料

       cout<<"input Fdep:";cin>>fdep;

       cout<<"input 4 Fscore:\n";                                          //输入辅修资料

       for(int i=0;i<=3;i++)

       {do{cin>>Fscore[i];

               if(Fscore[i]<0||Fscore[i]>100)cout<<"error!!!input again!\n";

              }while(Fscore[i]<0||Fscore[i]>100);                 //限制分数取值

       }

 }

void Fbase::set()                                                                         //不允许修改资料

 {

 }

int Fbase::pass2()                                                  //检验是否及格

 {for (int i=0;i<=3;i++)

        if(Fscore[i]<60)return 0;

        return 1;

       }

       void Fbase::show2()                                               //重定义一个显示基本资料函数

       {stu2.show();

       }

       void Fbase::show_Fscore()                                     //显示辅修资料

       {cout<<"Fdep:"<<fdep<<endl;

        cout<<"Fscore:";

        for(int i=0;i<=3;i++)

        cout<<Fscore[i]<<" ";

       }

 void good(First aa)                                                             //主修优秀处理函数

{ if (aa.good()==1)                                              //如果优秀,显示学生基本资料及主修成绩

{aa.show1();aa.show_Mscore();getch();}

}

 void pass(First bb)                                                             //主修及格处理函数

 {if(bb.pass()==0)                                           //如果不及格,显示学生基本资料及主修成绩

       {bb.show1();bb.show_Mscore();getch();}

}

 void passf(Fbase cc)                                                           //辅修及格处理函数

 {if(cc.pass2()==0)                                                 //如果不及格,显示学生基本资料及辅修资料

       {cc.show2();cc.show_Fscore();getch();}

}

void main()                                                                          //主函数

{int j,a1,a2,a3,a4;

 cout<<"\n~~~~~~~~~~~~~zhao sheng ban~~~~~~~~~~~~~~\n";

 Base stu[6];                                          //创建6个学生基类对象

 for(int i=0;i<=5;i++)

 stu[i].set();                                                 //招生办输入他们的基本资料

 cout<<"\n~~~~~~~~~~~~~~~zhu xiu xi~~~~~~~~~~~~~~~~\n";

 cout<<"input student 1'sMscore:\n";

 First stuM1(stu[0]);                        //用对应基类对象初始化创建6个主修类对象

 cout<<"input student 2'sMscore:\n";

 First stuM2(stu[1]);

 cout<<"input student 3'sMscore:\n";

 First stuM3(stu[2]);

 cout<<"input student 4'sMscore:\n";

 First stuM4(stu[3]);

cout<<"input student 5'sMscore:\n";

First stuM5(stu[4]);

 cout<<"input student 6'sMscore:\n";

 First stuM6(stu[5]);                                             //主修系教务员输入学生主修成绩

       cout<<"\nGOOD STUDENT:\n";

good(stuM1);good(stuM2);

good(stuM3);good(stuM4);

good(stuM5);good(stuM6);                                     //逐个检验主修是否优秀并做相关处理

 cout<<"\n\n Mscore NOT PASS:\n";

pass(stuM1);pass(stuM2);

pass(stuM3);pass(stuM4);

pass(stuM5);pass(stuM6);                                      //逐个检验主修是否及格并做相关处理

 cout<<"\n~~~~~~~~~~~~~~~fu xiu xi~~~~~~~~~~~~~~~~\n";

for(i=0;i<=5;i++)

cout<<i+1<<".  "<<stu[i].get_num()<<"   "<<stu[i].get_name()<<endl;

cout<<"who 4 has fdep?\n";                                  //输出资料让拥护选择谁辅修了

cin>>a1>>a2>>a3>>a4;

cout<<"input student "<<a1<<"'s fdep:\n";

 Fbase stuF1(stu[a1-1]);                          //用对应基类对象初始化创建4个辅修类对象

cout<<"input student "<<a2<<"'s fdep:\n";

Fbase stuF2(stu[a2-1]);

cout<<"input student "<<a3<<"'s fdep:\n";

 Fbase stuF3(stu[a3-1]);

 cout<<"input student "<<a4<<"'s fdep:\n";

 Fbase stuF4(stu[a4-1]);

 cout<<"\n Fscore NOT PASS:\n";

passf(stuF1);passf(stuF2);

passf(stuF3);passf(stuF4);                       //逐个检验辅修是否及格并做相关处理

}

⌨️ 快捷键说明

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