Составить программу формирования данных об автомобилях - C (СИ)
Формулировка задачи:
Помогите составить программку:
Составить программу формирования данных об автомобилях (марка, номер, фамилия владельца, цвет машины). Организовать выбор автомобилей заданного цвета. Выбранных группировать по маркам машин.
Решение задачи: «Составить программу формирования данных об автомобилях»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <string.h> #include <fstream> #define N 100 typedef struct Auto { char brand[256]; char number[256]; char name[256]; char color[256]; } AUTO; void swap(AUTO& auto1, AUTO& auto2); using namespace std; int main() { const char* filename = "d:\\input.txt"; ifstream ifs(filename,ifstream::in); AUTO __auto; memset((void*)&__auto, 0x00, sizeof(AUTO)); AUTO* _auto = new AUTO[N]; int x = 0; memset((void*)_auto, 0x00, sizeof(AUTO) * N); while (ifs.peek() >= 0 && ifs>>__auto.brand>> __auto.number>>__auto.name>>__auto.color) _auto[x++] = __auto; for (int i = 0; strcmp("\0",_auto[i].brand) < 0; i++) for (int k = i+1; strcmp("\0", _auto[k].brand) < 0; k++) if (!strcmp(_auto[k].brand, _auto[i].brand)) swap(_auto[k], _auto[i+1]); for (int q = 0; strcmp("\0",_auto[q].brand) < 0; q++) printf("%s %s %s %s\n",_auto[q].brand, _auto[q].number, _auto[q].name, _auto[q].color); ifs.close(); _getch(); return 0; } void swap(AUTO& auto1, AUTO& auto2) { AUTO _tt = auto1; auto1 = auto2; auto2 = _tt; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы для работы с файлами и строками.
- Определяется структура данных
Авто
с полями: бренд, номер, имя, цвет. - Определяется функция swap для обмена значениями между двумя объектами структуры
Авто
. - Создается константа N, определяющая максимальное количество автомобилей для обработки.
- Создается указатель на файл input.txt для чтения данных.
- Создается массив из N структур
Авто
для хранения данных. - В цикле, пока не достигнут конец файла, считываются данные в структуру
Авто
и сохраняются в массиве. - В цикле, пока не все элементы массива заполнены, происходит сортировка массива по полю
бренд
с помощью функции swap. - В цикле, пока не все элементы массива заполнены, выводятся отсортированные данные на экран.
- Закрывается файл input.txt.
- Ожидается нажатие клавиши для завершения работы программы.
- Возвращается 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д