【解题思路】
本题用类数组很好解决。可以先声明一个具有姓名、学号、成绩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++中运行通过,运行结果截图如下: