Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dark Illusion
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 31
#1

Переделать программу, чтобы вывод осуществлялся в текстовый файл - C++

03.03.2013, 18:52. Просмотров 393. Ответов 5
Метки нет (Все метки)

Здравствуйте. Помогите, пожалуйста, переделать программу, чтобы ввод и вывод данных осуществлялся в текстовые файлы (input, output). Вот задание:
В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны:
- номер рейса;
- тип автобуса;
- пункт назначения;
- время отправления;
- время прибытия на конечный пункт.
Вывести информацию о рейсах, которыми можно воспользоваться для прибытия в пункт на-значения раньше заданного времени.
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
#include <iostream>
#include <string.h>
#include <iomanip>
using namespace std;
struct Trip                                         
{                                                   
          
    int      number;                                   
    char*    type;                             
    char*     destination;                          
    double   otTime;                                
    double   prTime;                            
}; 
int main() {
    char* type = new char[20];
 
struct Trip indexes[100];
 char dPoint[20];
    double time = 0.0;
    int  q,i;
 
 
 
cout << "Vvedite kolichestvo reisov: ";
cin >> q;
for ( i = 0; i < q; i++)
{
    indexes[i].destination = new char[20];
        indexes[i].type = new char[20];
}
for ( i = 0; i < q; i++) 
{
cout << "-------------------------------" << endl;
cout << "Nomer reisa: "; 
cin >> indexes[i].number;
cout << "Tip reisa: "; 
cin >> indexes[i].type;
cout << "Mesto nazhacheniya: ";
cin >> indexes[i].destination;
cout << "Vremya otpravleniya: "; 
cin >> indexes[i].otTime;
cout << "Vremya pribitiya: "; 
cin >> indexes[i].prTime;
cout << "-------------------------------" << endl;
 
}
 
 cout <<"Vvedite mesto naznacheniya: "<<endl;
   cin.get();
   cin.getline(dPoint, 20);
    cout<<"Vvedite vremya pribitiya(hours.minutes): ";
    cin >> time;
    cout<<endl<<"-----------------------------------------------" <<endl;
    for( i=0; i < q; i++)
    {
    char *str  = indexes[i].destination;
        if(strcmp(dPoint, str) == 0)
        if(indexes[i].prTime < time)
        {
           cout.width(21);
           cout <<"Nomer reysa: "<<indexes[i].number<<endl;
           cout.width(21);
           cout<<"Tip reysa: "<<indexes[i].type<<endl;
           cout.width(21);
           cout<<"Mesto nazhacheniya: "<<indexes[i].destination<<endl;
           cout.width(19);
           cout<<"Vremia otpravleniya: "<<fixed<<setprecision(2)<<indexes[i].otTime<<endl;
           cout.width(21);
           cout<<"Vremya pribitiya: "<<fixed<<setprecision(2)<<indexes[i].prTime << endl;
           cout <<"-----------------------------------------------" << endl;
            
        }
 
    }
 
    return 0;
}
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 18:52     Переделать программу, чтобы вывод осуществлялся в текстовый файл
Посмотрите здесь:

Файл: Изменить программу таким образом чтобы ввод исходных данных осуществлялся из файла, результат также должен выводиться в файл - C++
Помогите разобраться с этой проблемой, исходную задачу я написал, а вот как считать из файла не получается. Необходимо изменить программу...

Вывод в текстовый файл - C++
Даны сведения о книгах, поступивших в библиотеку: ФИО автора, название книги, название издательства, год издания, дата поступления книги в...

Вывод в текстовый файл - C++
Помогите доделать программу, нужно что бы все что в консоли отображается выводилось в текстовый файл. Заранее спасибо) #include...

