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

Выводит системную дату в файл в миллисекундах, не смотря на работу фунцкии localtime - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию http://www.cyberforum.ru/cpp-beginners/thread671488.html
Дан вектор Х из N вещественных чисел. Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию, находящую минимум среди последних элементов вектора Х, начиная с N-го.
C++ Как найти рациональные корни полинома? Ломаю голову уже пару дней, не могу понять теорему к решению этой задачи. Найти все рациональные корни полинома n-й степени с целыми коэффициентами f(x)=2*x^2+7*x^3-12*x^2-38*x+21. Теорема. Для того чтобы несократимая дробь p/q была корнем уравнения an (q!=0) xn + an-1 xn-1 + ... + a0 = 0 с целыми коэффициентами, необходимо, чтобы число р было делителем свободного члена а0, а число q –... http://www.cyberforum.ru/cpp-beginners/thread671481.html
Поиск заданной последовательности символов в бинарном файле C++
Допустим в файле написано "raz dva tri dva raz raz dva". Нужно произвести поиск и подсчёт введёной пользователем последовательности символов. Алгоритм поиска-подсчёта должен осуществляться с функцией strcmp. Среда Visual C++. Вот мой недоделанный код: #include "StdAfx.h" #include <locale.h> #include <stdio.h> #include <string> #include <iostream> using namespace std;
C++ Как считывать информация с файла по байтам
У меня есть файл, выглядит как график, hex-вид : 00000001: 80 01 00 02 00 05 00 02 00 56 80 02 00 03 00 55 00000002: 56 00 00 04 22 00 88 00 00 05 87 00 80 03 25 00 первое слово 80 01 это координата Xи все слова начинающиеся на 80 это X второе слово 00 02 это координата Y третье слово 00 05 это значение переменной А в точке XY Далее идет чередование Y и A, и так до следующей координаты X...
C++ Обработка векторов в неразветвленном цикле http://www.cyberforum.ru/cpp-beginners/thread671408.html
Помогите пожалуйста решить задачку... Задание. Составить и испытать циклическую программу для получения результата, указанного в заданном варианте задания. Всюду далее набор индексированных значений, например X1, X2, X3, … , Xn, называется вектором. Для испытания программы подберите удобные значения n, и значения элементов векторов X 7. Вектор T такой, что Tk = k Xk ; k = 1, 2, 3, … , n....
C++ [C++, OpenGL, glut] передача метода класса в качестве параметра функции glutDisplayFunc() Пишу программу для обхода бинаронго дерева поиска. Программа написана и кажется даже работает, но только в консоли. Решил выводить дерево на экран, для наглядности, используя OpenGL (как раз его в это время начал изучать). Но тут появилась проблема, оказывается нельзя передать метод класса как параметр функции glutDisplayFunc(); Пытался что-то найти в интернете, но большого успеха этого не... подробнее

Показать сообщение отдельно
lj23lj
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 34

Выводит системную дату в файл в миллисекундах, не смотря на работу фунцкии localtime - C++

15.10.2012, 11:53. Просмотров 511. Ответов 3
Метки (Все метки)

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

Заранее огромное спасибо за идеи!

заголовоный файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef lab_h
#define lab_h
 
struct Time 
{
    int hour;
    int minute;
    int second;
 
};
 
    
 
    void addcl(Time *mass0, int *max); 
    void allcl(Time * mass0,int max);
 
    
    
        
    
#endif
*********************************************************

main.cpp

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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
#include "Lab1.h"
 
 
int main(int argc, char* argv[])
{   
    setlocale(LC_CTYPE, "Russian");
    int max, func;
    FILE *fp;
    fp=fopen(argv[1],"r");        
    if(!fp)
        cout<<"Ошибка!нет файла"<<endl;
 
    fscanf(fp,"%d",&max);
    Time mass0[2];
    
    for (int i=0; i<max; i++)
    {
        fscanf(fp,"%d:%d:%d" , &mass0[i].hour, &mass0[i].minute, &mass0[i].second);
        
        
    }
    
       
        
 
    cout<<"Наши часы"<<endl;
    
    
        
    do
    {
    cout<<"\n   1. Все часы \n   2. Добавить часы \n   3. Выход\n   Выберите нужную опцию: ";  
    cin>>func;
    switch (func) 
    {
        case 1:allcl(mass0, max);
                break;
        case 2: addcl(&mass0[max],&max);
                break;
                case 3: break;              // чтоб сохранить изменения ф файле, нажмите 3
        default: cout<<"Введите нужный номер функции\n";
    }
    }
    while (func!=3);
 
    fclose(fp);
    fp=fopen(argv[1],"w");         
    fprintf(fp,"%d\n",max); 
    for (int i=0; i<max; i++)
    {
        fprintf(fp,"%d:%d:%d \n" , &mass0[i].hour, &mass0[i].minute, &mass0[i].second);
        
    }
    fclose(fp);
 
    return 0;
}
***************************************************

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
// laba1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "Lab1.h"
#include <iostream>
#include <stdio.h>
#include <time.h>
using namespace std;
 
 
 
 
    void printcurrenttime (const Time &t)
 
{
    cout<<(t.hour<10?"0":"")<<t.hour<<":"<<(t.minute<10?"0":"")<<t.minute<<":"<<(t.second<10?"0":"")<<t.second;
}
 
 
 
 
 
void addcl(Time *mass0, int *max)
{
    *max=*max+1;
    cout<<"Начинайте ввод данных(часы-минуты-секунды-город-часовой пояс) \n ";
 
    Time dtime2;
    time_t t;
    tm*temp;
    time(&t);
    temp=localtime(&t);
    dtime2.hour=temp->tm_hour;
    dtime2.minute=temp->tm_min;
    dtime2.second=temp->tm_sec;
    cout<<"Текущее время:  ";
    printcurrenttime(dtime2);
 
   mass0->hour=dtime2.hour;
   mass0->minute = dtime2.minute;
   mass0->second = dtime2.second;
 
    
    
}
 
 
void allcl(Time *mass0, int max)
{
    for (int i=0; i<max; i++) 
        cout<<"Часы № "<<i+1<<" Записанные в "<<" "<<mass0[i].hour<<":"<<mass0[i].minute<<":"<<mass0[i].second<<endl;//-выводим данные с массивов
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru