[C++] Mały program backup'ujący foldery / kopiowanie plików co tydzień
Ostatnio zmodyfikowano 2014-06-30 19:22
kafus Temat założony przez niniejszego użytkownika |
[C++] Mały program backup'ujący foldery / kopiowanie plików co tydzień » 2014-06-30 17:45:06 Witam, Próbuje napisać mały program, który ma za zadanie kopiować określone foldery (pliki) do innej lokacji co tydzień ( w tym przypadku wybrałem wtorek). #include <iostream> #include <conio.h> #include <windows.h> #include <fstream>
using namespace std;
string tydzien[] = { "Poniedzialek", "Wtorek", "Sroda", "Czwartek", "Piatek", "Sobota", "Niedziela" };
int liczbaDni[] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
int przestepny( int rok ) { return(( rok % 4 == 0 && rok % 100 != 0 ) || rok % 400 == 0 ); }
int dzienTygodnia( int dzien, int miesiac, int rok ) { int dzienRoku; int yy, c, g; int wynik; dzienRoku = dzien + liczbaDni[ miesiac - 1 ]; if(( miesiac > 2 ) &&( przestepny( rok ) == 1 ) ) dzienRoku++; yy =( rok - 1 ) % 100; c =( rok - 1 ) - yy; g = yy +( yy / 4 ); wynik =((((( c / 100 ) % 4 ) * 5 ) + g ) % 7 ); wynik += dzienRoku - 1; wynik %= 7; return wynik; }
int main() { SYSTEMTIME st; GetLocalTime( & st ); int dzienLAST = st.wDay; int miesiacLAST = st.wMonth; int rokLAST = st.wYear; cout << "Dzisiaj jest: " << dzienLAST << "-" << miesiacLAST << "-" << rokLAST << endl << endl; string tydzien; if( dzienLAST == tydzien[ 1 ] ) { cout << "Dzisiaj jest wtorek- dzien na kopie danych. Prosze czekac." << endl; cout << "Tworzenie nowego katalogu" << endl; system( "Mkdir e:\\backup_%date%\\test" ); cout << "utowrzono nowy katalog" << endl; system( "xcopy c:\\test e:\\backup_%date%\\test /e" ); cout << "Tworzenie nowego katalogu" << endl; system( "Mkdir e:\\backup_%date%\\test2" ); cout << "utowrzono nowy katalog" << endl; system( "xcopy c:\\test2 e:\\backup_%date%\\test2 /e" ); cout << "Gotowe. Mozna zamknac to okno. Milego dnia" << endl; } else { cout << "Kopie danych wykonywane sa tylko we wtorki. Mozna zamknac to okno."; return 0; } return 0; }
Zmieniłem kod, który znalazłem gdzieś w internetach. Problem jest (chyba) tutaj: if( dzienLAST == tydzien[ 1 ] )
Nie umiem ustalić gdzie jest ten Wtorek :) zawsze program odpowiada mi: cout << "Kopie danych wykonywane sa tylko we wtorki. Mozna zamknac to okno.";
|
|
pekfos |
» 2014-06-30 17:53:43 Problem jest (chyba) tutaj:
if( dzienLAST == tydzien[ 1 ] )
|
Ta linia nie ma żadnego sensu. Kompiluje się przez zbieg okoliczności. |
|
kafus Temat założony przez niniejszego użytkownika |
» 2014-06-30 18:13:01 Ok. Tak też podejrzewam, ale w takim razie jak "wyciagnąć" Wtorki? |
|
pekfos |
» 2014-06-30 18:25:30 dzienTygodnia() zwraca 1 dla wtorku. |
|
kafus Temat założony przez niniejszego użytkownika |
» 2014-06-30 19:07:09 hmmm... Kombinuje z tym dzienTygodnia(), ale dalej nie wychodzi tak jak bym chciał. Mógłbyś napisać rozwiązanie? |
|
pekfos |
» 2014-06-30 19:22:20 wynik = dzienTygodnia( d, m, r );
|
|
|
« 1 » |