Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Владимир123
0 / 0 / 1
Регистрация: 19.03.2016
Сообщений: 7
#1

Шаблон структуры - C++

12.04.2016, 19:07. Просмотров 371. Ответов 2
Метки нет (Все метки)

Создать шаблон структуры "владелец автомобиля" со следующими полями :
фамилия, имя, номер автомобиля, дата постановки на учет(структура - год, месяц, день).
Динамически создать массив структур размерностью n>2 и заполнить сведениями с клавиатуры.
Вывести сведения о всех элементах массива структур

Написал программу: выдает ошибку: "использована неинициализированная локальная переменная human "
Как это исправить?
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <stdlib.h>
struct bd
{
    int day;
    char *month;
    int year;
};
struct car
{
    char *name;
    int *number;
    char *lastname;
    struct bd date;
};
void main()
{
    struct car *human;
    int i = 0, n, m;
    m = 40;
    char s[40];
    system("chcp 1251");
    system("cls");
    printf("Введите имя: ");
    scanf("%d", &n);
    getchar();
    human[i].name = (char*)malloc(m);
    for (i = 0; i<n; i++)
    {
        printf("Введите номер %d  : ", i + 1);
        gets_s(s);
        m = strlen(s);
        human[i].number = (int*)malloc(m);
        strcpy(human[i].name, s);
 
        printf("Введите фамилию %d  : ", i + 1);
        gets_s(s);
        m = strlen(s);
        human[i].lastname = (char*)malloc(m);
        strcpy(human[i].lastname, s);
        printf("Введите день: ");
        scanf("%d", &human[i].date.day);
        printf("Введите месяц: ");
        getchar();
        gets_s(s);
        m = strlen(s);
        human[i].date.month = (char*)malloc(m);
        strcpy(human[i].date.month, s);
        printf("Введите год: ");
        scanf("%d", &human[i].date.year);
        getchar();
    }
    printf("Вы ввели информацию:\n");
    for (i = 0; i<n; i++)
    {
        printf("%d. %s - %d sm родился %d. %s %d года\n",
            i + 1, human[i].name, human[i].number, human[i].lastname,
            human[i].date.day, human[i].date.month, human[i].date.year);
    }
    getchar();
    getchar();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2016, 19:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Шаблон структуры (C++):

Шаблон структуры
можно ли в с++ создать шаблон структуры? Не класса, именно структуры. Т.е....

Шаблон структуры данных
Всем привет, в универе дали задание, не понимаю совсем, напишите пожалуйста, ...

Шаблон структуры данных
Задание на курсовую работу: шаблон структуры данных – массив указателей на...

Шаблон функции, использующий поля структуры
В очередной раз у меня возникают проблемы с доступом к полям структуры, и на...

Как работает шаблон структуры static_assert?
Всем привет, объясните пожалуйста подробно почему данный код не компилируется?...

Шаблон структуры данных - массив указателей на заголовки списков
Мне выдали задание на курсовую работу: &quot;Шаблон структуры данных - массив...

2
ssXXss
266 / 188 / 33
Регистрация: 15.01.2011
Сообщений: 681
12.04.2016, 19:30 #2
struct car *human; - переменная в которой хранится адрес структуры или массива структур, = мусору.
human[i].name = (char*)malloc(m); использование этого мусора в качестве массива адресов struct car.
итог на экране.
0
Владимир123
0 / 0 / 1
Регистрация: 19.03.2016
Сообщений: 7
14.04.2016, 12:47  [ТС] #3
а как тогда сделать чтобы это не было мусором?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2016, 12:47
Привет! Вот еще темы с решениями:

Написать функцию сравнения двух структур (шаблон структуры задается произвольно)
ЗАДАНИЕ: Написать функцию сравнения двух структур (шаблон структуры задается...

Написать функцию сравнения двух структур (шаблон структуры задается произвольно)
ЗАДАНИЕ: Написать функцию сравнения двух структур (шаблон структуры задается...

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в...

Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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