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

Для каждого поезда сделать путь и платформу и напечатать обратно в файл

30.09.2013, 22:08. Показов 547. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, помогите...ни как не могу записать в файл. Где то ошибка((

вот вся моя задача, суть в том что, он должен считать с 2 файлов, в одном расписание поездов(номер поезда, время прибытия, отбытия. номер и тд) в другом файле(номер пути и платформы) и нам нужно для каждого поезда сделать путь и платформу и напечатать обратно в файл

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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
// dfd.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
struct Period
{
    int hour_arrive;
    int minutes_arrive;
    int hour_leave;
    int minutes_leave;
    int timeinminutes_arrive;
    int timeinminutes_leave;
};
 
struct Way
{
    int number_way;
    int number_platf;
};
 
struct Train
{
    int number;
    char type;
    char city[40];
    Way* way; 
    Period p;
};
 
 
void enter_trains(Train *A, FILE *file, int N)
{
    int i=0;
    while (!feof(file))
    {
        fscanf(file, "%d", &A[i].number);
        fscanf(file, "%c", &A[i].type);
        fscanf(file, "%c", &A[i].type);
        fscanf(file, "%s", A[i].city);
        fscanf(file, "%d", &A[i].p.hour_arrive);
        fscanf(file, "%d", &A[i].p.minutes_arrive);
        fscanf(file, "%d", &A[i].p.hour_leave);
        fscanf(file, "%d", &A[i].p.minutes_leave);  
        A[i].way=NULL;
        i++;
    }
    N=i;
}
 
 
void enter_ways(Way *way, FILE *file1, int N1)
{
    int j=0;
    while (!feof(file1))
    {
        fscanf(file1, "%d", &way[j].number_way);
        fscanf(file1, "%d", &way[j].number_platf);
        j++;
    } 
    N1=j;
}
    
 
void get_skor(Train *A, int N, Train *S, int chislo_s)
{
    int z=0, i;
    for(i=0; i<N; i++)
    {
        if(A[i].type=='s')
        {
            S[i-z]=A[i];
            z++;
        }
    }
    chislo_s=z;
}
 
 
void get_pas(Train *A, int N, Train *P, int chislo_p)
{
    int z=0, i;
    for(i=0; i<N; i++)
    {
        if(A[i].type=='p')
        {
            P[i-z]=A[i];
            z++;
        }
    }
    chislo_p=z;
}
 
 
int main()
{
    int N=0, i, N1=0, j, chislo_p=0, u=0, chislo_s=0;
    FILE *file, *file1, *file2;
    Train A[10], S[10], P[10];
    Way way[10];
    file = fopen("1234.txt", "rt");
    if(file==NULL)
        printf("file is not found");
    else
        enter_trains(A, file, N);
    fclose(file);
    file1 = fopen("way.txt", "r");
    if(file==NULL)
       printf("file is not found");
    else
        enter_ways(way, file, N1);
    fclose(file1);
    for(i=0; i<N; i++)
    {
        A[i].p.timeinminutes_arrive=(A[i].p.hour_arrive*60)+A[i].p.minutes_arrive;
        A[i].p.timeinminutes_leave=(A[i].p.hour_leave*60)+A[i].p.minutes_leave;
    }
    get_skor(A, N, S, chislo_s);
    get_pas(A, N, P, chislo_p);
    for(i=0; i<chislo_s; i++)
    {
        j=0;
        S[i].way[i].number_way=way[j].number_way;
        S[i].way[i].number_platf=way[j].number_platf;
        if(S[i].p.timeinminutes_leave>=S[i+1].p.timeinminutes_arrive)
            i++;
    }
    for(j=1; j<=N1; j++)
    {
        for(i=0; i<chislo_p/N1; i++)
        {
            P[i+u].way[i+u].number_way=way[j].number_way;
            P[i+u].way[i+u].number_platf=way[j].number_platf;
            if((P[i+u].p.timeinminutes_leave>=P[i+u+1].p.timeinminutes_arrive) && (i+1<chislo_p/N1))
                i++;
        }
        u+=chislo_p/N1;
    }
    file2 = fopen("555.txt", "w");
    if(file2==NULL)
        printf("file is not found");
    else
        for(i=0;i<chislo_s;i++)
        {
            fprintf(file2, "%d \n ", S[i].number);
            fprintf(file2, "%c", S[i].type);
            fprintf(file2, "%s", S[i].city);
            fprintf(file2, "%d", S[i].p.hour_arrive);
            fprintf(file2, "%d", S[i].p.minutes_arrive);
            fprintf(file2, "%d", S[i].p.hour_leave);
            fprintf(file2, "%d", S[i].p.minutes_leave);         
            fprintf(file2, "%d", S[i].way[i].number_way);
            fprintf(file2, "%d", S[i].way[i].number_platf);
        } 
        for(i=0;i<chislo_p;i++)
        {
            fprintf(file2, "%d \n", P[i].number);
            fprintf(file2, "%c", P[i].type);
            fprintf(file2, "%s", P[i].city);
            fprintf(file2, "%d", P[i].p.hour_arrive);
            fprintf(file2, "%d", P[i].p.minutes_arrive);
            fprintf(file2, "%d", P[i].p.hour_leave);
            fprintf(file2, "%d", P[i].p.minutes_leave);         
            fprintf(file2, "%d", P[i].way[i].number_way);
            fprintf(file2, "%d", P[i].way[i].number_platf);
        } 
        fclose(file2);
        getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2013, 22:08
Ответы с готовыми решениями:

Структура Train, определить для каждого поезда процент заполнения вагонов
Ребята, помогите, пожалуйста, определить для каждого поезда процент заполнения вагонов и посчитать...

Найти тормозной путь поезда
Здравствуйте. Помогите решить задачу: поезд тормозит с ускорением а, и его тормозной путь равен s....

Файл: Как можно сделать запись в файл через указанный путь?
Как можно сделать запись в файл через указанный путь? Вот код для записи в ресурсы. Нужно...

Вывести среднюю скорость каждого поезда
Надо посчитать и вывести среднюю скорость каждого поезда...несколько дней думала так и не...

1
9 / 9 / 1
Регистрация: 28.03.2013
Сообщений: 82
30.09.2013, 22:12 2
Это С. Не С++.
Или я не прав?
0
30.09.2013, 22:12
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2013, 22:12
Помогаю со студенческими работами здесь

Составить дифференциальное уравнение и вычислить тормозной путь поезда при торможении на спуске
Скласти диференційне рівняння та обчислити гальмівний шлях потягу при гальмуванні на спуску, якщо...

Каков тормозной путь поезда? Через какое время после начала торможения он остановится?
Поезд движется прямолинейно со скоростью Vo= 180 км\ч. Внезапно на пути возникает препятствие, и...

Рассчитать и напечатать оплату за парковку для каждого из клиентов
Написать программу в Delphi, которая должна рассчитать и напечатать оплату за парковку для каждого...

Напечатать для каждого числа от M до N его минимальный делитель
Помогите с задачкой. Надо напечатать для каждого числа от M до N его минимальный делитель, не...

Для каждого магазина напечатать список 3-х наиболее дорогих товаров
Известны цены на 10 одинаковых товаров в каждом из 8 магазинов. Для каждого магазина напечатать...

Напечатать в возрастающем порядке все цифры для каждого слова
Дана непустая последовательность слов из строчных русских букв и цифр, между соседними словами -...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
NoSQL базы данных: что это такое и какие существуют
bytestream 22.01.2025
В современную эпоху цифровой трансформации объемы данных растут экспоненциально, создавая новые вызовы для традиционных систем управления базами данных. NoSQL (Not Only SQL) представляет собой. . .
Обновление исследования от команды MCM (январь 2025 г.)
Programma_Boinc 22.01.2025
Обновление исследования от команды MCM (январь 2025 г. ) Мы продолжаем изучать молекулярные сигнатуры, связанные с раком легких, с текущим фокусом на GCM1, факторе транскрипции, участвующем в. . .
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru