Разработать программу учета жилищного фонда - C (СИ)
Формулировка задачи:
Разработать программу учета жилищного фонда. Данные о жилом фонде хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру жилищного договора. (Листинг кода программы должен быть с комментариями)
Помогите , пожалуйста
Решение задачи: «Разработать программу учета жилищного фонда»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string.h>
#define M 3
struct list { // Описание структуры
int d;
char fio [50];
char address[30];
};
int main(int argc, char *argv[]) {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
struct list mas[M]; // создаем массив структур
struct list tmp; // вспомогательня структура для сортировки массива
int i,a;
for(i=0;i<M;i++) { // ввод струткуры
puts("Введите номер договора");
scanf("%d",&a);
mas[i].d=a;
fflush(stdin);
puts("ФИО");
gets(mas[i].fio);
puts("Адресс");
gets(mas[i].address);}
for(i=1;i<M;i++){ //cортировка
if(mas[i].d<mas[i-1].d){
tmp=mas[i-1];
mas[i-1]=mas[i];
mas[i]=tmp;
i=0;
}
}
system("cls"); // очистка экрана
for(i=0;i<M;i++) { //вывод
printf("\nДоговор №: %d ФИО: %s Адрес : %s",mas[i].d,mas[i].fio,mas[i].address);}
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размер массива структур M
- Создаем структуру list, которая содержит поля: d (номер договора), fio (ФИО), address (адрес)
- В функции main() устанавливаем кодировку консоли
- Создаем массив структур mas[M] и вспомогательную структуру tmp
- В цикле запрашиваем и сохраняем введенные данные (номер договора, ФИО, адрес) для каждой структуры в массиве mas[M]
- Проводим сортировку массива по полю d с помощью цикла и условного оператора if
- Очищаем экран с помощью функции system(
cls) - Выводим отсортированный массив на экран с помощью цикла и функции printf()
- Возвращаем 0, чтобы указать, что программа успешно завершилась