Форум программистов, компьютерный форум, киберфорум
Наши страницы

Передача динамической структуры аргументом функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Код не компилируется http://www.cyberforum.ru/cpp-beginners/thread1116575.html
не пойму, почему не компилируется #include <iostream> //#include <new> //#include <cstdlib> using namespace std; class loc{ int longitude,latitude; public: loc(){};
C++ Ошибка в выводе сообщения на экран Как вывести на экран сообщение в виде слова, а не цифры? #include <iostream> using namespace std; int main() { while(true) { double num; k; http://www.cyberforum.ru/cpp-beginners/thread1116552.html
C++ Разъясните подробно, как работают Try-catch
Добрый вечер, форумчане! Такая просьба - разъясните нубасу(то бишь мне) подробно как работает try catch throw или киньте ссылки, где это объясняется. По гуглу шарилась, но, увы, мой мозг не был...
C++ Помогите доделать программу определения минимальной стоимости билета.
Определить минимальную стоимость билета для пассажира, следующего на заданное расстояние, стоимость билета с учетом выбранного вида вагона и поезда. Перемещение на скором поезде увеличивает...
C++ Дано двумерный массив целых чисел. Найти номера строк, в которых есть только один непарный элемент http://www.cyberforum.ru/cpp-beginners/thread1116497.html
Вся программа должна быть сделана с помощью функций
C++ Нахождение максимального элемента в массиве и его индекс (элемента) Доброго времени суток. Вот исходный код поиска максимального элемента массива: #include"stdafx.h" #include"stdio.h" #include"stdlib.h" #include"conio.h" #include"math.h" int _tmain(int... подробнее

Показать сообщение отдельно
haseki
3 / 3 / 1
Регистрация: 02.11.2013
Сообщений: 164

Передача динамической структуры аргументом функции - C++

11.03.2014, 19:21. Просмотров 384. Ответов 2
Метки (Все метки)

Помогите, пожалуйста, обнаружить и исправить ошибки. Точнее, компилятор-то их отыскивает, но в чем именно ошибка, в какой идее, синтаксисе и т.д...

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
122
123
124
125
126
127
128
// Structure static.cpp: определяет точку входа для консольного приложения.
//
#include <cstdlib>
#include <iostream>
#include <cstring>
#define N 15
#define M 8
using namespace std;
struct NOTE
{
       char name[N];
       char surname [N];
       char phone [N];
       int birth_day, birth_month, birth_year;
             
};
NOTE *q; //Указатель  на структуру NOTE.
//Функция ввода элементов в динамическую структуру.
void input(NOTE *q)
{
     
      for (int i=0; i<M; i++)
     {
        cout << "Введите имя: ";     
        cin >> q[i].name;
        cout << "Введите фамилию: ";     
        cin >> q[i].surname;
     
        cout << "Введите номер телефона: ";     
        cin >> q[i].phone;
     
        cout << "Введите дату рождения (в формате ДД ММ ГГ): ";     
        cin >> q[i].birth_day >> q[i].birth_month >> q[i].birth_year; 
        cout << "\n";
        cout << "___________________\n";
        cout << "\n";
     }
}
void sort(NOTE *q)
{
     NOTE buf;
      for (int i=0; i<M-1; i++) //Количество проходов по структуре.
       { 
           for (int j=M-2; j>=i; j--)//Перестановка.
           {
             if (q[j].phone[0] > q[j+1].phone[0])
                  {
                                buf = q[j];
                                q[j] = q[j+1];
                                q[j+1] = buf;
                  }
             if(q[j].phone[0] == q[j+1].phone[0])
                {
                                  if(q[j].phone[1] > q[j+1].phone[1])
                     {
                                buf = q[j];
                                q[j] = q[j+1];
                                q[j+1] = buf;
                     }
                }
                 if(q[j].phone[1] == q[j+1].phone[1])
                    {
                                      if(q[j].phone[2] > q[j+1].phone[2])
                        
               {
                                buf = q[j];
                                q[j] = q[j+1];
                                q[j+1] = buf;
               }
                     }
           }
       }
}
     
void search(NOTE *q) 
{
     char surname1[N];
    cout << "\n";
    cout << "-------------------\n";
    cout << "Введите фамилию: \n";
    cin >> surname1;
    cout << "\n";
    cout << "-------------------\n";
  bool flag = false;
    for (int i=0; i<M; i++)
       {
           if (strstr(q[i].surname, surname1))
           { 
                 flag = true;
                 cout << "Имя: " << q[i].name << "\n";
                 cout << "Номер телефона: " <<  q[i].phone << "\n";
                 cout << "Дата рождения: " << q[i].birth_day << "/" <<  q[i].birth_month << "/" << q[i].birth_year << "\n";
           }
           
       }
    if (flag == false)
    {
       cout << "Людей с такой фамилией не обнаружено.\n";
    }   
}
int main()
{
    setlocale (0, "Russian");
    NOTE a[M];
    NOTE *p;
    p = new NOTE[M];
    
   for (int i=0; i<M; i++) //начальная расстановка указателей
    {
        p[i] = &a[i];
    }
    input (p);
    sort (p);
    for (int i=0; i<M; i++)
     {
        cout << "Имя: " << p[i]->name << "\n"; 
        cout << "Фамилия: " <<  p[i]->surname << "\n";
        cout << "Номер телефона: " << p[i]->phone << "\n";
        cout << "Дата рождения: " <<  p[i]->birth_day << "/" << p[i]->birth_month << "/" << p[i]->birth_year << "\n";
          
     }
   search (p);
   delete a;
   delete p;
    
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru