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

Работа с файлами - C++

Восстановить пароль Регистрация
 
Ксюха21
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 8
20.02.2011, 22:27     Работа с файлами #1
Добрый день! Помогите, пожалуйста с задачей -- я в С++ совсем чайник. Просто хотя бы подскажите каким методом делать или пример какой-нибудь дайте.
Надо, чтобы программа принимала 1 параметр командной строки -- имя файла, в котором содержится список дел.
Я так поняла, что это выглядит приблизительно так: (подскажите, если что не правильно)

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
#include <iostream>
#include <fstream>
#define MAX 105
using namespace std;
 int main( void )
{
    FILE *file;
    char fname[30];
    char result;
    cout << "Enter file name" << endl;
    gets (fname);
    file = fopen(fname,"r");
    if (file==0 && result != EOF) {
        cout << "Can't open file" << fname << endl;
        return 0;
    }
 
 int i=0;
     while ( i<MAX) {
         result = fgetc(file);
         cout << result;
         i++;
     }
     fclose (file);
 }
(Простите за все ужасные ошибки -- я действительно совсем новичок и делала все наобум) ->
А в файле должен быть список дел -- по одному на строку в формате:
<Начальное время> <Конечное время> <дело>. Пример:

12:30 16:40 работа
13:00 14:00 обед
16:30 17:00 встреча

А вывести программа должна в консоль время начала и конца пересечения событий и сами события, пример:

13:00 14:00 работа + обед
16:30 16:40 работа + встреча

(Я понимаю это как структуру, но не знаю как связать считывание с файла и работу со структурными элементами).
Помогите, пожалуйста, заранее огромное спасибо!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 22:27     Работа с файлами
Посмотрите здесь:

Работа с файлами C++
Работа с файлами C++
C++ Работа с файлами
Работа с файлами. C++
Работа с файлами C++
C++ Работа с файлами
работа с файлами C++
Работа с файлами С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.02.2011, 06:05     Работа с файлами #2
Цитата Сообщение от Ксюха21
Надо, чтобы программа принимала 1 параметр командной строки -- имя файла
C
1
int main(int argc, char *argv[])
C
1
2
    if (argc > 1)
        printf("%s\n", argv[1]);
argv[1] можно передавать в fopen()

время можно переводить в секунды, чтобы удобнее сравнивать и вычислять продолжительность

похоже это пересечения
из этого
12:30 16:40 работа
13:00 14:00 обед
16:30 17:00 встреча

получилось это
13:00 14:00 работа + обед
16:30 16:40 работа + встреча


структура может быть такой
C
1
2
3
4
5
6
7
8
struct time {
    int hour, min;
};
 
struct arrang {
    struct time start, end;
    char name[NAMESIZE];
};
подводный камень - это пересечение всех дел, имена начнут заполнять name[] и оно может переполниться
в то же время нельзя делать громадный размер для name, так как структура arrang подразумевает хранение одного дела
на первых порах можно просто проверять массив на переполнение, на вторых же придётся делать динамическое выделение памяти

у тебя код по большей части сделан на C, на C++ он вообще по-другому делается (думаю, ты не поймёшь код на C++)
Yandex
Объявления
21.02.2011, 06:05     Работа с файлами
Ответ Создать тему
Опции темы

Текущее время: 17:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru