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

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

Восстановить пароль Регистрация
 
haseki
 Аватар для haseki
2 / 2 / 1
Регистрация: 02.11.2013
Сообщений: 151
05.03.2014, 19:27     Описать структуру с именем NOTE #1
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <cstdlib>
#include <iostream>
#include <cstring>
#define N 15
#define M 8
 
struct NOTE
{
       char name[N];
       char surname [N];
       char phone [N];
       int birth_day, birth_month, birth_year;
             
};
 
 
using namespace std;
 
int main()
{
    setlocale (0, "Russian");
    NOTE a[M];
    NOTE *p[M], *buf;
    for (int i=0; i<M; i++) //Начальная расстановка указателей.
    {
        p[i] = &a[i];
    }
    for (int i=0; i<M; i++)
     {
        printf ("Введите имя: ");     
        gets (p->name);
 
    printf ("Введите фамилию: ");     
        gets (p->surname);
     
        printf ("Введите номер телефона: ");     
        gets (p->phone);
     
        printf ("Введите дату рождения (в формате ДД ММ ГГ): ");     
        scanf ("% d %d %d", p->birth_day, p->birth_month, p->birth_year); 
        printf("\n");
        printf("___________________\n");
        printf("\n");
     }
     
    printf ("\n");
    printf ("-------------------\n");
 
    
 
       for (int i=0; i<M; i++) //Количество проходов по структуре.
       { 
           for (int j=0; j<M; j++)//Перестановка.
           {
             if (p[j]->phone[0] > p[j+1]->phone[0])
                  {
                                buf = a[j];
                                a[j] = a[j+1];
                                a[j+1] = buf;
                  }
             if(p[j]->phone[0] == p[j+1]->phone[0])
                {
                                  if(p[j]->phone[1] > p[j+1]->phone[1])
                     {
                                buf = a[j];
                                a[j] = a[j+1];
                                a[j+1] = buf;
                     }
                }
                 if(p[j]->phone[1] == p[j+1]->phone[1])
                    {
                                      if(p[j]->phone[2] > p[j+1]->phone[2])
                        
               {
                                buf = a[j];
                                a[j] = a[j+1];
                                a[j+1] = buf;
               }
                     }
           }
       }
    for (int i=0; i<M; i++)
     {
        printf ("Имя: %s\n",p[i]->name); 
        printf ("Фамилия: %s\n",  p[i]->surname);
        printf ("Номер телефона: %s\n",  p[i]->phone);
        printf ("дата рождения: %s/%s/%s \n", p[i]->birth_day, p[i]->birth_month, p[i]->birth_year);
 
          
     }
    char surname1[N];
    printf ("\n");
    printf ("-------------------\n");
    printf ("Введите фамилию: \n");
    scanf ("%s", surname1);
    printf ("\n");
    printf ("-------------------\n"0;
    bool flag = false;
    for (int i=0; i<M; i++)
       {
           if (strstr(p[i]->surname, surname1))
           { 
                 flag = true;
                 printf ("Имя: %s\n", p[i]->name);
                 printf ( "Номер телефона: %s\n", p[i]->phone);
                 printf ( "Дата рождения: %s/%s/%s \n", p[i]->birth_day, p[i]->birth_month, p[i]->birth_year);
           }
           
 
       }
    if (flag == false)
 
    {
       printf ("Людей с такой фамилией не найдено.\n");
    }
    printf ("\n");
    delete[] a;
    delete[] p;
    system("pause");
    return 0;
}
При компиляции выдает ошибку - поля структуры "name", "surname", "phone" и т.д. не объявлены (has not been declared). В чем причина?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 19:27     Описать структуру с именем NOTE
Посмотрите здесь:

Описать структуру с именем NOTE C++
C++ Описать структуру с именем NOTE
C++ Описать структуру с именем NOTE
C++ Описать структуру с именем NOTE
C++ Описать структуру с именем NOTE
Описать структуру с именем NOTE C++
Описать структуру с именем Note C++
C++ Описать структуру с именем NOTE

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jurok_85
226 / 209 / 70
Регистрация: 21.02.2013
Сообщений: 494
05.03.2014, 20:27     Описать структуру с именем NOTE #2
объявление динамического массива структур наверное так правильней будет:
C++
1
NOTE *p = new NOTE[M];
Yandex
Объявления
05.03.2014, 20:27     Описать структуру с именем NOTE
Ответ Создать тему
Опции темы

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