C++:输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。

2020-04-23 教育 902阅读
【解题思路】
本题用类数组很好解决。可以先声明一个具有姓名、学号、成绩3个数据成员的类,然后输出、输入可以写成类里的成员函数。完成了类声明之后,用这个类定义一个含有10个元素的数组,这样就可以很方便的实现输入学生信息、存储学生信息,再根据需要输出学生信息的功能。而且这样程序看起来也会相当简洁。具体代码如下:
 
【程序代码】
#include             //控制台操作头文件
#include             //字符串操作头文件
 
class Stu                      //定义学生类
{private:                      //私有成员关键字
  char Name[32];               //姓名
  int  ID;                     //学号
  int  Score;                  //成绩
 public:                       //外部成员关键字
  Stu(){strcpy(Name,"无");     //无参构造函数
        ID=0;Score=0;}
  int Inp()                    //从键盘输入学生信息函数
     {printf("请输入姓名:");
      scanf("%s",Name);
      printf("请输入学号:");
      scanf("%d",&ID);
      printf("请输入成绩:");
      scanf("%d",&Score);}
  int Put()                    //学生信息输出函数
     {printf("姓名:%s,学号:%d,成绩:%d\n",Name,ID,Score);}
  int Get(){return Score;}     //获取学生成绩的成员函数
};                             //类定义结束
 
int main()                     //主函数
{Stu S[10];                    //学生信息数组
 int i;                        /循环变量
 for(i=0;i<10;i++)             //用一个循环输入10个学生信息
   {printf("请输入第%d个学生信息\n",i+1);
    S[i].Inp();                //调用成员函数输入学生信息
    printf("\n");}             //换行
 printf("\n不及格的学生有:\n");
 for(i=0;i<10;i++)             //用循环检测每个学生是否及格
    if(S[i].Get()<60) S[i].Put();//输出不及格学生信息
 printf("\n");                 //换行
 system("PAUSE");              //屏幕暂停,以便看到显示结果
 return 0;}                    //结束程序
 
【运行结果】
以上程序在DEV  C++中运行通过,运行结果截图如下:

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com