Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.79
j_pavlov
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 54
#1

Описать структуру с именем MARSH - C++

04.03.2011, 22:35. Просмотров 5032. Ответов 22

Описать структуру с именем MARSH, содержащую следующие поля:
BEGST — название начального пункта маршрута;
TERM — название конечного пункта маршрута;
NUMER — номер маршрута.
2. Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив TRAFIC, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов;
вывод на экран информации о маршрутах, которые начинаются или кончаются в пункте, название которого введено с клавиатуры;
если таких маршрутов нет, выдать на дисплей соответствующее сообщение.

проверьте пожалуйста код:

Код
#include <iostream.h>
#include <string.h>
using namespace std;
struct Marsh{
char begst [80];
char term [80];
int numer;
};
int main(int argc, char *argv[])
{
Marsh Trafic[8],temp;
int find;
for(int i=0;i<8;i++){

cout << "begst:";
cin>>Trafic[i].begst;
cout << "term:";

cin>>Trafic[i].term;
cout << "numer:";
cin>>Trafic[i].numer;

}

cout << "Numer find:";
cin>>find;

for(int i=0;i<8;i++)
for(int j=1;j<8;j++)

{

if(Trafic[j].numer<Trafic[j-1].numer)
{

strcpy(temp.begst,Trafic[j].begst );
strcpy(temp.term,Trafic[j].term);
temp.numer= Trafic[j].numer;
strcpy(Trafic[j].begst,Trafic[j-1].begst );
strcpy(Trafic[j].term,Trafic[j-1].term);
Trafic[j].numer = Trafic[j-1].numer;
strcpy(Trafic[j-1].begst,temp.begst );
strcpy(Trafic[j-1].term,temp.term);
Trafic[j-1].numer = temp.numer ;
}

}
int f=0;
for(int i=0;i<8;i++)
if(find==Trafic[i].numer){
cout<<"begst:"<<Trafic[i].begst<<"\tterm:"<<Trafic[i].term<<"\tnumer:"<<Trafic[i].numer<<"\n";
f=1;
}
if(f==0)
cout<<"Net takogo marshryta\n";
return EXIT_SUCCESS;
}
Добавлено через 6 часов 26 минут
Я все правильно сделал или нет??
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.04.2011, 17:22     Описать структуру с именем MARSH #16
Ладно опишем словами:
если нулевой элемент масива 'точка' не равен букве 'к' (причем английской), то...проверяем еще раз, а равен ли нулевой элемент массива 'точка' букве 'к' (все также английской), если нет, то функция вызывает саму себя и начинается все сначала
Антон555
13 / 13 / 0
Регистрация: 22.03.2011
Сообщений: 84
30.04.2011, 17:25     Описать структуру с именем MARSH #17
А ну дык конечно ты же наверное вводишь л вместо англ. K всмысле просто жмёшь на туже клавишу только в русском регистре так и у меня заного спрашивает..
j_pavlov
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 54
30.04.2011, 17:32  [ТС]     Описать структуру с именем MARSH #18
о, пасибо, заработало тоже выдает ненайдено
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.04.2011, 17:41     Описать структуру с именем MARSH #19
Цитата Сообщение от j_pavlov Посмотреть сообщение
тоже выдает ненайдено
Цитата Сообщение от j_pavlov Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
for(int t = 0; t < 8; t++)
{
   if(!(strcmp(TRAFIC[t].TERM, poisk)))
   { 
      cout << "маршрут " << TRAFIC[t].NUMER << endl;
      schet++;
   }
   if(schet==0); cout << "Ненайдено";
}
думается проверку счетчика нужно вынести ЗА цикл.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
30.04.2011, 20:01     Описать структуру с именем MARSH #20
Цитата Сообщение от j_pavlov Посмотреть сообщение
if(schet==0); cout << "Ненайдено";
Если условие верно, выполняется оператор ;
Слово "ненайдено" выводится всегда, независимо от if.

Добавлено через 30 секунд
И, разумеется, проверку нужно вынести из цикла.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
01.05.2011, 01:59     Описать структуру с именем MARSH #21
А точку с запятой я то и не заметил.
j_pavlov
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 54
01.05.2011, 18:07  [ТС]     Описать структуру с именем MARSH #22
ребят все сделал как вы сказали, но препод запарол сказал что не верно не выполняется второй пункт...
помогите плиз с этой задачей, я уже голову поломал с ней
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2011, 11:58     Описать структуру с именем MARSH
Еще ссылки по теме:
C++ Описать структуру с именем STUDENT
C++ Описать структуру с именем TRAIN
Описать структуру с именем WORKER C++
C++ Описать структуру с именем ORDER

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
02.05.2011, 11:58     Описать структуру с именем MARSH #23
У тебя не хватает сортировки записей по номерам маршрутов.
Yandex
Объявления
02.05.2011, 11:58     Описать структуру с именем MARSH
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru