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

Структуры, нумерация полей структуры - C++

Восстановить пароль Регистрация
 
Doctor Nano
Cандальная шляпа
 Аватар для Doctor Nano
42 / 42 / 10
Регистрация: 12.01.2012
Сообщений: 184
07.07.2014, 14:35     Структуры, нумерация полей структуры #1
Добрый день, у меня есть задачка, она решена. Но меня попросили "предусмотреть нумерацию полей структуры, например 1)Имя:Петр и тд.". Напечатал, как просили сделать, в итоге сказали не правильно - доделай.
Пожалуйста подскажите, помогите, не до конца понимаю, что требуется от меня.
Условие задачи, если что.
Написать программу составления карточки на студента с динамиским распределением памяти для имени и фамилии на основе структурного типа данных. Для динамического распределения памяти применить ф-ю malloc().

Вот код.
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
66
67
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
#include <stdlib.h>
const int MAX=80; //число символов
int main(void)
{
    char *NAME, *SURNAME;
    struct stud // шаблон структуры
    {
        char *name;//указатель на массива символов имени студента
        char *surname;//указатель вместо массива символов фамилии
        int age;//возраст-число полных лет
        double av_mark;//средняя успеваемость
        int letters;//число символов в имени и в фамилии
        unsigned short int chet;//счетчик на нумерацию полей
    }TABLE,*PTR;
    setlocale(LC_ALL,"russian");
    PTR=&TABLE;//иницилизация указателя на структуру
    
    NAME=(char *)malloc(MAX);
    printf("\nВведите имя студента:\n");
    gets_s(NAME,MAX-1);
    
    SURNAME=(char *)malloc(MAX);
    printf("\nВведите фамилию студента:\n");
    gets_s(SURNAME,MAX-1);
    
    //распределение памяти для хранения "структурного" имени
    PTR->name=(char *)malloc(strlen(NAME)+1);
    //копирование имени в распределенную память
    strcpy_s(PTR->name,strlen(NAME)+1,NAME);
    
    //распределение памяти для хранения "структурной" фамилии
    PTR->surname=(char *)malloc(strlen(SURNAME)+1);
    //копирование фамилии в распределенную память
    strcpy_s(PTR->surname,strlen(SURNAME)+1,SURNAME);
    
    printf("\nВведите возраста студента: ");
    scanf_s("%d",&TABLE.age);
    
    printf("\nВведите средний балл студента: ");
    scanf_s("%lf",&TABLE.av_mark);
    
    TABLE.letters=strlen(PTR->name)+strlen(PTR->surname);
    PTR->chet=0;
    
    //для вывода чисел с десятичной запятой
    setlocale(LC_NUMERIC,".1251");
    puts("\n======== Вариант поля структуры ================");
    printf("\n %d)Имя: %s",++PTR->chet,PTR->name);
    printf("\n %d)Фамилия: %s",++PTR->chet,PTR->surname);
    printf("\n %d)Возраст: %d",++PTR->chet,PTR->age);
    printf("\n %d)Средний балл: %1.2f\n",++PTR->chet,PTR->av_mark);
    printf("\nИмя и фамилия ученика: %d букв",PTR->letters);
    puts("\n\n==============================================");
    
    //освобождение памяти
    free(NAME);
    free(SURNAME);
    free(PTR->name);
    free(PTR->surname);
    
    printf("\n\n Нажмите любую клавишу: ");
    _getch();return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2014, 14:35     Структуры, нумерация полей структуры
Посмотрите здесь:

C++ Смещение полей структуры
вывод на экран полей структуры C++
C++ Инициализация полей структуры из файла
C++ Чтение из файла полей структуры
C++ Передача полей из структуры А в структуру В
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
orange_fox
 Аватар для orange_fox
34 / 34 / 6
Регистрация: 06.04.2014
Сообщений: 189
07.07.2014, 15:36     Структуры, нумерация полей структуры #2
Так ты переспроси у тех людей, которым не понравился твой код, что именно им не понравилось и что они от тебя требуют. Мы ж не телепаты
Doctor Nano
Cандальная шляпа
 Аватар для Doctor Nano
42 / 42 / 10
Регистрация: 12.01.2012
Сообщений: 184
07.07.2014, 15:39  [ТС]     Структуры, нумерация полей структуры #3
orange_fox, Спросил и не раз, сказали чтоб на подобие журнала выглядела.
Doctor Nano
Cандальная шляпа
 Аватар для Doctor Nano
42 / 42 / 10
Регистрация: 12.01.2012
Сообщений: 184
08.07.2014, 18:22  [ТС]     Структуры, нумерация полей структуры #4
Нашлось то что просили сделать.
Вот такой шаблон нужен был.
C++
1
2
3
4
5
6
7
8
struct stud // шаблон структуры
    {
        char *name;//указатель на массива символов имени студента
        char *surname;//указатель вместо массива символов фамилии
        int age;//возраст-число полных лет
        double av_mark;//средняя успеваемость
        int letters;//число символов в имени и в фамилии
    }TABLE,*PTR;
А счетчик отдельно надо было объявить, как обычную переменную.
C++
1
       unsigned short int chet;//счетчик нумерации полей
IrineK
Заблокирован
08.07.2014, 19:56     Структуры, нумерация полей структуры #5
Doctor Nano,
Вообще-то код С-шный.
вы не ошиблись разделом?
Yandex
Объявления
08.07.2014, 19:56     Структуры, нумерация полей структуры
Ответ Создать тему
Опции темы

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