Вывод в текстовый файл - C++
Подскажите, пожему не получается вывести в файл все элементы двоичного дерева поиска, а только первый? void Book::Save() { FILE *f; ...

Вывод строки в текстовый файл - C++
Вместо строки появляется нечто вроде 25d3fe4 Подскажите пожалуйста, в чем ошибка? ofstream fout; ...

Вывод ошибок в текстовый файл - C++
Здравствуйте, допустим при компиляции у меня выскакивают ошибки как можно код этих ошибок записать в файл? При чем должно быть 2 колонки...

Вывод данных в текстовый файл - C++
В программе получил несколько динамических массивов. Необоходимо вывести их в текстовый файл (мне потом в экселе графики по этим данным...

Вывод матрицы в текстовый файл - C++
День добрый, ребята. Пытаюсь сделать прототип матрицы смежности графа, но имею недостаточно знаний. Нашел здесь заготовку, которую следует...

Переделать программу, чтобы пузырьковая сортировка начиналась с первого элемента - C++
привет, мне надо переделать программку чтобы пузырьковая сортировка начиналась с первого элемента. #include &lt;iostream&gt; #include...

Как лучше переделать программу чтобы отсутствовали глобальных переменных - C++
есть программа, как лучше переделать программу что бы отсутствовали глобальных переменных, т.е. чтобы все передавалось через параметры....

Переделать программу под класс. Т.е. чтобы она работала так же, но с классом - C++
Дано вещественное число а и натуральное число n. Вычислить : а^1,a^2,a^3,..a^n. Операцию возведения в степень не использовать. ...

необходимо переделать программу, чтобы вместо обычных массивов были динмические - C++
всем заранее спасибо :friends: # include &quot;iostream&quot; # include &lt;math.h&gt; # include &quot;iomanip&quot; # include &quot;strstream&quot; # include...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,165
Завершенные тесты: 2
03.03.2013, 19:48     Переделать программу, чтобы вывод осуществлялся в текстовый файл #2
делаешь
C++
1
#include <fstream>
в main
C++
1
std::ofstream ofs("filename.txt");
заменяешь все cout на ofs
после вывода добавляешь
C++
1
ofs.close();
и будет тебе счастье))
Dark Illusion
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 31
05.03.2013, 13:25  [ТС]     Переделать программу, чтобы вывод осуществлялся в текстовый файл #3
Кудаив, Сделал всё, как вы сказали, но почему-то не записывает она результаты в текстовый файл, она его создаёт, но он оказывается пустым
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2013, 04:22     Переделать программу, чтобы вывод осуществлялся в текстовый файл #4
Цитата Сообщение от Dark Illusion Посмотреть сообщение
Кудаив, Сделал всё, как вы сказали, но почему-то не записывает она результаты в текстовый файл, она его создаёт, но он оказывается пустым
Код покажите.
Dark Illusion
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 31
06.03.2013, 12:52  [ТС]     Переделать программу, чтобы вывод осуществлялся в текстовый файл #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Код покажите.
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
#include <iostream>
#include <string.h>
#include <iomanip>
#include <fstream>
using namespace std;
struct Trip                                         
{                                                   
          
