Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / cannot convert parameter 1 from 'int' to 'const char *' & one more question / 8 сообщений из 8, страница 1 из 1
04.12.2006, 04:03
    #34173500
Zmejka_Gorynka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cannot convert parameter 1 from 'int' to 'const char *' & one more question
Прошу /читать: молю о/ скорой и неотложной помощи, жизнь теряет краски и смысл (:

Текст программы имеет следующий вид:

Заголовочный файл Train_had.h:
const int n= 5;
struct TRAIN // Здесь описывается структура и одновременно
// создаются ее экземпляр с именем Train_info
{
char Punkt [20]; // Пункт назначения поезда
int NomPoezd; //Номер поезда
double Vremia; //Время отправления поезда
} TrainInfo[n];

Текст:
#include "stdafx.h"
#include<iostream>
#include "Train_had.h" //Подключение заголовочного файла
using namespace std;
int main()
{char otv;
do
{

int flag = 0;
for(int i = 0 ;i < n; i++) //цикл ввода данных о поездах
{
cout << "Vvedite punkt naznachenia : ";
cin >> TrainInfo .Punkt;
cout <<"Vvedite nomer poezda : ";
cin >> TrainInfo .NomPoezd;
cout<< "Vvedite vremia otpravlenia : ";
cin >> TrainInfo .Vremia;
}
char check_Arrive[15]; //Переменная типа char для проверки номера поезда
cout<< "Vvedite nomer poezda, po kotoromu neobhodima sortirovka : ";
cin >> check_Arrive;//Ввод номера, по кторому будет сортировка
//for (int i = 0;i < n; i++)
if (strcmp(TrainInfo .NomPoezd,check_Arrive)==0)
//Если этот пункт существует на экран будут выведены его данные
{
cout<< "Punkt naznachenia :" << TrainInfo .Punkt << endl;
cout<< "Nomer poezda :" << TrainInfo.NomPoezd << endl;
cout<< "Vremia :" << TrainInfo .Vremia << endl;
flag++;
}
if (flag ==0) /* Вывод сообщения об отсуствии записей соответствующих нужному параметру*/
cout << "Poezda, s takim nomerom, net\n";
cout << "Prodolzhut' Y/N :\n";
cin >> otv;
}
while((otv!='N')&&(otv!='n'));
return 0;
}

Вопросы:

1.
Compiling...
111.cpp
error C2664: 'strcmp' : cannot convert parameter 1 from 'int' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.

Теоретически понимамю /наверно))/, но вот что с этим делать практически - понятия не имею.

2. При заполнении exe'шного консольного окошка при заведомо серном введении "номера, по кторому будет сортировка" сортировка не осуществляется и выдаётся соответственно "Poezda, s takim nomerom, net"

Спасибо за внимание.
...
Рейтинг: 0 / 0
04.12.2006, 04:42
    #34173522
AsPiro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cannot convert parameter 1 from 'int' to 'const char *' & one more question
Zmejka_Gorynka
Код: plaintext
1.
2.
char check_Arrive[ 15 ]; //Переменная типа char для проверки номера поезда
...
[color=red]if (strcmp(TrainInfo [i].NomPoezd,check_Arrive)== 0 )[/color] //Если этот пункт существует 
А кто запрещает сделать так?
Код: plaintext
1.
2.
3.
int check_Arrive; //Переменная типа int для проверки номера поезда
...
if (TrainInfo [i].NomPoezd==check_Arrive)
Если же по каким-то неведомым причинам нужно именно:
Код: plaintext
char check_Arrive[ 15 ];//Переменная типа char для проверки номера поезда
, тогда пожалуй стоит обратить внимание на функции atoi()/itoa(). Например:
Код: plaintext
if (TrainInfo [i].NomPoezd==atoi(check_Arrive))
...
Рейтинг: 0 / 0
04.12.2006, 04:45
    #34173524
AsPiro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cannot convert parameter 1 from 'int' to 'const char *' & one more question
Zmejka_Gorynka 2. При заполнении exe'шного консольного окошка при заведомо серном введении "номера, по кторому будет сортировка" сортировка не осуществляется и выдаётся соответственно "Poezda, s takim nomerom, net" Если нетрудно, переведите на русский, что Вы хотели сказать...
...
Рейтинг: 0 / 0
04.12.2006, 05:56
    #34173533
Zmejka_Gorynka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cannot convert parameter 1 from 'int' to 'const char *' & one more question
:)
AsPiro, огромное человеческое спасибо, цвета в жизни появились -), т.е. первая проблема с Вашей помощью решена ... А вот со смыслом, как правильно заметили, дела не очень))

Постараюсь по-русски)) Эта программа должна выводить на консоль информации о поезде, номер которого введен с клавиатуры ... Но она этого не совершает. Наглядный пример:

Vvedite punkt naznachenia : Moskva
Vvedite nomer poezda : 12
Vvedite vremia otpravlenia : 12.00

Vvedite punkt naznachenia : Kharkov
Vvedite nomer poezda : 13
Vvedite vremia otpravlenia : 22.15


Vvedite punkt naznachenia : London
Vvedite nomer poezda : 14
Vvedite vremia otpravlenia : 20.45

Vvedite nomer poezda, po kotoromu neobhodima sortirovka: 12
Poezda, s takim nomerom, net

Вместо желаемого результата:
Vvedite nomer poezda, po kotoromu neobhodima sortirovka: 12
Punkt naznachenia : Moskva
Nomer poezda : 12
Vremia otpravlenia : 12.00
...
Рейтинг: 0 / 0
04.12.2006, 06:16
    #34173536
AsPiro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cannot convert parameter 1 from 'int' to 'const char *' & one more question
Zmejka_GorynkaЭта программа должна выводить на консоль информации о поезде, номер которого введен с клавиатуры ... Но она этого не совершает. Убери две косых черты:
Код: plaintext
//for (int i =  0 ;i < n; i++)
и будет тебе смысл жизни:)
...
Рейтинг: 0 / 0
04.12.2006, 06:25
    #34173539
Zmejka_Gorynka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cannot convert parameter 1 from 'int' to 'const char *' & one more question
Да ... главное, что эти две косые черты ещё не в форме креста на смысле жизни стоят))

Но ОНО возникает:
error C2374: 'i' : redefinition; multiple initialization
...
Рейтинг: 0 / 0
04.12.2006, 06:59
    #34173556
AsPiro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cannot convert parameter 1 from 'int' to 'const char *' & one more question
Zmejka_Gorynkaerror C2374: 'i' : redefinition; multiple initializationНа русский перевести?

Лан, я добрый:)
Перед первым циклом поставь:
Код: plaintext
int i;
А оба цикла перепиши так:
Код: plaintext
for(i =  0  ;i < n; i++)

А вообще милой Леди неплохо бы немного матчасть подучить:)
...
Рейтинг: 0 / 0
04.12.2006, 13:26
    #34174574
Zmejka_Gorynka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cannot convert parameter 1 from 'int' to 'const char *' & one more question
AsPiro, низкий поклон, вы кудесник :D!
Я ещё вернусь :D, много неразгаданных тайн и символов осталось в Этом мире, вопросов накопилось... надо открывать новые горизонты))

Ещё раз огромное спасибо, извините за незнание быть может элементарных вещей... Но в этой волшебной программной среде чудом меркнут все знания, будь тото матчасть, английский или элементарная логика ... А она же у меня женская :D
Шоколаду Вам побольше -)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / cannot convert parameter 1 from 'int' to 'const char *' & one more question / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]