
C/C++
Помогите пожалуйста написать код на c++, выводящий имя, фамилию и дату рождения нескольких человек
2е задание


#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct chelovek
{
string name1; // имя
string name2; // фамилия
string data; // дата рождения
string mesto; // место жительства
};
int main()
{
const int max = 100;
chelovek p[max];
int i = 0;
const char file[] = "data.txt"; // файл для загрузки данных
ifstream ifs;
ifs.open(file);
if(ifs.is_open())
{
while(!ifs.eof() && i < max)
{
ifs >> p[i].name1;
ifs >> p[i].name2;
ifs >> p[i].data;
ifs >> p[i].mesto;
i++;
}
ifs.close();
}
int chois;
string info;
bool pokaz = false;
char povtor;
do
{
cout << "Чтобы вывести информацию по имени, введите 1." << endl;
cout << "Чтобы вывести информцию по фамилии, введите 2." << endl;
cout << "Чтобы вывести информцию по дате рождения, введите 3." << endl;
cout << "Чтобы вывести информацию по месту жительства, введите 4." << endl;
cin >> chois;
switch(chois)
{
case 1:
{
cout << "Введите имя для поиска: ";
cin >> info;
for(int x = 0; x < i; x++)
{
if(info == p[x].name1)
{
cout << p[x].name1 << '\t';
cout << p[x].name2 << '\t';
cout << p[x].data << '\t';
cout << p[x].mesto << endl;
pokaz = true;
}
}
break;
};
case 2:
{
cout << "Введите фамилию для поиска: ";
cin >> info;
for(int x = 0; x < i; x++)
{
if(info == p[x].name2)
{
cout << p[x].name1 << '\t';
cout << p[x].name2 << '\t';
cout << p[x].data << '\t';
cout << p[x].mesto << endl;
pokaz = true;
}
}
break;
};
case 3:
{
cout << "Введите дату рождения: ";
cin >> info;
for(int x = 0; x < i; x++)
{
if(info == p[x].data)
{
cout << p[x].name1 << '\t';
cout << p[x].name2 << '\t';
cout << p[x].data << '\t';
cout << p[x].mesto << endl;
pokaz = true;
}
}
break;
};
case 4:
{
cout << "Введите место жительства: ";
cin >> info;
for(int x = 0; x < i; x++)
{
if(info == p[x].mesto)
{
cout << p[x].name1 << '\t';
cout << p[x].name2 << '\t';
cout << p[x].data << '\t';
cout << p[x].mesto << endl;
pokaz = true;
}
}
break;
};
default:
cerr << "Введено неверное значение." << endl;
break;
}
if(!pokaz)
{
cout << "Не найдено ни одного человека." << endl;
}
cout << "Чтобы повторить поиск введите \'y\':";
cin >> povtor;
} while(povtor == 'y' || povtor == 'Y');
return 0;
}
// Пример файла с данными:

#include <fstream>
#include <string>
using namespace std;
struct chelovek
{
string name1; // имя
string name2; // фамилия
string data; // дата рождения
string mesto; // место жительства
};
int main()
{
const int max = 100;
chelovek p[max];
int i = 0;
const char file[] = "data.txt"; // файл для загрузки данных
ifstream ifs;
ifs.open(file);
if(ifs.is_open())
{
while(!ifs.eof() && i < max)
{
ifs >> p[i].name1;
ifs >> p[i].name2;
ifs >> p[i].data;
ifs >> p[i].mesto;
i++;
}
ifs.close();
}
int chois;
string info;
bool pokaz = false;
char povtor;
do
{
cout << "Чтобы вывести информацию по имени, введите 1." << endl;
cout << "Чтобы вывести информцию по фамилии, введите 2." << endl;
cout << "Чтобы вывести информцию по дате рождения, введите 3." << endl;
cout << "Чтобы вывести информацию по месту жительства, введите 4." << endl;
cin >> chois;
switch(chois)
{
case 1:
{
cout << "Введите имя для поиска: ";
cin >> info;
for(int x = 0; x < i; x++)
{
if(info == p[x].name1)
{
cout << p[x].name1 << '\t';
cout << p[x].name2 << '\t';
cout << p[x].data << '\t';
cout << p[x].mesto << endl;
pokaz = true;
}
}
break;
};
case 2:
{
cout << "Введите фамилию для поиска: ";
cin >> info;
for(int x = 0; x < i; x++)
{
if(info == p[x].name2)
{
cout << p[x].name1 << '\t';
cout << p[x].name2 << '\t';
cout << p[x].data << '\t';
cout << p[x].mesto << endl;
pokaz = true;
}
}
break;
};
case 3:
{
cout << "Введите дату рождения: ";
cin >> info;
for(int x = 0; x < i; x++)
{
if(info == p[x].data)
{
cout << p[x].name1 << '\t';
cout << p[x].name2 << '\t';
cout << p[x].data << '\t';
cout << p[x].mesto << endl;
pokaz = true;
}
}
break;
};
case 4:
{
cout << "Введите место жительства: ";
cin >> info;
for(int x = 0; x < i; x++)
{
if(info == p[x].mesto)
{
cout << p[x].name1 << '\t';
cout << p[x].name2 << '\t';
cout << p[x].data << '\t';
cout << p[x].mesto << endl;
pokaz = true;
}
}
break;
};
default:
cerr << "Введено неверное значение." << endl;
break;
}
if(!pokaz)
{
cout << "Не найдено ни одного человека." << endl;
}
cout << "Чтобы повторить поиск введите \'y\':";
cin >> povtor;
} while(povtor == 'y' || povtor == 'Y');
return 0;
}
// Пример файла с данными:

Umit Novruzov
Программа выводит данные, если произойдёт их успешный поиск по одному из значений: имя, фамилия, дата рождения или место жительства.
Похожие вопросы
- Помогите пожалуйста написать код на C++
- Помогите, пожалуйста, написать код на C (Си)
- Помогите пожалуйста написать код.(C++)
- Срочно!!! Помогите пожалуйста написать код к задачке на с++! Заранее спасибо!
- Помоги пожалуйста написать программу на C++
- Помогите пж написать код на C++
- Помогите, пожалуйста, написать программу на C++ (массивы)
- Помогите пожалуйста! Нужен код на C++
- Помогите пожалуйста написать программу на C++. Срочно нужно, пожалуйста.
- Помогите пожалуйста написать программу на C++. Очень нужно!