注册 登录
编程论坛 C++教室

c++结构体程序小问题

newCpp 发布于 2009-08-28 11:13, 420 次点击
#define NULL 0  
#include <iostream>
struct Student
{ long num;
float score;
struct Student *next;
};
int main()
{ Student a,b,c,*head,*p;
a. num=31001; a.score=89.5;             //对结点a的num和score成员赋值
b. num=31003; b.score=90;               //对结点b的num和score成员赋值
c. num=31007; c.score=85;               //对结点c的num和score成员赋值
head=&a;                                //将结点a的起始地址赋给头指针head
a.next=&b;                              //将结点b的起始地址赋给a结点的next成员
b.next=&c;                              //将结点c的起始地址赋给b结点的next成员
c.next=NULL;                            //结点的next成员不存放其他结点地址
p=head;                                 //使p指针指向a结点
do      
{cout<<p->num<<"  "<<p->score<<endl;     //输出p指向的结点的数据
p=p->next;                              //使p指向下一个结点
} while(p!=NULL);                         //输出完c结点后p的值为NULL
return 0;
}
//这段代码运行不了,哪位大大能帮忙把它给弄运行啦
3 回复
#2
液态小蛇2009-08-29 19:54
把头文件改改:
#include   <iostream>   
using   namespace   std   ;
#3
rockcjw2009-08-29 20:28
#include <iostream.h>
#4
zzb4029530492009-08-29 20:44
修正后的代码
#define NULL 0

#include <iostream>
struct Student
{
    long num;
    float score;
    struct Student *next;
};
int main()
{
    Student a,b,c,*head,*p;
    a. num=31001;a.score=89.5;             //对结点a的num和score成员赋值
    b. num=31003; b.score=90;               //对结点b的num和score成员赋值
    c. num=31007; c.score=85;               //对结点c的num和score成员赋值
    head=&a;                                //将结点a的起始地址赋给头指针head
    a.next=&b;                              //将结点b的起始地址赋给a结点的next成员
    b.next=&c;                              //将结点c的起始地址赋给b结点的next成员
    c.next=NULL;                            //结点的next成员不存放其他结点地址
    p=head;                                 //使p指针指向a结点
    do     
    {
        std::cout<<p->num<<"  "<<p->score<<std::endl;     //输出p指向的结点的数据
        p=p->next;                              //使p指向下一个结点
    }while(p!=NULL);                         //输出完c结点后p的值为NULL
    return 0;
}
主要是命名空间的问题。两个解决方法:
1、在#include <iostream>下一行加上using namespace std;
2、cout与endl前面加上std::
1