Структуры в с++

165
22 мая 2019, 08:20

Описать структуру с именем NOTE2, содержащую поля: Name – фамилия и инициалы, TELE – номер телефона, DATE – дата рождения (год, месяц, число).

Написать программу, выполняющую:

  • ввод с клавиатуры данных в массив BLOCK2, состоящий из 7 элементов типа NOTE1, записи должны быть упорядочены по фамилиям в алфавитном порядке;
  • вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
  • если такого нет – выдать сообщение.

Неправильно выводит в таблице дату рождения и телефон, а так же выводит неверные данные по запросу фамилии после таблицы.

Подскажите в чем ошибка?

#include "stdafx.h"
#include <iostream>
#include <cstring>
#include <conio.h>
#include <cstdlib>
#define M 15
#define N 7
#pragma warning(disable : 4996)// чтобы компилятор не ругался на strcpy
using namespace std;
struct NOTE2
{
    char name[M];
    int num;
    char date[M];
};
int main()
{
    setlocale(0, "rus");
    NOTE2 BLOCK2[N];
    int i;
    for (i = 0; i < N; i++)
    {
        cout << "\nВведите имя: ";
        cin >> BLOCK2[i].name;
        cout << "\nВведите номер телефона: ";
        cin >> BLOCK2[i].num;
        cout << "\nВведите дату рождения: ";
        cin >> BLOCK2[i].date;
    }
    char cur[M];
    for (i = 0; i<N - 1; i++)
        for (int j = i + 1; j<N; j++)
            if (strcmp(BLOCK2[i].name, BLOCK2[j].name)>0)
            {
                strcpy(cur, BLOCK2[i].name);
                strcpy(BLOCK2[i].name, BLOCK2[j].name);
                strcpy(BLOCK2[j].name, cur);
            }
    cout << "\n ________________________________________________________\n";
    for (i = 0; i < N; i++) {
        cout << BLOCK2[i].name << "    " << BLOCK2[i].num << "    " << BLOCK2[i].date << endl;
    }
    cout << "\n ________________________________________________________\n";
    char temp[M];
    int count;
    while (strcmp(temp, "exit")) {
        cout << "\nВведите фамилию: "; 
        cin >> temp;
        count = 0;
        for (i = 0; i < N; i++) {
            if (strcmp(BLOCK2[i].date, temp) == 0) 
            {
                cout << endl << BLOCK2[i].name << "    " << BLOCK2[i].num << endl;
                count++;
            }
        }
        if (count == 0) cout << endl << " Нет такой фамилии\n";
    }
    _getch();
}
READ ALSO
undefined reference to `vtable for ClassName&#39;

undefined reference to `vtable for ClassName'

Возникли ошибки при компиляции"qmake" ругается:

149
Исключение при записи данных в массив, состоящий из списков

Исключение при записи данных в массив, состоящий из списков

Разрабатываю программу, которая будет искать нужный элемент при помощи хэш-таблицыХэш-таблицу организую путём создания массива, состоящего...

171
Помогите в реализации классов

Помогите в реализации классов

Мне по заданию надо реализовать:

124