标题:list<struct> c.erase
取消只看楼主
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
结帖率:76.92%
已结贴  问题点数:17 回复次数:2 
list<struct> c.erase
#include<iostream>
#include<list>
#include<string>
using namespace std;
struct students
{
    string name;
    int num;
    string sex;
    int age;
};
////////////////////////////////////
void input(list<students> &s);
void del(list<students> &s);
void show(list<students> s);
////////////////////////////////////
void input(list<students> &s)
{
    int k=1;
    students temp;
    while (0!=k)
    {
        cout<<"姓名:";
        cin>>temp.name;
        cout<<"学号:";
        cin>>temp.num;
        cout<<"性别:";
        cin>>temp.sex;
        cout<<"年龄:";
        cin>>temp.age;
        s.push_back(temp);
        cout<<"继续(1) 结束(0)"<<endl;
        cin>>k;
    }

}
//------------------------------------------------------
void del(list<students> &s, const int age)
{
    list<students>::iterator i=s.begin();
    while (i!= s.end())
    {
        if(age==i->age)
        {
            s.erase(i);
        }
            ++i;
    }
}
//------------------------------------------------------------
void show(list<students> s)
{
    cout<<"姓名\t"<<"学号\t"<<"性别\t"<<"年龄\t"<<endl;
    list<students>::iterator it=s.begin();
    while (s.end()!=it)
    {
        cout<<it->name<<"\t"<<it->num<<"\t"<<it->sex<<"\t"<<it->age<<endl;
        ++it;

    }
}
/////////////////////////////////////////////////////////////
void main()
{
    list<students> data;
    input(data);
    system("cls");
    show(data);
    int a;
    cout<<"输入要删除的年龄"<<endl;
    cin>>a;
    del(data,a);//编译能通过,但到了这里程序崩溃了~~求高手指点~~~
    show(data);
}
搜索更多相关主题的帖子: struct erase list 
2010-09-16 17:47
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
得分:0 
回复 2楼 寒风中的细雨
为什么不能直接在函数中删除呢?
2010-09-16 18:51
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
得分:0 
在函数外~~删除一个后~~程序会传一个新的引用到del函数中?

[ 本帖最后由 sudong0913 于 2010-9-17 12:40 编辑 ]
2010-09-17 12:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-320607-1-1.html




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

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