Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.05.2014
Сообщений: 20
1

Из файла после определенного символа в нужной строке вывести оставшуюся строку на экран

04.06.2014, 21:19. Показов 1252. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include<iostream>
#include<string>
#include<conio.h>
#include<Windows.h>
#include<fstream>
#include<vector>
#include<stdio.h>
#include <iterator>
 
using namespace std;
 
class Table
{
    public:
        void set_depart(string table_depart)
        {
            depart=table_depart;
        }
        string get_depart()
        {
            return depart;
        }
        void set_stay(string table_stay)
        {
            stay=table_stay;
        }
        string get_stay()
        {
            return stay;
        }
        void show_wagon()
        {
        string str;
        
        int wagon[6]={1,2,3,4,5,6};
        int n=0, i=0;
        for(i=0; i<6; i++)
        {cout << "| " << wagon[i];
        cout << '|';
        }
        
        }
        
    private:
        string depart;
        string stay;
};
 
 
int main()
{   
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251); 
    setlocale(LC_ALL, "Russian");
    Table route, train;
        string depart = "";
        string stay= "";
    start: ;
    cout << "Введите пункт отправления: ";
    cin >> depart;
    cout << "Введите пункт назначения: ";
    cin >> stay;
 
    route.set_depart(depart);
    route.set_stay(stay);
 
    string str;
    int i=0;
    long c = 0;
    vector<string> v;
    char * file = "timetable.txt";
    ifstream fin(file);
    if(!fin.is_open())
    {cout << "Невозможно открыть файл!" << endl;
    _getch();
    return -1;
    }
    
    
    while(getline(fin, str))
    { 
        if(str.find(route.get_depart()) != string::npos && str.find(route.get_stay()) != string::npos)
        {
            v.insert(v.end(), str);
            cout << i <<". " << v[i] << endl;
            i++;
            c++;
            
        }
    }
    
    fin.close();
    if( !c )
    {
        cout <<"Рейсов по маршруту " << depart << " - " << stay << " нет! Введите другой маршрут." << endl;
        _getch();
        system("cls");
        goto start;
        
    }
    
    int who;
    cout <<endl << " Выбирите маршрут(нажмите цифру соотв.поезда)" << endl;
    cin >> who;
    system("cls");
    i++;
    if(who >= 0)
    {   int n=0;
        string start ="#";
        string str;
        cout << v[who] << endl;
        train.show_wagon();
        cout << endl <<" Введите место: ";
        cin >> n;
        
        if(n >= 1 && n <= 6)
        {
        char * file = "cost.txt";
        ifstream fin(file);
        if(!fin.is_open())
        {cout << "Невозможно открыть файл!" << endl;
        _getch();
        }
        while(getline(fin, str))
        {
        if(str.find(route.get_stay()) != string::npos)
            {
        str.erase(0, str.find(start) + start.length() + 1);
        cout << str << endl;
        }
        }
        }
                
        
    }
        
 
    _getch();
    return 0;
}
Содержимое файла: timetable.txt:
Харьков - Донецк Время прибытия: 10:43. Время отправления 13:43.
Харьков - Краматорск Время прибытия: 10:43. Время отправления 13:45.
Зуево - Кукуево Время прибытия: 10:43. Время отправления 13:23.
Харьков - Щебелинка Время прибытия: 11:43. Время отправления 13:22.
Харьков - Краматорск Время прибытия: 11:43. Время отправления 13:22.
Содержимое файла cost.txt:
Харьков - Донецк Время прибытия: 10:43. Время отправления 13:43.# Цена 58 грн.
Харьков - Краматорск Время прибытия: 10:43. Время отправления 13:45.# Цена 34 грн.
Зуево - Кукуево Время прибытия: 10:43. Время отправления 13:23.# Цена 12 грн.
Харьков - Щебелинка Время прибытия: 11:43. Время отправления 13:22.# Цена 13 грн.
Харьков - Краматорск Время прибытия: 11:43. Время отправления 13:22.# Цена 14 грн.

Добавлено через 9 часов 50 минут
Срочно нужна помощь..сам не могу разобраться

Добавлено через 10 часов 22 минуты
уже не надо..сам разобрался..там необходимо сравнивать строку выбранного с другими строками файла cost.txt c помощью функции strstr..они совпадают с нужной строкой и потом удаляем не нужное
немного сложновато..но по-другому не знаю как)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while(getline(fin, str))
        {
        
        if(str.find(route.get_depart()) != string::npos && str.find(route.get_stay()) != string::npos)
            {
                if(strstr(str.c_str(), v[who].c_str()))
                {
                str.erase(0, str.find(start) + start.length() + 1);
                cout << str << endl; 
                }
                
            } 
        
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2014, 21:19
Ответы с готовыми решениями:

Вывести символы после определенного символа в отдельную строку
Здравствуйте! У меня есть строка (массив char) с путем к файлу, например &quot;C:\\Prog\\app.exe&quot;. Как...

C# C++ Задача поиск определенного символа в строке, запись того что после него в дргую строку
Вот пошагово: 1)Создать файл из символов, последний символ *(маркер) 2)После маркера записать...

Как читать строку в массив до определенного символа и после продолжить чтение опять до символа
Как читать строку в массив до определенного символа и после продолжить чтение опять до символа. к...

Найти строку в текстовом файле и вывести то что в этой строке после символа |
Доброго всем дня! Есть еще один вопросик по работе с текстовым файлом в vb.net? Например, есть...

0
04.06.2014, 21:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2014, 21:19
Помогаю со студенческими работами здесь

Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа...

Вставка в строку другую строку после определённого символа
Помогите простой вопрос решить нужно вставить слово one после последнего символа &quot;/&quot; например...

Есть две строки, после каждого вхождения определенного символа, в первую строку вставить вторую строку
&lt;script&gt; var s=&quot;dndcddcn&quot;; s0=&quot;ddf&quot;; for(var i=0;i&lt;s.length();i++) { s=s+s; if (s=n) ...

Поиск определенного слова в строке и замена определенного символа после этого слова
Представим что у нас есть следующая строка: &quot;Дядя Петя 10 раз ударил дядю Васю, но дядя Вася...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru