VertoPL utworzono 7 marca 2018 utworzono 7 marca 2018 (edytowane) Witam, chce zmusić, aby po "prosze o wpisanie cyfry" (skrypt poniżej) program wrócił nas przed cin, aby wpisać wartość ponownie i tak w nieskończoność, dopóki nie zostanie wpisana liczba. Ktoś wie jak to zrobić? #include <iostream> using namespace std; int main() { char znak; cout << "wpisz znak: "; cin >> znak; { if ((znak > 47) && (znak < 58)) cout << "cyfra"; else cout << "prosze o wpisanie cyfry" << endl; } return 0; }
pestka12 komentarz 7 marca 2018 komentarz 7 marca 2018 #include<iostream> using namespace std; int main() { int liczba; blad: cout<<"podaj liczbe:";cin>>liczba; if((liczba>47)&&(liczba<58)) { cout<<"Twoja cyfra to: "<<liczba; } else { goto blad; } } Witam. Wiem że zastosowanie goto nie jest najlepszą stroną pod względem programisty bo szczerze przyznam się że można tu użyć pętli. Liczę że ten kod rozwiązał problem. Miłego dnia/wieczora.
VertoPL komentarz 9 marca 2018 Autor komentarz 9 marca 2018 Dnia 7.03.2018 o 22:42, pestka12 napisał: #include<iostream> using namespace std; int main() { int liczba; blad: cout<<"podaj liczbe:";cin>>liczba; if((liczba>47)&&(liczba<58)) { cout<<"Twoja cyfra to: "<<liczba; } else { goto blad; } } Witam. Wiem że zastosowanie goto nie jest najlepszą stroną pod względem programisty bo szczerze przyznam się że można tu użyć pętli. Liczę że ten kod rozwiązał problem. Miłego dnia/wieczora. dzięki za pomoc, sam chciałem użyć goto, ale nie wiem czemu nie działało, w twoim kodzie był tylko jeden błąd, użyłeś int zamiast char, przez co 1=1, lecz przy użyciu char, liczba jest (tak mi sie wydaje) przerabiana na kod ascii, czyli 1=48. lecz teraz pojawia się problem mianowicie: #include<iostream> using namespace std; int main() { char liczba; cout<<"podaj liczbe. "; start: cin>>liczba; if((liczba>47)&&(liczba<58)) { cout<<"Twoja cyfra to: "<<liczba; } else { cout<<"prosze o wpisanie liczby. "; goto start; } } cytat z konsoli: "podaj liczbe. 137 Twoja liczba to: 1" a po wpisaniu kilku liter: "podaj liczbe. test prosze o wpisanie cyfry. prosze o wpisanie cyfry. prosze o wpisanie cyfry. prosze o wpisanie cyfry." po wpisaniu cyfr i liter: podaj liczbe. 12a Twoja cyfra to: 1 podaj liczbe. a12 prosze o wpisanie cyfry. Twoja cyfra to: 1 czy wiesz o co chodzi? W poprzednim kodzie tego nie było.
pestka12 komentarz 9 marca 2018 komentarz 9 marca 2018 Napisz co dokładnie ten program ma robić bo wtedy będę w stanie rozwiązać problem a char przechowuje typ znak czyli np zdanie "C++" to wyświetli C a typ int przechowuje tylko liczby np: 1 , 2 , 3 , 4, 5 i tak dalej ale znaków i zdań nie przechowa wpisz sobie w internet typy zmiennych C++.
fafa16 komentarz 12 marca 2018 komentarz 12 marca 2018 Nie powinno operowac sie w takim przypadku funkcjami?'
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.