Разработать программу, осуществляющую форматированный ввод/вывод данных с консоли и блоковый ввод-вывод данных в файл для обработки заданных структур (отдельные строки таблиц означают отдельные поля структур). В понятие обработки входят: – ввод и сохранение новой записи; вроде реализовано – поиск записей по выбранным самостоятельно полям (не менее 3-х полей); – модификацию одной из найденных записей в файле; – вывод найденных записей на консоль.
ВВод и вывод через fread и fwrite, важно.
11. Транспортные маршруты Вид транспорта Маршрут : От остановки До остановки Длина маршрута Интенсивность движения
Вот начал а дальше как не пробую не получается , хелп
| Код |
/* 11.cpp : Defines the entry point for the console application. Вид транспорта Маршрут От остановки До остановки Длина маршрута Интенсивность движения */ #include "stdafx.h" # include <stdio.h> # include <conio.h> # define Mass 250 # define MASS 30
struct TransportStop // маршрут от и до { char FirstStop [MASS]; char SecondStop [MASS]; };
struct Transport // характерестика государства { char TypeTransport[MASS]; struct TransportStop Transportstop; float Long; char Time[MASS]; }mainTransport;
void ListOfmainTransport() { FILE* PointerToFile = fopen( "transport.txt", "a" ); // открываем файл для записи printf("Vvedite tip transporta \n"); scanf( "%s", &mainTransport.TypeTransport ); // считываем тип транспорта printf("Vvedite nachal'nuiu ostanovky \n"); scanf( "%s", &mainTransport.Transportstop.FirstStop ); // считываем начальную остановку printf("Vvedite konechnuiu ostanovku \n"); scanf( "%s", &mainTransport.Transportstop.SecondStop ); // считываем конечную остановку printf("Vvedite dlinu marshruta \n"); scanf("%d", &mainTransport.Long);// считываем длину маршрута printf("Vvedite interval dvizheniia \n"); scanf("%s", &mainTransport.Time ); // считываем интервал движения fwrite(&mainTransport,sizeof(mainTransport),1,PointerToFile);
} void ScanFromFile() { //FILE* PointerToFile = fopen( "transport.txt", "r" ); //fread(&mainTransport,sizeof(mainTransport),1,PointerToFile); } void FindChange()//только поиск { } void Find()//поиск и изменение { }
void main() { FILE* PointerToFile = fopen( "transport.txt", "a+" ); // открываем файл char cChoose; // Запрос на действие Beginning: printf("Read or Write?\n1 - Write\n2 - Read\n3 - Exit\n4 - Find and Change\n5 - Simple Find\n"); while ( cChoose = _getch() ) // ждем выбор нужной цифры { switch(cChoose) { case '1': // Считать и записать в файл ListOfmainTransport(); goto Beginning; // Вернуться к началу case '2': // Считать с файла ScanFromFile(); goto Beginning; // Вернуться к началу case '3': return; case '4': //поиск и редактирование найденного FindChange(); case '5': // просто поиск Find();
} } _getch(); }
|
|