C++:输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。
4个回答
展开全部
【解题思路】
本题用类数组很好解决。可以先声明一个具有姓名、学号、成绩3个数据成员的类,然后输出、输入可以写成类里的成员函数。完成了类声明之后,用这个类定义一个含有10个元素的数组,这样就可以很方便的实现输入学生信息、存储学生信息,再根据需要输出学生信息的功能。而且这样程序看起来也会相当简洁。具体代码如下:
【程序代码】
#include <iostream> //控制台操作头文件
#include <string.h> //字符串操作头文件
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++中运行通过,运行结果截图如下:
2013-06-06
展开全部
#include<iostream>
using namespace std;
struct student //定义结构体,储存学生全部信息
{
char name[20];
int number;
int grade;
}stu[10]; //声明10个学生结构
int main()
{
int i,j=0,a[10]; //数组a[10]用来记录不及格学生在结构数组中的位置
for(i=0;i<10;i++)
{
a[i]=11; //将a[10]全部赋值11,以便后面进行比较
cout<<"输入第"<<i+1<<"个学生的姓名,学号和成绩:";
cin>>stu[i].name>>stu[i].number>>stu[i].grade;
if(stu[i].grade<60)
{
a[j++]=i; //将不及格学生在数组中的位置记录到a[10]中
}
}
if(a[0]==11) //进行不及格判定
{
cout<<"没学生不及格";
}
else
{
cout<<"不及格学生信息:"<<endl;
for(i=0;a[i]!=11;i++)
{
student temp=stu[a[i]];
cout<<temp.name<<" "<<temp.number<<" "<<temp.grade<<endl;
}
}
}
程序运行示例:
using namespace std;
struct student //定义结构体,储存学生全部信息
{
char name[20];
int number;
int grade;
}stu[10]; //声明10个学生结构
int main()
{
int i,j=0,a[10]; //数组a[10]用来记录不及格学生在结构数组中的位置
for(i=0;i<10;i++)
{
a[i]=11; //将a[10]全部赋值11,以便后面进行比较
cout<<"输入第"<<i+1<<"个学生的姓名,学号和成绩:";
cin>>stu[i].name>>stu[i].number>>stu[i].grade;
if(stu[i].grade<60)
{
a[j++]=i; //将不及格学生在数组中的位置记录到a[10]中
}
}
if(a[0]==11) //进行不及格判定
{
cout<<"没学生不及格";
}
else
{
cout<<"不及格学生信息:"<<endl;
for(i=0;a[i]!=11;i++)
{
student temp=stu[a[i]];
cout<<temp.name<<" "<<temp.number<<" "<<temp.grade<<endl;
}
}
}
程序运行示例:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-06
展开全部
#include<stdio.h>typedef struct Stu
{
char name[40];
int stu_number;
int grate;
}Stu;int main()
{
int i;
Stu student[10]={0};
for( i = 0; i < 10; i ++ )
{
scanf("%s %d %d",student[i].name,&student[i].stu_number,&student[i].grate);
}
for(i=0;i<10;i++)
{
if(student[i].grate<60)
{
printf("name=%s,stu_number=%d,grete=%d\n",student[i].name,student[i].stu_number,student[i].grate);
}
}
return 0;
}测试通过
{
char name[40];
int stu_number;
int grate;
}Stu;int main()
{
int i;
Stu student[10]={0};
for( i = 0; i < 10; i ++ )
{
scanf("%s %d %d",student[i].name,&student[i].stu_number,&student[i].grate);
}
for(i=0;i<10;i++)
{
if(student[i].grate<60)
{
printf("name=%s,stu_number=%d,grete=%d\n",student[i].name,student[i].stu_number,student[i].grate);
}
}
return 0;
}测试通过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-06
展开全部
#include<iostream>
using namespace std;struct Stu
{
string name;
int stu_number;
int grate;
}student[100];
int main()
{
int i = 0;
for( i = 0; i < 10; i ++ )
cin >> student[i].name >> student[i].stu_number >> student[i].grate;
for( i = 0; i < 10; i ++ )
if(student[i].grate < 60)
cout << student[i].name << " "
<< student[i].stu_number << " "
<< student[i].grate << endl;
return 0;
}
using namespace std;struct Stu
{
string name;
int stu_number;
int grate;
}student[100];
int main()
{
int i = 0;
for( i = 0; i < 10; i ++ )
cin >> student[i].name >> student[i].stu_number >> student[i].grate;
for( i = 0; i < 10; i ++ )
if(student[i].grate < 60)
cout << student[i].name << " "
<< student[i].stu_number << " "
<< student[i].grate << endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询