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

Запись структуры в файл. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка двумерного массива по возрастанию http://www.cyberforum.ru/cpp-beginners/thread22698.html
Помогите, пожалуйста с задачей.:-[ Необходимо отсортировать двумерный массив по возрастанию (не переводя его в одномерный). Должно получиться примерно так: 0 0 1 1 2 3 4 5 7 8 9 9 С помощью одномерного массива - у меня получилось. А как без него не представляю даже:'(
C++ dynamic_cast #include <iostream> class B { public: virtual void foo(){std::cout<<"B";} private: int a; }; class D : public B { public: void foo(){std::cout<<"D"<<std::endl;} http://www.cyberforum.ru/cpp-beginners/thread22683.html
C++ Функция, которая при вводе натурального числа выводит количество цифр в нем и их сумму
Написать и протестировать функцию которая при вводе натурального числа выводит количество цифр в нем и их сумму. Пример : натуральное число 8564 количество цифр 4 сумма цифр 23
Функция atoi, без использования библиотеки string C++
функции atoi, без использования библиотеки string
C++ Вопрос по массивав, "институтский" вопрос. http://www.cyberforum.ru/cpp-beginners/thread22636.html
Готовлюсь к летней сессии по программированию. С++ Есть такая вот задачка (привожу как есть) Какие операторы надо записать до оператора int(*a) = new int чтобы был открыт массив, содержащий 5 строк и 10 столбцов В документации подобного не нашел. С программистами пообщался - такого не встречали. Такое может быть вообще в природе? И соответствует ли это стандарту: ANSI C++ ?
C++ Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки) состоит из слов, разделенных одним или несколькими пробелами. Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки). Если таких слов несколько, найти первое из них. :) подробнее

Показать сообщение отдельно
necto
5 / 4 / 1
Регистрация: 27.01.2009
Сообщений: 30
07.02.2009, 16:56  [ТС]     Запись структуры в файл.
Добавлено через 20 минут 27 секунд
Я нашел ошибку: вместо ifstream() нужен ofstream(). Плюс небольшие поправки в синтаксисе.

C++
1
2
3
4
5
6
7
8
    ofstream f(name, ios::app|ios::beg);
//..............
    for(i=0;i<4;i++)
    {
        f<<tr[i].punkt;
        f<<tr[i].nomb;
        f<<tr[i].time;
    }
Добавлено через 42 минуты 19 секунд
Полученая программа записывает структуру TRAIN(название пункта назначения, номер поезда, время) в массив из элементов типа TRAIN; упорядочивает записи по номерам поездов. Записывает значения в файл. Выводит на экран информацию о поезде по номеру. Программа с использованием подпрограмм.
Возможно кому-то поможет в решении своих задачь текст этой программы.
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
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <fstream.h>
#include <string.h>
#include <ctype.h>
struct TRAIN{
        char punkt[20];
        int nomb;
        float time;
    };
int vvod(struct TRAIN pp[10]);
int vivod(struct TRAIN pp[10]);
int per(struct TRAIN pp[10]);
int nom(struct TRAIN pp[10]);
int main()
{   clrscr();
    int i,j,k;
    char name[20];
    cout<<"vv-te ima faila dla sozdania  -> ";
    cin>>name;
    fstream f(name, ios::app|ios::in|ios::beg);
    TRAIN tr[10];
    vvod(tr);
    per(tr);
    for(i=0;i<4;i++)
    {
        f<<tr[i].punkt;
        f<<'\n';
        f<<tr[i].nomb;
        f<<tr[i].time;
        f<<'\n';
    }
    cout<<"zapisanie struct-i "<<endl;
    nom(tr);
    for(i=0;i<4;i++)
    {
        while (!f.eof())
        {
            f.getline(tr[i].punkt,10);
        }
        cout<<tr[i].punkt<<"   "<<endl;
        f>>tr[i].nomb;
        cout<<tr[i].nomb<<"   "<<endl;
        f>>tr[i].time;
        cout<<tr[i].time<<"   "<<endl;
    }
 
    vivod(tr);
    getch();
    return (0);
}
 
    int vvod(struct TRAIN pp[10]){
        int i=0;
        for(i=0;i<4;i++)
    {
        cout<<"vv-te nazvanie puncta naznachenia  -> ";
        cin>>pp[i].punkt;
        cout<<"vv-te nomer poezda  ->  ";
        cin>>pp[i].nomb;
        cout<<"vvedite vrema otpravlenia    ->  ";
        cin>>pp[i].time;
    }
    getch();
    return(0);
    }
    int per(struct TRAIN pp[10]){
    int i=0,j=0;
    for(j=0;j<4;j++)
    {
        for(i=0;i<3;i++)
        if (pp[i].nomb>pp[i+1].nomb)
        {
               pp[8].nomb=pp[i].nomb;
               pp[7].nomb=pp[i+1].nomb;
               pp[i].nomb=pp[7].nomb;
               pp[i+1].nomb=pp[8].nomb;
               pp[8].time=pp[i].time;
               pp[7].time=pp[i+1].time;
               pp[i].time=pp[7].time;
               pp[i+1].time=pp[8].time;
               strcpy(pp[8].punkt,pp[i].punkt);
               strcpy(pp[7].punkt,pp[i+1].punkt);
               strset(pp[i].punkt,' ');
               strset(pp[i+1].punkt,' ');
               strcpy(pp[i].punkt,pp[7].punkt);
               strcpy(pp[i+1].punkt,pp[8].punkt);
        }
    }
    getch();
    return(0);
    }
 
    int vivod(struct TRAIN pp[10]){
    int i=0;
    for(i=0;i<4;i++)
        cout<<pp[i].punkt<<"    "<<pp[i].nomb<<"   "<<pp[i].time<<endl;
    getch();
    return(0);
    }
 
    int nom(struct TRAIN pp[10]){
    int k=0,i=0;
    cout<<"vv-te nomer poesda inf-u o kotorom vivesty   ->  ";
    cin>>pp[10].nomb;
    for(i=0;i<4;i++)
        if (pp[i].nomb==pp[10].nomb)
        {
            k=5;
            cout<<pp[i].punkt<<"    "<<pp[i].nomb<<"   "<<pp[i].time<<endl;
        }
    if (k==0)
    cout<<"takix poezdov net "<<endl;
    getch();
    return(0);
    }
 
Текущее время: 23:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru