Jak zabronić wpisywania liter w programie
Ostatnio zmodyfikowano 2014-02-02 14:35
damianlxlx5 Temat założony przez niniejszego użytkownika |
» 2014-01-30 13:41:10 Faktycznie nie wiem jak mogłem tego nie zauważyć.Kombinowałem co tu zmienić żeby to działało tak jak bym chciał a tu taki głupi błąd którego nie dostrzegłem przez co program nie działał poprawnie :) |
|
damianlxlx5 Temat założony przez niniejszego użytkownika |
» 2014-01-30 14:15:00 A jeszcze takie pytanie jak zrobić żeby np. po wyświetleniu wyniku program mógł wrócić do pierwszej instrukcji czyli tak jak jest teraz oraz żeby można było po wyświetleniu wyniku zamknąć program gdy użytkownik już nie ma nic do policzenia ? |
|
alixir |
» 2014-01-30 14:27:38 Po pierwsze wywal label M: i goto(). Tego nie powinno się używać. Zamiast tego zastosuj pętlę do .. while() Coś w tym guście: char wybor; do { .... tu twoj program .... cout << "Chcesz kontynuowac (t/n)"; cin >> wybor; } while( wybor != 'n' ); |
|
damianlxlx5 Temat założony przez niniejszego użytkownika |
» 2014-01-30 15:45:06 No dobrze ale ta pętla co mi podałeś to skąd ona ma wiedzieć czy zakończyć program czy nie skąd ona wie że jak nacisnę literę t to to chce kontynuować a jak n to chce zakończyć program ? |
|
SeaMonster131 |
» 2014-01-30 15:53:41 Bo taki jest warunek w pętli? Pętla do ... whilePamiętaj także, że jest możliwość edycji postu (by nie pisać postów pod swoimi postami) oraz stosuj Kurs STC. |
|
damianlxlx5 Temat założony przez niniejszego użytkownika |
» 2014-01-30 16:32:06 Nadal jednak nie rozumiem tego warunku w pętli. while( wybor != 'n' ); Ponieważ ten znak "!=" oznacza operator "nie równe" czyli jeżeli w tym przypadku "wybór" jest różny od ... No i właśnie nie wiem od czego od litery "n" czemu n co ta litera oznacza ? |
|
SeaMonster131 |
» 2014-01-30 16:41:53 char wybor; to zmienna przechowująca jeden znak. W pętli jest cin >> wybor; oznaczające przypisanie do tej zmiennej wartości ze strumienia (w tym wypadku użytkownik wpisuje tą wartość). Jeżeli wartość to 'n', to pętla zostaje przerwana. |
|
damianlxlx5 Temat założony przez niniejszego użytkownika |
» 2014-01-30 17:03:40 Dobra napisałem taki kod : #include <iostream> #include <windows.h> using namespace std; main()
{ char wybor; bool good, bad; float liczba, cyfra; float suma; { M: cout << "Wprowadz liczbe calkowita" << endl; cin >> liczba; while( cin.fail() ) { cin.clear(); cin.ignore( 50, '\n' ); cout << "Liczba musi byc liczba calkowita:\nWprowadz ponownie liczbe:" << endl; cin >> liczba; } cout << "Wprowadz druga liczbe calkowita" << endl; cin >> cyfra; while( cin.fail() ) { cin.clear(); cin.ignore( 50, '\n' ); cout << "Liczba musi byc liczba calkowita:\nWprowadz ponownie liczbe:" << endl; cin >> cyfra; } suma = liczba * cyfra; good = cin.good(); bad = cin.bad(); cin.clear(); cin.sync(); } if( suma < 100 ) { cout << "Suma dwoch liczb ktore podales nie przekracza 100" << endl; cout << "Wynik mnozenia tych dwoch liczb wynosi : " << suma << endl; cout << "Znakomicie" << endl; cout << "Chcesz kontynuowac (t/n)" << endl; cin >> wybor; } else { cout << "Suma liczb przekracza 100" << endl; cout << "Wynik nie zostanie zwrocony" << endl; cout << "Sprobuj ponownie" << endl; Sleep( 2000 ); goto M; } }
A jak te pętle teraz dodać w jakim fragmencie kodu by ona działa poprawnie pozbywając się instrukcji goto ? |
|
1 2 3 « 4 » 5 6 |