Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите пожалуйста

9.5K
12 декабря 2005 года
Zemik
15 / / 08.10.2005
Салам алейкум.
Что я делаю неправильно:

my_struct any_struct[100];
{
далее я нормально
считываю данные структуры из .txt файла
}
ifstream infile;
infile.open("anyfile.txt");
char poisk[20];
cin>>poisk;
for(int i=1;i<sizeof(any_struct);i++)
{
if(poisk==stroka)
any_struct=any_function(i);
else
cout<<"vas net v spiskah"<<endl;;
}
header'ы iostream.h,fstream.h,string.h

ошибок нет но при
сравнении двух строк он не находит
ни одной одинаковой
пробовал через strcmp(),strncmp(),stricmp(),
strnicmp()
все тоже самоеПомогите пожалуйста 2 недели сижу
не пойму
3
14 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Zemik
Салам алейкум.
Что я делаю неправильно:
<skip>


Не совсем понятно, в чем проблема, но сразу бросается в глаза:
1) перечисленные тобой заголовочные файлы должны быть без .h на конце;
2) poisk - это перемнная типа char[20], которая будет при сравнении неявно приведена к char*, а вот что за тип у переменной stroka из твоего примера не ясно. Если это string, то сравнение должно проходить нормально, если же это тоже char*, то сравниваться будут указатели, а не содержимое, поэтому естественно равенства не будет. В этом случае сравнивать надо через strcmp и т.п., но надо помнить, что в случае равенства результат вызова функции будет равен нулю. Т.е. должно выглядеть так:

 
Код:
if( strcmp(poisk,stroka)==0 )
  any_struct=any_function(i);
else
  cout<<"vas net v spiskah"<<endl;

Если ты используешь C++, то почему бы не использовать его полноценно и не мшать с кодом на С ?
Т.е. вместо char poisk[20]; использовать string, а вместо any_struct[100]; какой-нибудь из контейнеров.
Код:
vector<my_struct> any_struct;

string poisk;
cin >> poisk;
for(int i=1; i<any_struct.size();i++)
{
  if(poisk==stroka)
    any_struct=any_function(i);
  else
    cout<<"vas net v spiskah"<<endl;;
}
398
15 декабря 2005 года
Alexandoros
630 / / 21.10.2005
ДЕБУГ ДЕБУГ И ЕЩЕ РАЗ ДЕБУГ
2.0K
18 декабря 2005 года
integral
86 / / 12.11.2005
что такое poisk ?
9.5K
23 декабря 2005 года
Zemik
15 / / 08.10.2005
Да, спасибо вам большое господа, да я уже сам во всём разобрался на след. день
11K
23 декабря 2005 года
Mamontoboy
37 / / 23.12.2005
Цитата:
Originally posted by Zemik
Да, спасибо вам большое господа, да я уже сам во всём разобрался на след. день



да иногда полезно бывает изложить суть проблемы плюшевому мишке или какой нить собачке ..... сразу ответ появляется :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог