чтение и запись файла обработки C ++, который содержит несколько столбцов

Допустим, я хочу написать и прочитать это значение
Предположим, я хочу написать

SEAT:
NAME:
CLASS:
DEPR. TIME:
ARRV. TIME:
FROM:
TO:

====================== Таким образом, именно так будет выглядеть файл file.doc =========

SEAT NAME            CLASS     DEPARTURE TIME  ARRIVAL TIME  FROM    DESTINATION

23   Janes Rowan     ECONOMY   11:30           17:30         NY      CHINA

24   Robert Sulliman FIRST     12:30           18:30         LONDON  JAPAN

================================================== ===============================

И я хочу прочитать

Пожалуйста, введите ваше имя: Джейн Роуэн

============================= отобразить на экране ================== =================

SEAT NAME            CLASS     DEPARTURE TIME  ARRIVAL TIME  FROM    DESTINATION

23   Janes Rowan     ECONOMY   11:30           17:30         NY      CHINA

================================================== ==============================

Как предположить, что мой программный код на C ++ будет? Потому что я столкнулся с проблемой при написании (сохранить в file.doc) и поиске строки с двумя словами и более, а также для отображения всей строки на экране. А также я хочу знать, как удалить всю строку, т.е.
Пожалуйста, введите ваше имя, чтобы отменить билет: Джейн Роуэн
Таким образом, он удалит всю строку
Я новичок, поэтому надеюсь, что кто-нибудь может мне помочь. Большое спасибо XD!

-2

Решение

Этот код соответствует вашим спецификациям, как это было дано (я думаю). Но это вряд ли то, что вам нужно для вашего задания. Но, возможно, здесь есть некоторые идеи, которые вы можете использовать.

Мой входной файл, db.txt:

SEAT NAME            CLASS     DEPARTURE TIME  ARRIVAL TIME  FROM    DESTINATION
23   Janes Rowan     ECONOMY   11:30           17:30         NY      CHINA
24   Robert Sulliman FIRST     12:30           18:30         LONDON  JAPAN

Мое решение, aviation.cpp:

#include <algorithm>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>

int main() {
// Read the database.
std::vector<std::string> database;
std::string str;
std::ifstream fin("db.txt");

while (std::getline(fin, str)) {
database.push_back(str); }

// Print the database.
for (const auto& r : database) {
std::cout << r << "\n"; }

// Find.
std::cout << "Find name: ";
std::string find_query;
std::getline(std::cin, find_query);

std::cout << database[0] << "\n";
for (const auto& r : database) {
if (r.find(find_query) != std::string::npos) {
std::cout << r << "\n"; } }

// Delete.
std::cout << "Delete name: ";
std::string delete_query;
std::getline(std::cin, delete_query);

database.erase(std::remove_if(std::begin(database), std::end(database),
[&](const std::string& s) {
return s.find(delete_query) != std::string::npos; }),
std::end(database));

for (const auto& r : database) {
std::cout << r << "\n"; }
}

Протестировано с GCC 4.8.2: g++ -Wall -Wextra -std=c++0x airline.cpp

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]