Составить программу формирования данных об автомобилях - 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; }

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы для работы с файлами и строками.
  2. Определяется структура данных Авто с полями: бренд, номер, имя, цвет.
  3. Определяется функция swap для обмена значениями между двумя объектами структуры Авто.
  4. Создается константа N, определяющая максимальное количество автомобилей для обработки.
  5. Создается указатель на файл input.txt для чтения данных.
  6. Создается массив из N структур Авто для хранения данных.
  7. В цикле, пока не достигнут конец файла, считываются данные в структуру Авто и сохраняются в массиве.
  8. В цикле, пока не все элементы массива заполнены, происходит сортировка массива по полю бренд с помощью функции swap.
  9. В цикле, пока не все элементы массива заполнены, выводятся отсортированные данные на экран.
  10. Закрывается файл input.txt.
  11. Ожидается нажатие клавиши для завершения работы программы.
  12. Возвращается 0, что означает успешное завершение работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.5 из 5
Похожие ответы