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

не получается сделать - C++

Восстановить пароль Регистрация
 
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
25.05.2011, 20:48     не получается сделать #1
Господа програмисты делаю программу,смысл заключается в следующим-
программа должна заносить в текстовый документ-
1)време когда запустилась ОС
2)време в минутах сколько раьотала машина
3)време отключение машины
Делаю таким образом- в 1 тхт заношу време включение компа,во втором тхт через каждую минуту идет счёт минут и обновляется време,при перезагрузке или выключение компа,инфа из 2 копируется в первый тхт,таким образом получаем общие сведения о включении,времени работы,и выключении.
Но при первом запуске компьютера таймер работает,а при следующих нет,и копирование из 2 в 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <time.h> 
#include<iostream>
using namespace std;
int main()
{
 int a;
a=-1;
    FreeConsole();
        HKEY hKey;
 char szPath[0x100];
 GetModuleFileName(NULL, szPath, sizeof(szPath));    
 RegCreateKeyEx(HKEY_LOCAL_MACHINE,                     "Software\\Microsoft\\Windows\\CurrentVersion\\Run",                     NULL,                     "",                     REG_OPTION_NON_VOLATILE,                     KEY_SET_VALUE,                     NULL,                     &hKey,                     NULL);
 if (hKey)    {        RegSetValueEx(hKey, "info", NULL, REG_SZ, (LPBYTE)szPath, strlen(szPath));        RegCloseKey(hKey);    }
  freopen("2.txt", "a", stdout);
  std::cout<<"Start Windows --->";
  time_t t = time(NULL);
        printf("%s", ctime(&t));
fclose(stdout);
//1
 freopen("1.txt","r",stdin);
    freopen("2.txt","a",stdout);
    for(char c;!feof(stdin);printf("%c",c))
        scanf("%c",&c);
fclose(stdin);
fclose(stdout);
system("del 1.txt");
 //2
 for(;;){
  a++;
  freopen("1.txt", "w", stdout);
  std::cout<<"Times Works --->" <<a <<" Minutes" <<"\n";
  time_t t = time(NULL);
        printf("%s", ctime(&t));
        cout<<"Is Exit Windows..";
fclose(stdout);
        Sleep(60000);}
        return 0;
        }
Добавлено через 1 час 29 минут
ладно буду копаться сам,спасибо тем кто хоть посмотрели тему!

Добавлено через 21 час 37 минут
господа програмисты если кому интересно,я нашёл в чём была ошибка-
при записи,копирование и тд. когда запускаеш файл,программа записывает в тот файл,в какой папке лежит сама программа,а при перезапуске ОС,она не находит куда и в какой .тхт это записывать,проблема решается очень просто-надо указывать путь к файлу.
выкладываю исходник для тех кто заинтересовался
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
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <time.h> 
using namespace std;
int main()
{
 int a;
a=-1;
    FreeConsole();
        HKEY hKey;
 char szPath[0x100];
 GetModuleFileName(NULL, szPath, sizeof(szPath));    
 RegCreateKeyEx(HKEY_LOCAL_MACHINE,                     "Software\\Microsoft\\Windows\\CurrentVersion\\Run",                     NULL,                     "",                     REG_OPTION_NON_VOLATILE,                     KEY_SET_VALUE,                     NULL,                     &hKey,                     NULL);
 if (hKey)    {        RegSetValueEx(hKey, "info", NULL, REG_SZ, (LPBYTE)szPath, strlen(szPath));        RegCloseKey(hKey);    }
//1
 freopen("c:\\info\\1.txt","r",stdin);
    freopen("c:\\info\\2.txt","a",stdout);
    for(char c;!feof(stdin);printf("%c",c))
        scanf("%c",&c);
fclose(stdin);
fclose(stdout);
//q
  freopen("c:\\info\\2.txt", "a", stdout);
  std::cout<<"Start Windows --->";
  time_t t = time(NULL);
        printf("%s", ctime(&t));
fclose(stdout);
 
 //2
 for(;;){
  a++;
  freopen("c:\\info\\1.txt", "w", stdout);
  std::cout<<"Times Works --->" <<a <<" Minutes" <<"\n";
  time_t t = time(NULL);
        printf("%s", ctime(&t));
        cout<<"Is Exit Windows..\n";
cout<<"____________________________________\n";
fclose(stdout);
        Sleep(60000);}
        return 0;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2011, 20:48     не получается сделать
Посмотрите здесь:

C++ не получается сделать задание с оператором ->
Не получается сделать 3 класса шаблонными. C++
Все не получается сделать C++
Нужно сделать таймер но не получается C++
C++ Не получается сделать задачу
C++ Не получается сделать переполнение буфера
Не получается сделать Hello World С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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