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

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

Войти
Регистрация
Восстановить пароль
 
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
#1

Неправильная работа с массивом структур - C++

02.11.2009, 21:29. Просмотров 593. Ответов 3
Метки нет (Все метки)

Помогите, пожалуйста: программа заключается в следующем: спроектировать структуру car, которая хранит информацию о наименовании производителя машины(объект string) и год выпуска. Программа запрашивает пользователя ввести сколько автомобилей надо включить в структуру. Далее программа применяет new для создания динамического массива структур car указанного пользователем размера. Далее выводится приглашение ввести наименование производителя и год выпуска для заполнения структуры. Затем отобразить содержимое всего каталога.
Программу написала, но работает не правильно. После первого введенного наименования вылетает... не пойму почему.. помогите, пожалуйста, разобраться..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
struct car
{
    char manu_name;
    int year;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    int num;
    cout << "Skol'ko avto vkluchit' v katalog? ";
    cin >> num;
//  car cars[num]; // cars - массив структур car
    car *cars = new car [num];      // динамический масив структур car
    int i;
    for (i = 0; i < num; i++)
    {
        cout << "CAR NUMBER " << i + 1 << ":\n";
        cout << "Name of manufacturer: ";
        cin >> cars[i].manu_name;
        cout << "\nYear of release: ";
        cin >> cars[i].year;
    }
    cout << "This is your collection:\n";
    int k;
    for (k = 0; k < num; k++)
    {
        cout.put(cars[i].manu_name);
        cout << " at " << cars[i].year;
    }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2009, 21:29     Неправильная работа с массивом структур
Посмотрите здесь:

C++ Программирование операций из массивом структур
Работа с массивом структур C++
C++ Работа с массивом структур
C++ Разница между массивом структур и очередью
C++ Программа с массивом структур
Трудности с массивом структур C++
C++ Структура с вложенным массивом структур
C++ Заполнение буфера массивом структур
C++ Работа с массивом структур
C++ Работа с массивом структур
C++ Написать программу, работающую с массивом структур
C++ Работа с динамическим массивом структур

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт С++
8282 / 3501 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
02.11.2009, 21:37     Неправильная работа с массивом структур #2
Цитата Сообщение от pro_mary Посмотреть сообщение
C++
1
2
3
4
5
struct car
{
* * * * char manu_name;
* * * * int year;
};
char - это символ. Задай хотя бы массивом символов, например так
C++
1
char manu_name[40];
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
02.11.2009, 21:42  [ТС]     Неправильная работа с массивом структур #3
О, ввод данных работает, зато выводится какой-то бред..
M128K145
Эксперт С++
8282 / 3501 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
02.11.2009, 21:59     Неправильная работа с массивом структур #4
pro_mary, не вижу причин для корректной работы. Ответ очевиден, даю наводку
C++
1
2
3
4
5
6
        int k;
        for (k = 0; k < num; k++)
        {
                cout.put(cars[i].manu_name);
                cout << " at " << cars[i].year;
        }
подсказка в первой строке
Yandex
Объявления
02.11.2009, 21:59     Неправильная работа с массивом структур
Ответ Создать тему
Опции темы

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