000
23.11.2014, 17:29 Uhr
~cashev
Gast
|
Guten Abend mitglieder, ich bin neu hier & hab in der SuFu nix gefunden.
ich wollte eine Stoppuhr programmieren. (ja, ich weis, es gibt genug anleitungen, aber wollte eine spezielle uhr programmieren)
meine Idee: Aktuelle uhrzeit auslesen, Ziel uhrzeit eingeben, (am selben tag, bis max mitternacht), uhr laufen lassen.
Meine Fehler: - wenn wir z.b. 17 Uhr haben, und ich gebe ein, das die uhr bis 18 laufen soll (60 min) tut sie aber bis 19 uhr laufen - Wenn die uhr noch z.b. 4 std. laufen muss wird nicht 4 std angezeigt sondern 3 std. 60 min.
code (c++)
C++: |
#include <iostream> #include <fstream> #include <ctime> #include <string> #include <cstring> #include <sstream> #include <iostream> #include <time.h> #include <windows.h> using namespace std;
int main() {
int sec, min, min1, min_erg, ErgMin=0, Ges_Min, HinM, std, std1, std_erg, ErgStd=0, tag, monat, jahr; char punkt = ',';
anfang: system("cls"); time_t now = time(0); tm localTime; now = time(NULL); localtime_s(&localTime, &now);
sec = (&localTime)->tm_sec; min = (&localTime)->tm_min; std = (&localTime)->tm_hour; tag = (&localTime)->tm_mday; monat = (&localTime)->tm_mon; jahr = (&localTime)->tm_year;
cout << "Aktuelles Datum: \n" << tag << "." << monat + 1 << "." << jahr + 1900;
if (min <= 9){ cout << "\n\nAktuelle Uhrzeit: \n" << std << ":0" << min << "." << sec << " Uhr"; } else { cout << "\n\nAktuelle Uhrzeit: \n" << std << ":" << min << "." << sec << " Uhr"; }
cout << "\n\nbis wohin soll die stoppuhr laufen (max. mitternacht)?"; cout << "\n\nstd und min (z.b. 23,59): "; cin >> std1 >>punkt>> min1; if ((std1 < 0 || std1 >= 24)||std1<std ){ goto anfang; }
if ((min1 < 0 || min1 >= 60)||((min1<min)&&std1<=std)) { goto anfang; } if (min1 == 0 && std1 == 0){ goto anfang;}
std_erg = std1-std; min_erg = min-min1; //if (std1 - 1 == std){std_erg--; }
if (min_erg < 0){ min_erg = min_erg*-1; }
cout << "Rest: "<<std_erg<<" std. und "<<min_erg<<" min\n"; HinM = std_erg * 60; Ges_Min = HinM + min_erg; cout << Ges_Min << "GesM\n\n";
ErgStd = std_erg; ErgMin = min_erg;
cout << ErgStd <<"H"<< ErgMin<<"M\n";
for (int i = 0; i <= Ges_Min; i++){
if (ErgMin == 0 && ErgStd >= 1){ ErgMin = 60; ErgStd--; }
if (ErgStd >= 1){ if (min<=9) { cout << "Rest: " << ErgStd << " Std " << ErgMin << " min \t (" << std1 << "h 0" << min1 << "m)\n"; } else { cout << "Rest: " << ErgStd << " Std "<<ErgMin<<" min\t\t (" << std1 << "h " << min1 << "m)\n"; } }
else {
if (min <= 9){ cout << "Rest: " << ErgMin << " min \t (" << std1 << "h 0" << min1 << "m)\n"; } else{ cout << "Rest: " << ErgMin << " min \t (" << std1 << "h " << min1 << "m)\n"; } }
ErgMin--; if (ErgMin == 0 && ErgStd == 0) { cout << "\n\nende\n"; /* Beep(1000, 200); */ }
Sleep(60000); } return 0;
}
|
ich hoffe ihr könnt mir helfen, ich blick nicht mehr durch |