Come prima cosa mi scuso per il titolo assurdo, ma non sapevo come descrivere brevemente questo programmino...
A cosa serve?
In poche parole questo programmino serve per tener conto di quanto tempo è rimasto accesso il vostro pc.
Personalmente lo utilizzo per controllare quanto tempo spendo davanti allo schermo ogni settimana.
Come funziona?
Semplice! Prende il tempo da quando è stato avviato il sistema e lo salva in un documento di testo che potrete consultare quando volete.
Ovviamente dovrete apreire il file manualmente (oppure metterlo nella lista dei file all'avvio) e anche salvare il tempo
Aiuto!
Il programma che avevo in mente sarebbe stato a grandi linee questo, (ma a causa delle mie scarse conoscenze informatiche non ho potuto realizzarlo):
Registrare autaomaticamente il tempo.(cioè senza fare "salva il tempo" oppure "salva il tempo e spegni il pc").
Io avrei avuto in mente di fare cosi: aggiornare il file che tiene conto del tempo (log.txt) ogni tot di minuti (ad esempio 5) e quindi sovrascrivere il tempo precedente con quello aggiornato.
Siete tutti invitati a modificare e soprattutto migliorare questo programmino e poi caricare in questo thread il codice modificato. PS: le critiche sono ben accette
Bando alle ciance, ecco il codice: Il codice
#include <iostream>
#include <fstream> //header necessario per ofstream!
#include <ctime>
#include <Windows.h>
using namespace std;
int main()
{
unsigned long long ms=0;
float exp=0.0000167,ris=0; //exp è il fattore per convertire da millisecondi a minuti. In forma scientifica sarebbe 1,67×10^(-5)
time_t ct;
ct = time(NULL);
int menu,dec;
ofstream f("log.txt", ios::app); //apre il file in modalità append, lasciando intatto quello che c'è e scrivendo alla fine
if(!f)
{
cout<<"Errore nell'apertura del file!";
return -1;
}
f << "--------NUOVO AVVIO--------"<<endl<< ctime(&ct);
f.close(); //chiudo il file
do
{
system("cls");
cout<<endl;
cout<<"Premi 1 per salvare il tempo e spegere il pc"<<endl<<"Premi 2 per visulizzare il tempo"<<endl<<"Premi 3 per salvare solamente il tempo"<<endl<<"Premi 4 per uscire senza fare niente"<<endl;
cout<<"La tua scelta: ";
cin>>menu;
switch (menu)
{
case 1:
{
ms=GetTickCount(); //restituisce il risultato in millisecondi
ris=ms*exp;
ofstream g("log.txt", ios::app); //apre il file in modalità append, lasciando intatto quello che c'è e scrivendo alla fine
if(!g)
{
cout<<"Errore nell'apertura del file!";
return -1;
}
g << "Hai spento il pc " << ris << " minuti dall'avvio." << endl; //l'endl indica che ogni cosa viene scritta a capo, se fosse omesso scriverebbe tutto su una linea
g.close(); //chiudo il file
cout<<"Scrittura avvenuta con successo!"<<endl;
system("shutdown -s -t 59");
cout<<"Il sistema verrà arrestato tra 50 secondi,"<<endl<<" puoi interrompere l'arresto inserndo il comando shutdown -a nel cmd";
system("pause");
}
break;
case 2:
{
system("cls");
ms=GetTickCount(); //restituisce il risultato in millisecondi
ris=ms*exp;
cout<<endl<<"Il pc e' accesso da "<<ris<<" minuti"<<endl;
system("pause");
}
break;
case 3:
{
ms=GetTickCount(); //restituisce il risultato in millisecondi
ris=ms*exp;
//cout<<"Il sistema e' stato avviato da "<<ris<< " minuti"<<endl;
ofstream h("log.txt", ios::app); //apre il file in modalità append, lasciando intatto quello che c'è e scrivendo alla fine
if(!h)
{
cout<<"Errore nell'apertura del file!";
return -1;
}
h << "Hai salvato il tempo " << ris << " minuti dall'avvio." << endl; //l'endl indica che ogni cosa viene scritta a capo, se fosse omesso scriverebbe tutto su una linea
h.close(); //chiudo il file
cout<<"Il tempo e' stato salvato con successo";
system("pause");
}
break;
case 4: {return 0;}
break;
default : cout << "Errore!";
}
dec=0;
}while(dec==0);
return 0;
}