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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> задача на структуры 
V
    Опции темы
lrad
Дата 10.3.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Задача по обработке массива объектов.
В данной контрольной работе надо:
1. Описать класс (структур) (согласно своего варианта задания);
2. Объявить массив объектов созданного типа на 10 элементов;
3. Написать программу, выполняющую следующие действия:
- ввод информации с клавиатуры в массив объектов;
- вывод на экран всей информации;
- вывод на экран информации, отвечающей условию поиска (согласно варианта задания).

------------------------------------------------------------------------------------------------
1. Структура с именем MARSH содержит следующие поля:
- название начального пункта маршрута;
- название конечного пункта маршрута;
- номер маршрута.
2. Условие поиска – вывод на экран информации о маршруте, номер которого введен с клавиатуры.
PM MAIL ICQ   Вверх
vinter
Дата 10.3.2007, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



Код

#include <iostream>
using std::cout;
using std::endl;
using std::cin;

struct MARSH
{
    char szBegin[30];
    char szEnd[30];
    int nNumber;
};

void main()
{
    const nNumberOfObjects = 3;
    MARSH aObject[nNumberOfObjects] = {{"Dom","Dom1", 1}, {"Dom2","Dom3", 2}, {"Dom4","Dom5", 3}};
    int nNumber = 0;
    cout << "Please, enter the number of route: ";
    cin >> nNumber;
    for(int i = 0; i < nNumberOfObjects; i++)
    {
        if(nNumber == aObject[i].nNumber)
        {
            cout << "The start item is " << aObject[i].szBegin << "\nThe end item is " <<  aObject[i].szEnd
                     << "\nThe number of route is " << nNumber << endl;
            cin.sync();
            cin.get();
            exit(0);
        }
    }
    cout << "There is no such route!" << endl;
    cin.sync();
    cin.get();
}

тут для трех маршрутов, думаю для большего числа самому доделать, проблемы  не составит

Это сообщение отредактировал(а) vinter - 10.3.2007, 17:18


--------------------
Мой блог
PM MAIL WWW   Вверх
mr.Anderson
Дата 10.3.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Держи. Написал на коленке, проверить не смог, VS не работает. Но должно работать.
Код

//-------------------------------------------------------------------------------------

#include <iostream>
//-------------------------------------------------------------------------------------

using std::cin;
using std::cout;
//-------------------------------------------------------------------------------------

struct MARSH
{
  char InitialPoint[ 50 ]; //initial point
  char EndPoint[ 50 ]; //end point
  unsigned int Num; //number of the route
};

int main( void )
{
  const short size = 10; //size of array
  MARSH array[ size ]; //array of our structure
  
  //filling of the array
  for( int i=0; i<size; i++ )
  {
    cout << "Entering array[ " << i << " ].\n";
    cout << "Enter initial point of the route: "; cin >> array[ i ].InitialPoint;
    cout << "\nEnter end point of the route: "; cin >> array[ i ].EndPoint;
    cout << "\nEnter number of the route: "; cin >> array[ i ].Num;
    cout << "\n\n";
  }

  //printing of the information
  for( int i=0; i<size; i++ )
  {
    cout << "Printing array[ " << i << " ].\n";
    cout << "array[ " << i << " ].InitialPoint = " << array[ i ].InitialPoint;
    cout << "\narray[ " << i << " ].EndPoint = " << array[ i ].EndPoint;
    cout << "\narray[ " << i << " ].Num = " << array[ i ].Num;
    cout << "\n\n";
  }

  //reception of number of the route (by the task)
  unsigned int toFind;
  cout << "Enter number of the route to find: "; cin >> toFind;
  
  //checking on overflowing
  if( toFind >= size )
   return; //termination

  cout << "Number " << toFind << " is existing in the array. Printing information...\n";
  cout << "Array[ " << toFind << " ].InitialPoint = " << array[ toFind ].InitialPoint;
  cout << "\nArray[ " << toFind << " ].EndPoint = " << array[ toFind ].EndPoint;
  cout << "\nArray[ " << toFind << " ].Num = " << array[ toFind ].Num;
  
  return 0;
}
//-------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------


Добавлено @ 17:29 
Ыть. Не успел. smile Ну да ладно. 

vinter, у вас не учтено следующее:
1. Массив должен заполняться юзером.
2. Перед получением номера маршрута и его поиском вся информация должна быть выведена на экран.

Посмотрите внимательней, это есть в задании.

Это сообщение отредактировал(а) mr.Anderson - 10.3.2007, 17:31


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
vinter
Дата 10.3.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



Цитата(mr.Anderson @  10.3.2007,  17:27 Найти цитируемый пост)
vinter, у вас не учтено следующее:

ага, не посмотрел общее задание smile, будет ДЗ



--------------------
Мой блог
PM MAIL WWW   Вверх
lrad
Дата 10.3.2007, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо огромное!!!!
а то я не знал с какого бока мне к ней подступиться

Добавлено @ 19:12 
Народ!
простите бестолкового - у меня на борланд 3.11 не комипилируется......
не нравится ему строки 
using std::cin;
using std::cout;
что можно придумать?
и для какого компилятора это написано?
PM MAIL ICQ   Вверх
vinter
Дата 10.3.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



Код

#include <iostream.h>
#include <stdlib.h>


struct MARSH
{
    char szBegin[30];
    char szEnd[30];
    int nNumber;
};

void main()
{
    const nNumberOfObjects = 10;
    int i = 0;
    MARSH aObject[nNumberOfObjects];
    cout << "Please, enter members of structur" << endl;
     for( i = 0; i < nNumberOfObjects; i++)
     {
         cout << "Start item: ";
         cin >> aObject[i].szBegin;
         cout << "End item: ";
         cin >> aObject[i].szEnd;
         cout << "Number of route: ";
         cin >> aObject[i].nNumber;

     }
     cout << "\nAll of data\n" << endl;
     for(i = 0; i < nNumberOfObjects; i++)
     {
         cout << "Start item: " << aObject[i].szBegin << endl;
         cout << "End item: " << aObject[i].szEnd << endl;
         cout << "Number of route: " << aObject[i].nNumber << endl;
     }
    int nNumber = 0;
    cout << "Please, enter the number of route: ";
    cin >> nNumber;
    for( i = 0; i < nNumberOfObjects; i++)
    {
        if(nNumber == aObject[i].nNumber)
        {
            cout << "The start item is " << aObject[i].szBegin << "\nThe end item is " <<  aObject[i].szEnd
                     << "\nThe number of route is " << nNumber << endl;
            cin.sync();
            cin.get();
            exit(0);
        }
    }
    cout << "There is no such route!" << endl;
    cin.sync();
    cin.get();
}

забирай, есть ограничение на названия начала и конца маршрута - 30 символов

Это сообщение отредактировал(а) vinter - 10.3.2007, 20:12


--------------------
Мой блог
PM MAIL WWW   Вверх
mr.Anderson
Дата 11.3.2007, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Угу. В моем коде достаточно было эти строчки стереть, а вместо 
Код

#include <iostream>

Написать так:
Код

#include <iostream.h>

И все будет работать.


--------------------
user posted image

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

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

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

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

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


 




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


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

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