Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2012, 22:05   #1
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию Сравнение строки и числа...........

char tmp[20];

scanf("%s", &tmp);

if(strcmp((p->title), tmp) == 0 || strcmp((p->num),tmp) == 0) {
................
}

tmp ввожу либо число либо название.
В p->title хранится строка. а в p->num число (int). В первом случае сравнение проходит, а во втором естественно нет, т.к. сравниваемые переменные разного типа. Подскажите как можно решить проблему.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 29.10.2012, 22:22   #2
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Код:
#include <stdlib.h>
strcmp(itoa(p->num),tmp)?
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 29.10.2012, 22:43   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Не работает. Компилятор говорит "слишком мало аргументов для вызова"
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 29.10.2012, 22:49   #4
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

ну да, там нужно буфер задать, систему счисления по-моему. почитать никак?
не помню порядок аргументов.
Код:
char* tmpc = new char[strlen(p->num)];
itoa(p->num,tmpc,10);
//strcmp(tmpc,tmp);
delete [] tmpc;
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 29.10.2012, 23:04   #5
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

А проще вариантов нет??????????

Это я так понимаю динамическое выделение памяти
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Stilet; 29.10.2012 в 23:55.
Bugrimov вне форума Ответить с цитированием
Старый 29.10.2012, 23:21   #6
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

без доп буфера методами с ты точно никак не переведешь.

если уверен что в tmp число всегда то можно в число перевести:
p->num == atoi(tmp)
Помог? Оставляем отзыв =)

Последний раз редактировалось Stilet; 29.10.2012 в 23:58.
Helloween вне форума Ответить с цитированием
Старый 29.10.2012, 23:48   #7
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Что за параметры передаются в функции atoi()
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 29.10.2012, 23:53   #8
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

по-моему char*, т.е tmp подходит.
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 30.10.2012, 05:52   #9
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Напиши код
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 30.10.2012, 09:18   #10
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Напиши код
А волшебное слово?
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сравнение строки и массива zorra123 Общие вопросы C/C++ 2 06.04.2012 19:13
Сравнение записи и строки BaronVik Паскаль, Turbo Pascal, PascalABC.NET 2 06.02.2011 22:23
Сравнение составляющих знаков числа в Edit и вывод результата RomashkaGT Помощь студентам 3 12.11.2010 20:02
сравнение рандомного числа с массивом Artempokrowski Помощь студентам 8 08.07.2010 14:08
Сравнение строки Lifefine Помощь студентам 3 07.03.2010 01:37