| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1054 人关注过本帖
标题:创建一个单链表,编译不能通过,那位兄弟帮忙看下找出错误,谢谢!
只看楼主 加入收藏
minicat
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2010-4-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
创建一个单链表,编译不能通过,那位兄弟帮忙看下找出错误,谢谢!
//创建一个单链表
#include<iostream.h>

struct student
{
  long number;
  float score;
  student *next;
};//定义一结构类型

struct *head;//链首指针

struct *creat()
{
  student *ps;//创建的节点指针
  student *pend;//链尾指针,用于在其后面插入节点
  ps=new student;//新建一个结构类型结点,准备插入链表
  cin>>ps->number>>ps->score;//给新建结点赋值
  head=NULL;
  pend=ps;

  while(ps->number!=0)
  {
    if(head==NULL)
        head=ps;
    else
        pend->next=ps;
    pend=ps;
    ps=new student;
    cin>>ps->number>>ps->score;
  }
  pend->next=NULL;
  delete ps;
  return(head);
}

void showlist(student *head)
{
  cout<<"now the items of list are\n";
  while(head)
  {
    cout<<head->number<<","<<head->score<<endl;
    head=head->next;
  }

}

void main()
{
  showlist(creat());
}
搜索更多相关主题的帖子: 单链 兄弟 编译 
2010-04-12 17:48
minicat
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2010-4-12
收藏
得分:0 
高级编程交流群:111679647
欢迎各位一起来交流。
2010-04-12 17:50
Spygg
Rank: 5Rank: 5
等 级:职业侠客
帖 子:135
专家分:394
注 册:2007-5-20
收藏
得分:4 
#include<stdio.h>
struct list
{
    int num;
    float score;
    struct list *link;
};
struct list *creat(void)
{
    struct list *head,*p,*p1;
    head=NULL;
    do
    {
        p=(struct list *)malloc(sizeof(struct list));
        if(p==NULL)
        {
            printf("Memory alloc failed\n");
            exit(-1);
        }
        printf("Input num,score:\n");
        scanf("%d",&p->num);
        if(p->num==0)
        {
            free(p);
            break;
        }
        scanf("%f",&p->score);
        p->link=NULL;
        if(head==NULL)
        {
            head=p;
            p1=p;
        }
        else
        {
            p1->link=p;
            p1=p;
        }
    }while(p->num!=0);
        return head;
}
            
struct list *print(struct list *head)
{
    struct list *p;
    p=head;
    while(p!=NULL)
    {
        printf("%d\n%f\n",p->num,p->score);
        p=p->link;
    }
}
int main(void)
{
    struct list *head,*p;
    head=creat();
    p=head;
    print(p);
}
    你看下关键算法吧,我没学过C++
2010-04-12 18:48
woaiyunyun
Rank: 1
等 级:新手上路
帖 子:1
专家分:4
注 册:2010-4-12
收藏
得分:4 
有些符号看不懂,帮你编译了下,蛮多错误的,但是没修改成功,不好意思,没能帮到你。
2010-04-12 19:06
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
收藏
得分:4 
LZ,不知你C/C++学的咋样?
你的代码里有很多很多的基本错误,根本是通不过编译的。
我建议LZ还是先把基本功打扎实了。



[ 本帖最后由 Kid_X 于 2010-4-13 10:09 编辑 ]
2010-04-13 10:05
minicat
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2010-4-12
收藏
得分:0 
这是钱能C++书上的一个例题哦
2010-04-13 12:13
一口三个汉堡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:155
专家分:525
注 册:2010-3-21
收藏
得分:4 
许多东西都不对,那些结构体的定义都是根本性的错误你把例题和你写的代码对一下,是不是哪打错了。我有时也这样。
而且我觉得这些代码不适合初学者,不清晰。

[ 本帖最后由 一口三个汉堡 于 2010-4-13 12:24 编辑 ]

坚持做对的事情,而不是容易的事情。
2010-04-13 12:22
brackenbo
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2010-4-9
收藏
得分:4 
大概修改了下:
#include<iostream.h>

typedef struct student
{
  long number;
  float score;
  student *next;
}student;//定义一结构类型

student *head;//链首指针

student *creat()
{
    student *ps = NULL;//创建的节点指针
    student *pend = NULL;//链尾指针,用于在其后面插入节点
    ps = new student;//新建一个结构类型结点,准备插入链表
  
    cin >> ps->number >> ps->score;//给新建结点赋值
    head = NULL;

    while( ps->number != 0 )
    {

        if ( head == NULL )
        {
            head = ps;
            ps->next = pend;
        }
        else
        {
            ps->next = head;
            head=ps;
        }

        ps = new student;
        cin >> ps->number;

        if ( ps->number == 0 )
        {
            break;
        }
        cin >> ps->score;
    }
   
    delete ps;
    return( head );
}

void showlist( student *head )
{
  cout << "now the items of list are\n";
  
  while( head )
  {
    cout << head->number << "," << head->score << endl;
    head = head->next;
  }
}

void main()
{
  showlist(creat());
}
2010-04-13 16:04
快速回复:创建一个单链表,编译不能通过,那位兄弟帮忙看下找出错误,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036818 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved