DejaVu |
» 2009-04-26 12:23:21 Weź na boku porównaj sobie dwa pliki jakie nastąpiły zmiany w stosunku do Twojej wersji i będziesz wiedział. Jeśli chcesz mieć prostszy warunek wyjścia z programu dokonaj takiej modyfikacji kodu: bool bKoniec = false; do { } while( bKoniec == false );
Jeśli zostanie wciśnięty ESC ustaw bKoniec = true; Jeśli zostenie wciśnięty ENTER (i pozycja 7 z menu) ustaw bKoniec = true; |
|
Macius700 Temat założony przez niniejszego użytkownika |
» 2009-04-26 12:59:42 Mam program w takim stanie jak poniżej i została mi tylko jedna rzecz żeby po wykonaniu działania po naciśnięciu jakiegoś klawisza program wgracał do menu próbowałem to zrobić na podstawie twojego programu ale nie wychodzi mi to. Najlepiej zrób żeby program po wykonaiu jakiegoś działania i po naciśnieciu kalwisza wrcał do menu i żeby tamto wykoanie działania zostało wyczyszczone i nastepne działania znów zaczynało się od (1,11) albo że jak po naciśnięciu klawisza tamto wykonywanie działania zostaje i nastepne wykonywanie działaniu ustwaia się pod tym czyli np (1,16) lub zrób jeszcze że naciśnięciu tylko jednego konkretnego klawisza spowpduje powrót do menu np strzałka w prawo i jak będe naciskał jakas liczbe po wykoaniu bedzie wykonywało sie jeszcze raz to działanie pod tym starym i jak nacisne strzałke to wróce do menu i nastepne działanie bedzie wykonywało się pod tymi starymi lub zostanie wyczyszczone. Prosiłbym Ciebie o napisanie tych czterech wersji tego programu to tylko chwila czasu dla ciebie pewnie. Prosiłbym bardzo bo ja nie wiem jak to napisać.Oto mój program : #include <cstdlib> #include <conio.h> #include <math.h> #include <iostream> #include "console.ddt"
using namespace std; using namespace ddt::console; float dodawanie( float a, float b ) { float wynik; wynik = a + b; return( wynik ); } float odejmowanie( float d, float e ) { float wynik; wynik = d - e; return( wynik ); }
int main( int argc, char * argv[] ) { int licznik = 10, znak; float x, y, z; { clrscr(); gotoxy( 30, 10 ); textcolor( 920 ); cout << "1 - Dodawanie" << endl; gotoxy( 30, 11 ); textcolor( 101 ); cout << "2 - Odejmowanie" << endl; gotoxy( 30, 12 ); textcolor( 203 ); cout << "3 - Mnozenie" << endl; gotoxy( 30, 13 ); textcolor( 504 ); cout << "4 - Dzielenie" << endl; gotoxy( 30, 14 ); textcolor( 902 ); cout << "5 - Pierwiastek" << endl; gotoxy( 30, 15 ); textcolor( 603 ); cout << "6 - Kwadrat" << endl; gotoxy( 30, 16 ); textcolor( 755 ); cout << "7 - Wyjscie z Menu" << endl; gotoxy( 30, 20 ); textcolor( 92 ); cout << "Esc - Koniec" << endl; gotoxy( 30, 21 ); textcolor( 1010 ); cout << "Enter - Wybieranie" << endl; gotoxy( 25, licznik ); textcolor( 999 ); cout << "->" << endl; } do { znak = getch(); if( znak == 224 ) znak = getch(); switch( znak ) { case 80: { gotoxy( 25, licznik ); cout << " " << endl; if( licznik == 16 ) { licznik = 10; } else { licznik++; } gotoxy( 25, licznik ); cout << "->" << endl; } break; case 72: { gotoxy( 25, licznik ); cout << " " << endl; if( licznik == 10 ) { licznik = 16; } else { licznik--; } gotoxy( 25, licznik ); cout << "->" << endl; } break; case 13: { switch( licznik ) { case 10: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; cout << "podaj drugą liczbe" << endl; cin >> y; z = dodawanie( x, y ); cout << x << "+" << y << "=" << z << endl; } break; case 11: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; cout << "podaj drugą liczbe" << endl; cin >> y; z = odejmowanie( x, y ); cout << x << "-" << y << "=" << z << endl; } break; case 12: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; cout << "podaj drugą liczbe" << endl; cin >> y; z = x * y; cout << x << "*" << y << "=" << z << endl; } break; case 13: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; cout << "podaj drugą liczbe" << endl; cin >> y; z = x / y; cout << x << "/" << y << "=" << z << endl; } break; case 14: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; z = sqrt( x ); cout << "pierwiastek x= " << z << endl; } break; case 15: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; z = x * x; cout << "x^2=" << z << endl; } break; case 16: { cout << "Koniec :-)" << endl; } break; default: { cout << "eror" << endl; } break; } } } } while( !(( licznik == 16 && znak == 13 ) || znak == 27 ) ); return EXIT_SUCCESS; }
|
|
DejaVu |
» 2009-04-26 13:14:15 Nie mogę Ci pomóc. Sam musisz dojść do tego. Rozwiązanie dostałeś ode mnie wcześniej, dostałeś też później wskazówki co zrobić żeby było prościej. Postaraj się pomyśleć nad swoim zadaniem i poeksperymentować trochę. My staramy się naprowadzać na rozwiązania - rzadko kiedy praktykujemy poprawianie czyichś programów tak jak ja to zrobiłem w Twoim przypadku. Nauka programowania wymaga wielu samodzielnych prób i eksperymentów. Myślę, że powinieneś sobie poradzić z dokończeniem swojego programu. Więcej wiary w swoje możliwości :) |
|
Macius700 Temat założony przez niniejszego użytkownika |
» 2009-04-26 13:16:12 Własnie próbowałem i to dosyć długo i nie udało mi się tego zrobić wieć prosiłbym Ciebie o pomoc |
|
Macius700 Temat założony przez niniejszego użytkownika |
» 2009-04-26 21:05:21 Możesz mi podpowiedzieć jak w moim programie zrobić powrót do menu i w którym momencie wstawić czyszczenie ?? |
|
DejaVu |
» 2009-04-26 23:37:00 Odpowiedź na Twoje pytanie napisałem Ci wcześniej. Jak widzisz nikt nie zabiera głosu w Twoim temacie, ponieważ rozwiązanie już dostałeś. Więcej pomóc Ci nie mogę. Musisz dojść do tego sam. |
|
Macius700 Temat założony przez niniejszego użytkownika |
» 2009-04-27 07:39:23 Zrobiłem tak jak ty z wyjściem do menu ale mi nie działa co mam poprawić w moim programie : #include <cstdlib> #include <conio.h> #include <math.h> #include <iostream> #include "console.ddt"
using namespace std; using namespace ddt::console; float dodawanie( float a, float b ) { float wynik; wynik = a + b; return( wynik ); } float odejmowanie( float d, float e ) { float wynik; wynik = d - e; return( wynik ); }
int main( int argc, char * argv[] ) { int licznik = 10, znak; float x, y, z; { gotoxy( 30, 10 ); textcolor( 920 ); cout << "1 - Dodawanie" << endl; gotoxy( 30, 11 ); textcolor( 101 ); cout << "2 - Odejmowanie" << endl; gotoxy( 30, 12 ); textcolor( 203 ); cout << "3 - Mnozenie" << endl; gotoxy( 30, 13 ); textcolor( 504 ); cout << "4 - Dzielenie" << endl; gotoxy( 30, 14 ); textcolor( 902 ); cout << "5 - Pierwiastek" << endl; gotoxy( 30, 15 ); textcolor( 603 ); cout << "6 - Kwadrat" << endl; gotoxy( 30, 16 ); textcolor( 755 ); cout << "7 - Wyjscie z Menu" << endl; gotoxy( 30, 20 ); textcolor( 92 ); cout << "Esc - Koniec" << endl; gotoxy( 30, 21 ); textcolor( 1010 ); cout << "Enter - Wybieranie" << endl; gotoxy( 25, licznik ); textcolor( 999 ); cout << "->" << endl; } do { znak = getch(); if( znak == 224 ) znak = getch(); switch( znak ) { case 80: { gotoxy( 25, licznik ); cout << " " << endl; if( licznik == 16 ) { licznik = 10; } else { licznik++; } gotoxy( 25, licznik ); cout << "->" << endl; } break; case 72: { gotoxy( 25, licznik ); cout << " " << endl; if( licznik == 10 ) { licznik = 16; } else { licznik--; } gotoxy( 25, licznik ); cout << "->" << endl; } break; case 13: { switch( licznik ) { case 10: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; cout << "podaj drugą liczbe" << endl; cin >> y; z = dodawanie( x, y ); cout << x << "+" << y << "=" << z << endl; } break; case 11: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; cout << "podaj drugą liczbe" << endl; cin >> y; z = odejmowanie( x, y ); cout << x << "-" << y << "=" << z << endl; } break; case 12: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; cout << "podaj drugą liczbe" << endl; cin >> y; z = x * y; cout << x << "*" << y << "=" << z << endl; } break; case 13: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; cout << "podaj drugą liczbe" << endl; cin >> y; z = x / y; cout << x << "/" << y << "=" << z << endl; } break; case 14: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; z = sqrt( x ); cout << "pierwiastek x= " << z << endl; } break; case 15: { cout << "Podaj pierwsza liczbe" << endl; cin >> x; z = x * x; cout << "x^2=" << z << endl; } break; case 16: { cout << "Koniec :-)" << endl; } break; default: { cout << "eror" << endl; } break; } if( licznik != 16 ) { cout << "Nacisnij dowolny klawisz aby powrocic do menu." << endl; getch(); } } } } while( !(( licznik == 16 && znak == 13 ) || znak == 27 ) ); return EXIT_SUCCESS; }
|
|
pekfos |
» 2009-04-27 16:01:30 nie czyścisz ekranu a menu powinno byc rysowane w każdym obiegu pętli |
|
1 « 2 » 3 4 |