    int      number;                                   
    char*    type;                             
    char*     destination;                          
    double   otTime;                                
    double   prTime;                            
}; 
int main() {
    char* type = new char[20];
    std::ofstream ofs("filename.txt");
struct Trip indexes[100];
 char dPoint[20];
    double time = 0.0;
    int  q,i;
 
 
 
cout << "Vvedite kolichestvo reisov: ";
cin >> q;
for ( i = 0; i < q; i++)
{
    indexes[i].destination = new char[20];
        indexes[i].type = new char[20];
}
for ( i = 0; i < q; i++) 
{
cout << "-------------------------------" << endl;
cout << "Nomer reisa: ";
cin >> indexes[i].number;
cout << "Tip reisa: ";
cin >> indexes[i].type;
cout << "Mesto nazhacheniya: ";
cin >> indexes[i].destination;
cout << "Vremya otpravleniya: ";
cin >> indexes[i].otTime;
cout << "Vremya pribitiya: ";
cin >> indexes[i].prTime;
cout << "-------------------------------" << endl;
 
}
 
 cout <<"Vvedite mesto naznacheniya: "<<endl;
   cin.get();
   cin.getline(dPoint, 20);
    cout<<"Vvedite vremya pribitiya(hours.minutes): ";
    cin >> time;
    ofs<<endl<<"-----------------------------------------------" <<endl;
    for( i=0; i < q; i++)
    {
    char *str  = indexes[i].destination;
        if(strcmp(dPoint, str) == 0)
        if(indexes[i].prTime < time)
        {
           ofs.width(21);
           ofs <<"Nomer reysa: "<<indexes[i].number<<endl;
           ofs.width(21);
           ofs<<"Tip reysa: "<<indexes[i].type<<endl;
           ofs.width(21);
           ofs<<"Mesto nazhacheniya: "<<indexes[i].destination<<endl;
           ofs.width(19);
           ofs<<"Vremia otpravleniya: "<<fixed<<setprecision(2)<<indexes[i].otTime<<endl;
           ofs.width(21);
           ofs<<"Vremya pribitiya: "<<fixed<<setprecision(2)<<indexes[i].prTime << endl;
           ofs <<"-----------------------------------------------" << endl;
           ofs.close();
        }
 
    }
 
    return 0;
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2013, 14:01     Переделать программу, чтобы вывод осуществлялся в текстовый файл #6
Цитата Сообщение от Dark Illusion Посмотреть сообщение
не записывает она результаты в текстовый файл
Записывает, если правильные данные вводить. Введённый пункт назначения должен совпадать с имеющимся и введённое время должно быть больше, чем вермя прибытия для этого рейса. Тогда будет запись в файле. Но всё это не так делается.
В файл нужно записывать все рейсы, и писать только значения, без названий полей структуры и пр. Для поиска нужного рейса из файла, считывать структуры из файла и анализировать нужные поля.

Добавлено через 26 минут
Как-то так:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
using namespace std;
 
struct Trip                                         
{                                                   
    int      number;                                   
    char*    type;                             
    char*    destination;                          
    double   otTime;                                
    double   prTime;                            
}; 
 
int main() 
{
 cout << "Vvedite kolichestvo reisov: ";
 int q;
 cin >> q;
 
 Trip *indexes = new Trip[q];
 
 int i;
 for ( i = 0; i < q; i++)
 {
    indexes[i].destination = new char[20];
    indexes[i].type        = new char[20];
 }
 
 for ( i = 0; i < q; i++) 
 {
    cout << "-------------------------------" << endl;
    cout << "Nomer reisa: ";
    cin >> indexes[i].number;
    cout << "Tip reisa: ";
    cin >> indexes[i].type;
    cout << "Mesto nazhacheniya: ";
    cin >> indexes[i].destination;
    cout << "Vremya otpravleniya: ";
    cin >> indexes[i].otTime;
    cout << "Vremya pribitiya: ";
    cin >> indexes[i].prTime;
    cout << "-------------------------------" << endl;
 }
 
 ofstream ofs("filename.txt");
 
 for( i = 0; i < q; i++)
 {
    ofs << indexes[i].number      << endl;
    ofs << indexes[i].type        << endl;
    ofs << indexes[i].destination << endl;
    ofs << indexes[i].otTime      << endl;
    ofs << indexes[i].prTime      << endl;
 }
 ofs.close();
 
// здесь ввод данных для поиска и: вариант 1) поиск нужного рейса в массиве indexes, вывод результатов
                                 
 for ( i = 0; i < q; i++)
 {
    delete indexes[i].destination;
    delete indexes[i].type;        
 }    
 delete [] indexes;
 
 // вариант 2) чтение из файла структур во временную структуру, анализ нужных полей, вывод результата  
 
 system("pause");
 return 0;
 }


Добавлено через 12 минут
А лучше так:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
#include <vector>
#include <iomanip>
#include <fstream>
using namespace std;
 
struct Trip                                         
{                                                   
    int      number;                                   
    string   type;                             
    string   destination;                          
    double   otTime;                                
    double   prTime;                            
} reis; 
 
int main() 
{
 cout << "Vvedite kolichestvo reisov: ";
 int q;
 cin >> q;
 
 vector <Trip> vecTrip;
 
 int i;
 for ( i = 0; i < q; i++) 
 {
    cout << "-------------------------------" << endl;
    
    cout << "Nomer reisa: ";
    cin >> reis.number;
    cout << "Tip reisa: ";
    cin >> reis.type;
    cout << "Mesto nazhacheniya: ";
    cin >> reis.destination;
    cout << "Vremya otpravleniya: ";
    cin >> reis.otTime;
    cout << "Vremya pribitiya: ";
    cin >> reis.prTime;
    
    vecTrip.push_back(reis);
    
    cout << "-------------------------------" << endl;
 }
 
 ofstream ofs("filename.txt");
 
 for( i = 0; i < q; i++)
 {
    ofs << vecTrip[i].number      << endl;
    ofs << vecTrip[i].type        << endl;
    ofs << vecTrip[i].destination << endl;
    ofs << vecTrip[i].otTime      << endl;
    ofs << vecTrip[i].prTime      << endl;
 }
 ofs.close();
 
// здесь ввод данных для поиска и: вариант 1) поиск нужного рейса в векторе, вывод результатов
//                                 вариант 2) чтение из файла структур во временную структуру reis, анализ нужных полей, вывод результата  
 
 system("pause");
 return 0;
 }
Yandex
Объявления
06.03.2013, 14:01     Переделать программу, чтобы вывод осуществлялся в текстовый файл
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru