Elejdor Temat założony przez niniejszego użytkownika |
Ćwiczenie 12.6 » 2010-09-20 14:07:13 Jak zrobić odliczanie po zegarach znajdujących się w case 4 i na końcu programu? Dlaczego wywala błąd jak wstawię default: break; po case 4 (tylko wtedy gdy znajduje się tam zegar)? Jak dodać sprawdzanie czy podana wartość była liczbą?
#include <iostream> #include <conio.h> #include "console.ddt" #include <ctime>
using namespace std; using namespace ddt::console;
int main() { char biale_znaki[ 50 ] = " "; int txtcolor = 8; int wybor; char koniec; textcolor( txtcolor ); char menu1[ 7 ][ 6 ][ 200 ] { { "Panel administracyjny", "\nCo chcesz zrobic? ", }, { "1. Czytaj logi", "2. Usun temat", "3. Lista oczekujacych prac", "4. Przerwa", "5. Koniec", }, { "Jakies glupoty bedace logami\n" "Inne glupoty\n" "Koniec glupot, lecimy dalej.\n" }, { "Tematy do usuniecia:", "Temat 1", "Temat 2", "Temat 3", }, { "Prace do sprawdzenia:", "Praca 1", "Praca 2", "Praca 3", "Praca 4", }, { "Ile minut zajmie Ci przerwa?\n", "Niestety przerwa juz minela, czas wracac do pracy", }, { "Koniec na dzisiaj, do jutra!", "Program zamknie sie za ", }, }; do { system( "cls" ); gotoxy( 30, 1 ); cout << menu1[ 0 ][ 0 ]; txtcolor = 2; textcolor( txtcolor ); gotoxy( 15, 2 ); cout << menu1[ 1 ][ 0 ]; gotoxy( 15, 3 ); cout << menu1[ 1 ][ 1 ]; gotoxy( 15, 4 ); cout << menu1[ 1 ][ 2 ]; gotoxy( 45, 2 ); cout << menu1[ 1 ][ 3 ]; gotoxy( 45, 3 ); cout << menu1[ 1 ][ 4 ]; gotoxy( 1, 5 ); cout << menu1[ 0 ][ 1 ]; again: ( cin >> wybor ).get(); switch( wybor ) { case 1: cout << endl << menu1[ 2 ][ 0 ] << "\n\nPress ENTER to return"; getch(); break; case 2: cout << endl << menu1[ 3 ][ 0 ] << endl; cout << menu1[ 3 ][ 1 ] << biale_znaki << menu1[ 3 ][ 2 ] << biale_znaki << menu1[ 3 ][ 3 ] << "\n\nPress ENTER to return."; getch(); break; case 3: cout << endl << menu1[ 4 ][ 0 ]; cout << menu1[ 4 ][ 1 ] << biale_znaki << menu1[ 4 ][ 2 ] << endl << menu1[ 4 ][ 3 ] << biale_znaki << menu1[ 4 ][ 4 ] << "\n\nPress ENTER to return."; getch(); break; case 4: cout << menu1[ 5 ][ 0 ]; float min; ( cin >> min ).get(); clock_t koniec =( min * 60 ) * CLOCKS_PER_SEC; clock_t start = clock(); cout << "Koniec przerwy za " << min << " minut." << endl; while( clock() - start < koniec ); cout << menu1[ 5 ][ 1 ] << endl << "\nPress enter to return"; getch(); break; }; } while( wybor != 5 ); float sec = 5; clock_t koniec2 = sec * CLOCKS_PER_SEC; clock_t start2 = clock(); while( clock() - start2 < koniec2 ) cout << clock(); ; }
|
|
ThudPoland |
» 2010-09-20 14:28:12 Co co znaków i "wykrywania" liczb - looknij na tą tabelę - rozwiązanie samo się nawinie jeżeli popatrzysz na to logicznie: Tabela ASCII. Algorytm zamieniania znaków na stringi też jest łatwy do napisania, albo użyj gotowego. Poszukaj. |
|
Elejdor Temat założony przez niniejszego użytkownika |
» 2010-09-20 15:16:15 Nadal pozostają kłopoty z zegarami. Nie mogę po nich umieścić default ani kolejnego case. |
|
DejaVu |
» 2010-09-20 18:41:03 |
|
Elejdor Temat założony przez niniejszego użytkownika |
» 2010-09-21 16:52:44 Jak dodać odliczanie do zegarów? Chcę żeby wyświetlało się: Program zakończy pracę za 3, 2, 1. Analogicznie przy przerwie. #include <iostream> #include <conio.h> #include "console.ddt" #include <ctime> #include <cctype> using namespace std; using namespace ddt::console;
int main() { float min; char biale_znaki[ 50 ] = " "; int txtcolor; char wybor; char koniec; textcolor( txtcolor ); char menu1[ 7 ][ 6 ][ 200 ] { { "Panel administracyjny", "\nCo chcesz zrobic? ", }, { "1. Czytaj logi", "2. Usun temat", "3. Lista oczekujacych prac", "4. Przerwa", "5. Koniec", }, { "Jakies glupoty bedace logami\n" "Inne glupoty\n" "Koniec glupot, lecimy dalej.\n" }, { "Tematy do usuniecia:", "Temat 1", "Temat 2", "Temat 3", }, { "Prace do sprawdzenia:", "Praca 1", "Praca 2", "Praca 3", "Praca 4", }, { "Ile minut zajmie Ci przerwa?\n", "Niestety przerwa juz minela, czas wracac do pracy", }, { "Koniec na dzisiaj, do jutra!", "Program zamknie sie za ", }, }; do { txtcolor = 8; textcolor( txtcolor ); system( "cls" ); gotoxy( 30, 1 ); cout << menu1[ 0 ][ 0 ]; txtcolor = 2; textcolor( txtcolor ); gotoxy( 15, 2 ); cout << menu1[ 1 ][ 0 ]; gotoxy( 15, 3 ); cout << menu1[ 1 ][ 1 ]; gotoxy( 15, 4 ); cout << menu1[ 1 ][ 2 ]; gotoxy( 45, 2 ); cout << menu1[ 1 ][ 3 ]; gotoxy( 45, 3 ); cout << menu1[ 1 ][ 4 ]; gotoxy( 1, 5 ); cout << menu1[ 0 ][ 1 ]; again: ( cin >> wybor ).get(); if( isalpha( wybor ) ) { cout << "To nie jest liczba." << endl << "Press any key to continue."; getch(); } else { switch( wybor ) { case '1': cout << endl << menu1[ 2 ][ 0 ] << "\n\nPress any key to continue."; getch(); break; case '2': cout << endl << menu1[ 3 ][ 0 ] << endl; cout << menu1[ 3 ][ 1 ] << biale_znaki << menu1[ 3 ][ 2 ] << biale_znaki << menu1[ 3 ][ 3 ] << "\n\nPress any key to continue."; getch(); break; case '3': cout << endl << menu1[ 4 ][ 0 ]; cout << endl << menu1[ 4 ][ 1 ] << biale_znaki << menu1[ 4 ][ 2 ] << endl << menu1[ 4 ][ 3 ] << biale_znaki << menu1[ 4 ][ 4 ] << "\n\nPress any key to continue."; getch(); break; case '4': cout << menu1[ 5 ][ 0 ]; ( cin >> min ).get(); clock_t koniec; koniec =( min * 60 ) * CLOCKS_PER_SEC; clock_t start; start = clock(); cout << "Koniec przerwy za " << min << " minut." << endl; while( clock() - start < koniec ); cout << menu1[ 5 ][ 1 ] << endl << "\nPress any key to continue."; getch(); break; case '5': int sec; sec = 1; clock_t koniec2; koniec2 = sec * CLOCKS_PER_SEC; clock_t start2; start2 = clock(); while( clock() - start2 < koniec2 ); return 0; break; default: cout << "\nPodana liczba jest nieprawilowa." << endl << "Press any key to continue"; getch(); break; }; }; } while( true ); ; } |
|
szyx_yankez |
» 2010-09-21 17:29:38 Dla przykładu:
#include <iostream> #include <time.h>
int main() { void countdown( int & ); int sec( 10 ); int foo( 3 ); switch( foo ) { case 1: case 2: case 3: countdown( sec ); } return false; }
void countdown( int & second ) { int _time( 0 ); do { if( _time + 1000 <= clock() ) { _time = clock(); second--; } std::cout << "Program zakonczy dzialania za " << second << " sekund\n"; } while( second ); }
|
|
« 1 » |