Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- #include <string>
- #include <windows.h>
- using namespace std;
- struct Flat {
- string surname;
- double square;
- int numOfRooms;
- int floor;
- };
- short menu();
- void input(Flat*);
- void inputInFile(Flat*);
- void list(Flat*);
- void list2(Flat*);
- int main() {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- setlocale(LC_ALL, "Rus");
- short choice;
- Flat *object = new Flat;
- do {
- choice = menu();
- switch (choice) {
- case 1:
- system("cls");
- inputInFile(object);
- system("cls");
- break;
- case 2:
- system("cls");
- list(object);
- system("cls");
- break;
- case 3:
- system("cls");
- list2(object);
- system("cls");
- break;
- case 0:
- system("pause");
- break;
- default:
- cout << "Ошибка!" << endl;
- system("cls");
- break;
- }
- } while (choice);
- return 0;
- }
- short menu() {
- short m;
- cout << " МЕНЮ \n";
- cout << " Введите [1] чтобы добавить владельца \n";
- cout << " Введите [2] для просмотра данных о владельцах \n";
- cout << " Введите [3] для просмотра данных о владельцах чья квартира меньше 30 кв. м\n";
- cout << " Введите [0] для выхода \n";
- cout << " Пункт: ";
- cin >> m;
- return m;
- }
- void inputInFile(Flat* x) {
- input(x);
- FILE* streamFile;
- fopen_s(&streamFile, "datebase.txt", "a+");
- system("pause");
- cout << "\n\nФамилия владельца: " << x->surname << endl;
- cout << "Площадь в кв. м: " << x->square << endl;
- cout << "Число комнат: " << x->numOfRooms << endl;
- cout << "Этаж: " << x->floor << endl;
- fwrite(x, sizeof(Flat), 1, streamFile);
- cout << "Ваши данные теперь находятся в файле.";
- fclose(streamFile);
- }
- void input(Flat* x) {
- cin.ignore();
- cout << "Фамилия владельца: ";
- cin >> x->surname;
- cout << "Площадь в кв. м: ";
- cin >> x->square;
- cout << "Число комнат: ";
- cin >> x->numOfRooms;
- cout << "Этаж: ";
- cin >> x->floor;
- }
- void list(Flat* x) {
- FILE* streamFile;
- int i = 1;
- fopen_s(&streamFile, "datebase.txt", "r+");
- cout << "ДАННЫЕ О ВЛАДЕЛЬЦАХ:\n";
- while (!feof(streamFile)) {
- fread(x, sizeof(Flat), 1, streamFile);
- if (!feof(streamFile)) {
- cout << i++ << ": " << endl;
- cout << "\tФамилия владельца: " << x->surname << endl;
- cout << "\tПлощадь в кв. м: " << x->square << endl;
- cout << "\tЧисло комнат: " << x->numOfRooms << endl;
- cout << "\tЭтаж: " << x->floor << endl;
- }
- }
- system("pause");
- fclose(streamFile);
- }
- void list2(Flat* x) {
- FILE* streamFile;
- int i = 1, count = 0;
- fopen_s(&streamFile, "datebase.txt", "r+");
- cout << "ДАННЫЕ О ВЛАДЕЛЬЦАХ ЧЬЯ КВАРТИРА МЕНЬШЕ 30 КВ. М:\n";
- while (fread(x, sizeof(Flat), 1, streamFile) == 1) {
- if (x->square < 30) {
- cout << i++ << ": " << endl;
- cout << "\tФамилия владельца: " << x->surname << endl;
- cout << "\tПлощадь в кв. м: " << x->square << endl;
- cout << "\tЧисло комнат: " << x->numOfRooms << endl;
- cout << "\tЭтаж: " << x->floor << endl;
- count++;
- }
- }
- cout << "Количество квартир площадью меньше 30 кв. м: " << count << endl;
- system("pause");
- fclose(streamFile);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement