Написать программу, выполняющую:
Неправильно выводит в таблице дату рождения и телефон, а так же выводит неверные данные по запросу фамилии после таблицы.
Подскажите в чем ошибка?
#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();
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Разрабатываю программу, которая будет искать нужный элемент при помощи хэш-таблицыХэш-таблицу организую путём создания массива, состоящего...