-
👋 Witaj na MPCForum!
Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎
- ✅ Pełny dostęp do działów i ukrytych treści
- ✅ Możliwość pisania i odpowiadania w tematach
- ✅ System prywatnych wiadomości
- ✅ Zbieranie reputacji i rozwijanie swojego profilu
- ✅ Członkostwo w jednej z największych społeczności graczy
👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!
Zarejestruj się teraz
- 0

Pytanie
flajtrontri
flajtrontri
Witam. Jestem samoukiem c++, a porady i zadania biorę z tej strony: Kurs online . Pracuję aktualnie nad niemal banalnym zagadnieniem jak pętla while; do... while. Dla większości z Was to coś co jest jak układanie puzzli 4 elementy, ale dla osób nowych może stwarzać problemy zwłaszcza, gdy tekst czytany nie zawsze jest rozumiany.
Posiadam sobie taki kod do nauki:
#include "stdafx.h" #include "iostream" #include "string" #define x "haslo1" using namespace std; int main() { string y = "haslo1"; cout << "Podaj haslo, by przejsc dalej!" << endl; cout << "Haslo:" << endl; while (y!=x) { cout << "Haslo nieprawidlowe!" << endl; cout << "Sprobuj ponownie!" << endl; cin >> y; cin.get(); system("cls"); } while (y == x) { cout << "Haslo poprawne!" << endl; cout << "Witamy!" << endl; cin >> y; cin.get(); system("cls"); } if (y == x); cin.get(); return 0; }I nie wiem gdzie popełniłem błąd, gdyż chcę, by po błędnym wpisaniu hasła pętla wracała do ponownego jego wpisania, a po poprawnym kończyła program. Czy mógłby ktoś zamiast dawać gotowca powiedzieć gdzie powinienem spojrzeć i jakoś lepiej wytłumaczyć pętlę while? ew. polecić stronę, gdzie będzie to fajnie opisane. Z góry przepraszam za zbędny post, ale i dziękuję za zainteresowanie.
@Edit. Pozmieniałem, popróbowałem i mam takie coś:
int main() { string y = "haslo1"; cout << "Podaj haslo, by przejsc dalej!" << endl; cout << "Haslo:" << endl; do { cin >> y; system("cls"); cout << "Haslo nieprawidlowe!" << endl; cout << "Sprobuj ponownie!" << endl; cin.get(); } while (y != x); do { cin >> y; system("cls"); cout << "Haslo poprawne!" << endl; cout << "Witamy!" << endl; cin.get(); } while (y == x); if (y==x) cin.get(); return 0; }Teraz zapętla się w miarę prawidłowo, bo po wpisaniu złego hasła prosi o ponowne, a nie odtwarza je bez przerwy, ale... po wpisaniu poprawnego najpierw pisze, że jest złe, a potem po wpisaniu byle czego potwierdza hasło.
@Edit2:
Poradziłem sobie
Działa jak powinno. Wybaczcie za spam na forum, ale staram się mimo wszystko poradzić z tym. Rozwiązanie moje to:
#include "stdafx.h" #include "iostream" #include "string" #include "windows.h" #define x "haslo1" #define z Sleep(1000); using namespace std; int main() { string y; cout << "Podaj haslo, by przejsc dalej!" << endl; z; cout << "Haslo:" << endl; do { cin >> y; system("cls"); cout << "Haslo nieprawidlowe!" << endl; cout << "Sprobuj ponownie!" << endl; } while (y != x); system("cls"); cout << "Logowanie..." << endl; z; cout << "3.." << endl; z; cout << "2.." << endl; z; cout<< "1.." << endl; z; system("cls"); cout << "Haslo poprawne!" << endl << "Witamy!" << endl; cout << endl << "Wcisnij 'Enter' by kontunuowac.."; cin.get(); cin.get(); return 0; }http://www.faniq.com/images/blog/funny-gifs-work-it-girl.gif
3 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
Zarchiwizowany
Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.