建立一个对象数组,内放5个学生的数据,用指针指向数组首元素,输出第1,3,5个学生的数据

 我来答
蜗牛不淘汰
推荐于2017-10-02
知道答主
回答量:24
采纳率:100%
帮助的人:20.6万
展开全部

//建立一个对象数组,内放5个学生的数据,用指针指向数组首元素,输出第1,3,5个学生的数据 

#include<iostream>

#include <string>

using namespace std;

class Student

{

public:

 int number;

 string name;

};

int main()

 Student student[5];//定义对象数组

 Student *p=student;//初始化指针p指向对象数组student的首地址

 int num=1001;//为了初始化数组对象中的number

 string nam[5]={"张三","李四","王五","丽丽","小强"};//初始化数组对象中的name

 int i=0,k=0;

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

 {

  k=i+1;

  student[i].number=num;

  num++;

  student[i].name=nam[i];

  if (k==1||k==3||k==5)

  {

   cout<<"第"<<i+1<<"个学生的学号为:";

   cout<<p[i].number<<"   ";

   cout<<"名字为:";

   cout<<p[i].name<<endl;

   cout<<endl;

  }

 }

 

 cout<<endl;

 return 0;

}

运行结果为:

问明6E
高粉答主

2019-10-10 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:16万
展开全部

#include <iostream>

using namespace std;

class Student

{

public:

Student(int n=0, float s=0): num(n), score(s){}

void input();

void display();

private:

int num;

float score;

};

void Student::input()

{

cin>>num>>score;

}

void Student::display()

{

cout<<num<<' '<<score<<endl;

}

int main()

{

Student stu[5], *p;

int i;

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

cout<<"Pleas enter No."<<i+1<<" student info: ";

stu[i].input();

}

for (p=stu; p<stu+5; p+=2){

p->display();

cout<<endl;

}

system("pause");

return 0;

}



扩展资料:

cout语句的一般格式为:

cout<<表达式1<<表达式2<<……<<表达式n;

在定义流对象时,系统会在内存中开辟一段缓冲区,用来暂存输入输出流的数据。在执行cout语句时,先把插入的数据顺序存放在输出缓冲区中,

直到输出缓冲区满或遇到cout语句中的endl(或'\n',ends,flush)为止,此时将缓冲区中已有的数据一起输出,并清空缓冲区。输出流中的数据在系统默认的设备(一般为显示器)输出。 

一个cout语句可以分写成若干行。如:

cout<<"This is a simple C++ program."<<endl;

可以写成

cout<<"This is " //注意行末尾无分号

<<"a C++ "

<<"program."

<<endl; //语句最后有分号

也可写成多个cout语句,即

cout<<"This is "; //语句末尾有分号

cout <<"a C++ ";

cout <<"program.";

cout<<endl;

以上3种情况的输出均为:

This is a simple C++ program.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
密陷宏x
2011-04-21 · TA获得超过104个赞
知道答主
回答量:55
采纳率:0%
帮助的人:46.7万
展开全部
#include <stdio.h>
void main()
{
struct student
{
int num;
char name[20];

};
struct student stu[5];
struct student *p;

for(p=stu;p<stu+5;p++)
scanf("%d,%s",&p->num,&p->name);

for(p=stu;p<stu+5;p++)
{
printf("NO.%d\tname:%s\n",p->num,p->name);
p++;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
u940953556
2011-04-20
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
program exam;
var
a:array[1..1000] of integer;
i,j,k,l:integer;
begin
for i:=1 to 5 do
readln(a[i]);
write(a[1],a[3].a[5]);
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式