Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 15.11.2015, 21:33   #1
nikolokaputik80
Пользователь
 
Регистрация: 01.10.2015
Сообщений: 74
По умолчанию Перевод времени из - 2:10 в - 130 секунд

Привет, может есть у кого программка (exe)
которая может сделать такое!

есть текстовый файл - time.txt

внутри такие записи

05:01
28:29
10:00
07:00
04:09
04:40
05:05
11:01


мне нужно пересчитать все это в секундах и записать обратно в файл
в таком виде!

301
1709
600
420
249
289
305
661


может что поможет, может у кого уже есть такая прожка поделитесь пожалуйста, спасибо!
nikolokaputik80 вне форума Ответить с цитированием
Старый 15.11.2015, 22:19   #2
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 5,430
По умолчанию

Да просто пишете такой код в main:
Код:
int a, b;
char ch;
while (cin >> a >> ch >> b)
    cout << 60 * a + b << endl;
Компилируете и вызываете "prog.exe < time.txt > time2.txt".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 15.11.2015, 22:34   #3
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

консоль, или оконное приложение? Только минуты:секунды, или еще часы есть?
SAMOUCHKA вне форума Ответить с цитированием
Старый 15.11.2015, 23:52   #4
nikolokaputik80
Пользователь
 
Регистрация: 01.10.2015
Сообщений: 74
По умолчанию

бывает в txt файле
такого вида

05:01
29:16
1:30:36


в пересчете должно выйти так!

301
1756
126



да иногда встречается и такого рода дата
1:30:36

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

у меня текстовик - time.txt
nikolokaputik80 вне форума Ответить с цитированием
Старый 16.11.2015, 00:04   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,971
По умолчанию

Цитата:
Сообщение от nikolokaputik80 Посмотреть сообщение
если есть exe прожка которая преобразует такой текстовик в текстовик с пересчетом в секунды то просто супер
Да нету таких готовых прожек. Слишком узкая задачка, чтобы писать такую "прожку" с наворотами. Лучше приведите полные форматы встречающиеся в файле и что при этом должно получиться. Может Ваша "прожка" на "одну трубку", как говорил известный сыщик.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 16.11.2015, 00:11   #6
nikolokaputik80
Пользователь
 
Регистрация: 01.10.2015
Сообщений: 74
По умолчанию

пример текстовика привел выше вашего поста!

есть тестовик с именем time.txt

в нем куча записей такого вида
05:01
29:16
1:30:36
каждая запись с новой строки!

нужно перевести эти записи в секунды, на выходе должно быть такое!


301
1756
126
nikolokaputik80 вне форума Ответить с цитированием
Старый 16.11.2015, 00:47   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Чего одно и то же? Зациклился? Вон в #2 почти готовый исходник. Добавь еще обработку часов и будет полное счастье. exe прожки-порожки точно не найдешь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.11.2015, 01:19   #8
nikolokaputik80
Пользователь
 
Регистрация: 01.10.2015
Сообщений: 74
По умолчанию

у меня нет компилятора!

Код:
int a, b;
char ch;
while (cin >> a >> ch >> b)
    cout << 60 * a + b << endl;
nikolokaputik80 вне форума Ответить с цитированием
Старый 17.11.2015, 22:13   #9
chipside
Форумчанин
 
Регистрация: 03.08.2013
Сообщений: 208
По умолчанию

Вообще-то у меня Линукс и g++.
Кстати, можешь скачать mingv себе на винду.
программа в подкаталоге относительно входного и выходного файла.
Код:
#include <iostream>
#include <fstream>

using namespace std;

void char_to_int ( const int size, const string s, int &a, int &b, int &c ) {
    for
    (
     int x = 0;
     x < size;
     x++
    )
    {
        switch (s[x]) {
            case '0': b = 0; break;
            case '1': b = 1; break;
            case '2': b = 2; break;
            case '3': b = 3; break;
            case '4': b = 4; break;
            case '5': b = 5; break;
            case '6': b = 6; break;
            case '7': b = 7; break;
            case '8': b = 8; break;
            case '9': b = 9; break;
            case ':': a *= 60; b = 0; c = 0; break;
        };
        if ( s[x - 1] && (
                 s[x - 1] == '0'
                    ||
                 s[x - 1] == '1'
                    ||
                 s[x - 1] == '2'
                    ||
                 s[x - 1] == '3'
                    ||
                 s[x - 1] == '4'
                    ||
                 s[x - 1] == '5'
                    ||
                 s[x - 1] == '6'
                    ||
                 s[x - 1] == '7'
                    ||
                 s[x - 1] == '8'
                    ||
                 s[x - 1] == '9') ) {
            c *= 10;
            c += b;
            a += c;
        } else if ( s[x - 1] && s[x - 1] == ':' ) {
            c = b;
        } else {
            c = b;
        };
    };
    cout << "a = " << a << endl;
    ofstream u;
    u.open("../data.log", ios_base::app);
    u << a << '\n' << '\r';
    u.close();
    return;
}

int main(void)
{
    const char filename[12] = "../time.txt";
    int a = 0, b = 0, c = 0, size = 0;
    string s;
    ifstream i;
    i.open(filename, ios_base::in);
    while (!i.eof()) {
        i >> s;
        cout << "\t\t" << s << endl;
        size = s.size();
        char_to_int ( size, s, a, b, c );
        s = " ";
        a=b=c=0;
    };
    i.close();

    return 0;
}
chipside вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод ГРАДУСов, МИНУТ и СЕКУНД угла в десятичную дробь egoregor Общие вопросы C/C++ 0 18.10.2014 12:42
Вывод системного времени на экран через каждые 5 секунд royal_king Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 03.11.2011 16:14
Программа: Определить число нажатий клавиш Ctrl за заданный интервал времени не больше 20 секунд (asm) reg7 Фриланс 1 07.01.2011 19:48
Delphi, перевод секунд в минуты bad_patefa Помощь студентам 8 19.10.2010 18:17
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 20:23


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS