
Написать программу записи в файл и чтение из файла элементов массива структур для регистрации
автомашин с полями: марка машины, год выпуска, цвет, номер. Организовать поиск по цвету машины.

Ответы на вопрос

uses
crt;
type
car = record
mark: string[64];
year: integer;
colour: string[32];
number: string[12];
end;
var
text_out: file of car;
cars: array[1..1] of car;
count,limit: integer;
temp:car;
begin
writeln('vvod');
assign(text_out, 'input.txt');
rewrite(text_out);
cars[1].mark := 'Lada Vesta bbb';
cars[1].year := 2000;
cars[1].colour := 'красный';
cars[1].number := 'а111ааrus000';
write(text_out, cars[1]);
writeln('');
readln(limit);
for count:=1 to limit do begin
writeln('Введите марку автомобиля');
readln(temp.mark);
writeln('Введите год выпуска автомобиля');
readln(temp.year);
writeln('Введите цвет автомобиля');
readln(temp.colour);
writeln('Введите номер автомобиля');
readln(temp.number);
write(text_out, temp);
end;
close(text_out);
end.
И пример поиска в том же типизированном файле
uses
crt;
type
car = record
mark: string[64];
year: integer;
colour: string[32];
number: string[12];
end;
var
text_in: file of car;
temp: car;
count: integer;
mask: string;
begin
writeln('Введите искомый цвет');
readln(mask);
assign(text_in, 'input.txt');
reset(text_in);
while not eof(text_in) do
begin
read(text_in, temp);
if temp.colour = mask then
begin
write('Машина заданного цвета ');
writeln(temp.mark);
write(temp.year);
writeln(' года выпуска');
write('Государственный знак номер ');
writeln(temp.number);
writeln();
end;
end;
end.
Можно и обычным текстовым файлом, но проще типизированным.



Для решения данной задачи, нам понадобится создать структуру "Car" с полями "марка", "год выпуска", "цвет" и "номер". Затем мы сможем объявить массив таких структур для хранения информации о регистрации автомашин.
Для записи данных в файл и чтения из файла, мы будем использовать функции записи и чтения файлов в языке программирования, например, C++.
Ниже приведен пример программы:
```cpp
#include
struct Car { std::string brand; int year; std::string color; std::string number; };
// Функция для записи данных в файл void writeToFile(const std::string& filename, Car cars[], int size) { std::ofstream outputFile(filename); if (outputFile.is_open()) { for (int i = 0; i < size; i++) { outputFile << cars[i].brand << ";" << cars[i].year << ";" << cars[i].color << ";" << cars[i].number << std::endl; } outputFile.close(); } else { std::cout << "Не удалось открыть файл " << filename << " для записи" << std::endl; } }
// Функция для чтения данных из файла void readFromFile(const std::string& filename, Car cars[], int& size) { std::ifstream inputFile(filename); std::string line; int index = 0; if (inputFile.is_open()) { while (getline(inputFile, line)) { std::string brand, color, number; int year;
size_t pos = 0; pos = line.find(";"); brand = line.substr(0, pos); line.erase(0, pos + 1);
pos = line.find(";"); year = std::stoi(line.substr(0, pos)); line.erase(0, pos + 1);
pos = line.find(";"); color = line.substr(0, pos); line.erase(0, pos + 1);
number = line;
cars[index].brand = brand; cars[index].year = year; cars[index].color = color; cars[index].number = number;
index++; } size = index; inputFile.close(); } else { std::cout << "Не удалось открыть файл " << filename << " для чтения" << std::endl; } }
// Функция для поиска автомобиля по цвету void searchByColor(Car cars[], int size, const std::string& color) { for (int i = 0; i < size; i++) { if (cars[i].color == color) { std::cout << "Марка: " << cars[i].brand << std::endl; std::cout << "Год выпуска: " << cars[i].year << std::endl; std::cout << "Цвет: " << cars[i].color << std::endl; std::cout << "Номер: " << cars[i].number << std::endl; std::cout << std::endl; } } }
int main() { const std::string filename = "cars.txt"; const int maxSize = 100;
// Создаем массив структур Car cars[maxSize]; int size = 0;
// Записываем данные в файл writeToFile(filename, cars, size);
// Читаем данные из файла readFromFile(filename, cars, size);
// Поиск по цвету std::string colorToSearch = "красный"; searchByColor(cars, size, colorToSearch);
return 0; } ```
В данном примере, программы объявляются функции "writeToFile" для записи данных в файл, "readFromFile" для чтения данных из файла и "searchByColor" для поиска автомобилей по цвету.
Функция "writeToFile" принимает имя файла, массив структур "Car" и размер массива. Она открывает файл для записи и записывает данные из массива в файл, разделяя поля структуры символом ";".
Функция "readFromFile" принимает имя файла, массив структур "Car" и ссылку на переменную размера массива. Она открывает файл для чтения и читает данные из файла, разделяя поля структуры символом ";". Прочитанные данные сохраняются в элементы массива структур "Car".
Функция "searchByColor" принимает массив структур "Car", размер массива и цвет для поиска. Она перебирает все элементы массива и выводит информацию о найденных автомобилях с заданным цветом на экран.
В функции "main" мы объявляем массив структур "Car" и переменную размера, а затем вызываем функции для записи данных в файл, чтения данных из файла и поиска по цвету.
Обратите внимание, что в данном примере используется символ ";" для разделения полей структуры в файле. Вы можете изменить этот символ или использовать другой символ разделения в зависимости от ваших требований.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili