Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос по спискам и итератору, поиск элемента в списке  
:(
    Опции темы
dgolukas
  Дата 20.1.2010, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 30.8.2009

Репутация: нет
Всего: нет



cнова я со своими вопросами((
есть открытый класс юзер инфо. который при создании нового объекта пишется в файл.

Код

class UserInfo
{
  public:
    static long  countID;
    long login;
    char* departament;
    char* name;
    char* password;
    bool sex;    
/* some metods */
};


есть класс контакт лист, в котором есть методы добавить и удалить контакт

Код
class ContactList
{
    std::list <UserInfo> users;
    std::list<UserInfo>::iterator it;
  public:
    ContactList(){}
    ~ContactList(){}
    void ShowContactList();
    void AddUser(UserInfo &user);
    void DeleteUser(UserInfo &user);
};


так вот вопрос у меня по итератору...
в методе удалить юзера
Код
void ContactList::DeleteUser(UserInfo &user)
{
  std::fstream File("database.dat", std::ios::in|std::ios::out); 
  UserInfo *searchusr;
  memset(&searchusr, 0, sizeof (&searchusr));
  
  std::cout<<"please, input user's login, who you'll delete: "<<std::endl;
  std::cin>>user.login;
  File.seekp(0, std::ios::beg);
    for(long i=0; i<=searchusr->login;i++ )
    {
      File.read((char*) &user, sizeof (&user));
      if(user.login == searchusr->login)
      {
    for(it= users.begin(); it != (--users.end()); it++)
    {
     if((*it).user.login == (*it).searchusr->login)
        {
          it=users.erase(it); //delete user from contact list
            }
        else 
        {
           std::cout<<"user not found!!! sorry:("<<std::endl;
          throw Exception(errno);
          }
        }
      }
    }
       
}


а именно вот в этой строчке..  if( (*it).user.login == (*it).searchusr->login)
что с чем надо сравнивать чтобы удалить нужного пользователя???
компилятор ругается говорит нет  у него в памяти юсера и серчюзерааа..
айнид хелп!!
PM MAIL   Вверх
andrew_121
Дата 20.1.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Цитата(dgolukas @  20.1.2010,  13:24 Найти цитируемый пост)
UserInfo *searchusr;
  memset(&searchusr, 0, sizeof (&searchusr));

это что такое? smile 

вы используете searchusr, не инициализировав его. дальше тоже бред. начинайте с начала(и перегрузите ввод/вывод в поток(или сериализируйте)).

Добавлено через 1 минуту и 50 секунд
и кто такой it? ни декларации, ни инициализации не видно. а оно то есть в коде? хоть где-то?

Добавлено через 2 минуты и 37 секунд
Цитата(dgolukas @  20.1.2010,  13:24 Найти цитируемый пост)
char* departament;

лучше использовать std::string


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
dgolukas
Дата 21.1.2010, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 30.8.2009

Репутация: нет
Всего: нет



Цитата(andrew_121 @ 20.1.2010,  14:10)
 дальше тоже бред. начинайте с начала

да , реально оказался бред, мало того.. признаюсь, это еще и для клиента было написано. а не для сервера.
так что оказалось вдвойне бред)

у меня эти методы должны формировать пакет для отправки, а я вообще зачем-то в файл с базой стала писать, который на сервере должен быть..
ладно бы еще писать.. ужс вобщм))

в итераторах разобралась.
буду переписывать все. 

кст it был объявлен в хиддере))

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0819 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.