1 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 34

Работа с файлами(Запись,чтение,работа с данными)

13.06.2013, 23:02. Показов 7279. Ответов 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
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
 
    ofstream File("file.dat", ios::out);
    if(! File){
        cerr<<"Файл не может быть открыт"<<endl;
        exit(1);
    }
 
    cout<<"Введите номер рейса, тип автобуса,пункт назначения,время отправления, время прибытия."<<endl;
    cout<<"Введите EOF для окончания ввода."<<endl<<"? ";
 
    int numb;
    char tip[10];
    char punkt[10];
    float time;
    float time1;
 
    while(cin>>numb>>tip>>punkt>>time>>time1){
        File<<numb<<' '<<tip<<' '<<punkt<<' '<<time<<' '<<time1<<endl;
        cout<<"? ";
    }
 
        
 
    return 0;
}

Вот, понятия не имею как считать обратно в переменные и дальше работать с ними.. Прошу помочь и растолковать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.06.2013, 23:02
Ответы с готовыми решениями:

Работа с ключами реестра: Создание, чтение, запись
Возник вопрос, какая самая простая и надёжная функция для работы с ключами реестра существует? :scratch: Речь идёт про Visual Studio 2013....

Работа с файлами
Всем добрый вечер! Есть задание : Дан текстовый файл f. Исключить все пробелы, стоящие в концах его строк. Результат поместить в файл...

Работа с файлами в C++
Имеется такая программа, которая считывает числа из файла и выводит их на экран: #include &lt;iostream&gt; #include &lt;fstream&gt; ...

2
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
14.06.2013, 01:16
клац
второй клац
третий клац
остальное сам найдешь .
2
1 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 34
27.06.2013, 00:38  [ТС]
Немного исправился..
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
struct infa
{
    int nomer;
    char tip[20];
    char punkt[20];
    int vr_ot, vr_pr;
} bf;
 
void show ()
{
cout <<"nomer: "<< bf.nomer << endl
<<"tip: "<< bf.tip << endl
<<"punkt: "<< bf.punkt << endl
<<"vremya ot: "<< bf.vr_ot << endl
<<"vremya pr: "<< bf.vr_pr << endl
<< "-------------------" << endl;
}   
 
void set ()
{
cout << "vvedite nomer: ";
cin >> bf.nomer;
cout << "vvedite tip: ";
cin >> bf.tip;
cout << "vvedite punkt: ";
cin >> bf.punkt;
cout << "vvedite vremya otpravleniya: ";
cin >> bf.vr_ot;
cout << "vvedite vremya pribitiya: ";
cin >> bf.vr_pr;
}
 
int main()
{
FILE *f;
if ( (f = fopen ("c:\\file.txt", "rb")) != 0 )               //создание чтение 
      f = fopen ("c:\\file.txt", "ab+");                     //окрыть добав
else 
      f = fopen ("c:\\file.txt", "wb+");                     // вывод
 
cout << "1 - zapishet infy\n2 - pokazat vsy infy\n3 - zadanie\n";
short int sel;
cin >> sel;
switch (sel)
    {
    case 1 : 
    {
        int count;
        cout << "Kol-vo zapiseu\? :";
        cin >> count;
        for (int i=0; i<count; i++)
        {
            set();
            fwrite (&bf, sizeof(infa), 1, f);   // запись / чтение  __что именно__, _размер_ вычисляем размер - сумму всех полей __кол-во раз, куда- в файл.
        }
    }; break;
 
    case 2 :
    {
        while (feof(f) == 0)
        {
            fread (&bf, sizeof (infa), 1, f);
            show ();
        }
    }; break;
 
    case 3 :
    {
        int nomer;
        int vr_ot, vr_pr;
        char *tip = new char;
        char *punkt= new char;
        cout<<"vvedite punkt: "; cin>>punkt; 
        cout<<"vvedite vremya pribitiya: "; cin>>vr_pr; 
        fread(&bf, sizeof (infa), 1, f);
        while (feof(f) == 0)
        {
            fread(&bf, sizeof (infa), 1, f);
            if ( (punkt == bf.punkt) && (vr_pr < bf.vr_pr) )
            {
                nomer = bf.nomer; 
                tip = bf.tip;
                punkt = bf.punkt;
                vr_ot = bf.vr_ot;
                vr_pr = bf.vr_pr;
            }     
        }
        cout << nomer << endl; 
        cout << tip << endl;
        cout << punkt << endl;
        cout << vr_ot << endl;
        cout << vr_pr <<endl;
    }; break;
    }
Прошу помочь с заданием(это цифра 3). Я что-то не так делаю..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.06.2013, 00:38
Помогаю со студенческими работами здесь

Работа с файлами
Привет. Я новичок,так что извиняюсь за глупый вопрос.Написал прогу,не работает верно. Надо написать прогу,чтобы считывала из файла 7...

работа с файлами
Введите с клавиатуры 10 чисел и запишите в файл все нечетные числа кратные 3, после чего выведите данные из файла на экран. Помогите...

Работа с файлами
Помогите, пожалуйста, решить вот такую задачу. Заранее премного благодарна. Дан файл F, содержащий координаты множества точек на...

Работа с файлами
Значит, задача - записать в файл переменную типа CUser, заданного ранее как структура, состоящая из двух переменных типа CString и одной -...

Работа с файлами
Привет всем. Для решения своей проблемы использовал поиск по форуму но ничего достойного не нашел, поэтому последняя надежда на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru