| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:老大帮下我
只看楼主 加入收藏
xinge21
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-9-24
收藏
 问题点数:0 回复次数:2 
老大帮下我
请高手指点下
小弟刚学C++昨天写了一点链表方面的东西, 可运行时老是出现内存错误,但也可运行
哪位朋友给指点下,谢谢了,下面上传的有工作文件
代码如下:
#include<iostream.h>
#include<string.h>
struct student{
    char name[20];
    unsigned long no;
    student *next;};

    void main ()
    {cout<<"                 学生学号登记系统\n       ××××********************××××\n";
    cout<<"依次输入学生姓名、学号,以姓名“over”作为结束输入标志\n请输入:\n";
        student  *head,*n;
        char name[20] ;
        unsigned long no;
        for(;;)
        {cin>>name;
        if(!strcmp(name,"over")) break;
        cin>>no;
            n=new student;
            strcpy(n->name,name);
            n->no=no;
        if(head==NULL)
        {head=n;
        n->next=NULL;}
        else {
         n->next=head;
            head=n;}
        }
   
        cout<<"*******************************\n所有学生信息如下:\n";

        for(student *p=head;p!=NULL;p=p->next)
            cout<<p->name<<'\t'<<p->no<<endl;
        student *q;
    while(head)
    {
        q=head;head=head->next;delete q;

        }
            
        
   
    }
搜索更多相关主题的帖子: 内存 老大 student 学号 
2008-05-07 12:42
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
//将HEAD初始化为NULL

#include<iostream.h>
#include<string.h>
struct student
{
    char name[20];
    unsigned long no;
    student *next;
};

void main ()
{
    cout<<"                 学生学号登记系统\n       ××××********************××××\n";
    cout<<"依次输入学生姓名、学号,以姓名“over”作为结束输入标志\n请输入:\n";
    student  *head=NULL,*n;
    char name[20] ;
    unsigned long no;
    for(;;)
    {
        cin>>name;
        if(!strcmp(name,"over")) break;
        cin>>no;
        n=new student;
        strcpy(n->name,name);
        n->no=no;
        if(head==NULL)
        {
            head=n;
            n->next=NULL;
        }
        else
        {
            n->next=head;
            head=n;
        }
    }
   
    cout<<"*******************************\n所有学生信息如下:\n";
    
    for(student *p=head;p!=NULL;p=p->next)
        cout<<p->name<<'\t'<<p->no<<endl;
    student *q;
    while(head)
    {
        q=head;head=head->next;delete q;
        
    }
    
    
   
}

雁无留踪之意,水无取影之心
2008-05-07 18:15
xinge21
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-9-24
收藏
得分:0 
太感谢了,
2008-05-08 10:00
快速回复:老大帮下我
数据加载中...
 
   



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

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