Skocz do zawartości
  • 👋 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

[C++][PYTANIE]Ponowne wykonanie kodu


Rekomendowane odpowiedzi

Opublikowano

Jak zrobić tak żeby kod wykonywał się od początku (żeby aplikacja się nie zamykała)?

Mam kod:

 

#include <iostream>
using namespace std;
int main ()
{
int x;

    do{
    cout << "Wpisz liczbe: ";
    cin >> x;
    }
    while (cin.fail());

if (cin.good())
    cout << "Wpisales liczbe " << x;


return 0;
}

 

 

 

Powinien wypisywać liczbę X, a w przypadku gdy wpisze się literę znowu ma się pojawiać komunikat o ponownym wpisaniu liczby. Czy da się to zrobić za pomocą pętli while/switch?

Opublikowano

Tak da się to zrobić za pomocą pętli :)

 

Jak?

Może mi ktoś poprawić kod? :)

Po wpisaniu litery w konsoli:

 

51602074059049365058.png

Opublikowano


#include <iostream>

using namespace std;

int main ()

{

int x;

 

do{

do{

cout << "Wpisz liczbe: ";

cin >> x;

}while (cin.good());

cout << "Wpisales liczbe " << x;

}while(true);

 

return 0;

}

 

 

Opublikowano

 

    #include <iostream>
    using namespace std;
    int main ()
    {
    int x;
     
    do{
      do{
        cout << "Wpisz liczbe: ";
        cin >> x;
      }while (cin.good());
      cout << "Wpisales liczbe " << x;
    }while(true);
     
    return 0;
    }
     

 

Nie o to mi chodziło :D Chce żeby program się powtarzał po wpisaniu czegoś innego niż cyfry np. literka A, a jak wpiszę cyfrę to się wyłącza. Twój kod powoduje, że program powtarza się za każdym razem kiedy wpiszę poprawną liczbę, a jak wpisze literkę to jest tak:

 

51602074059049365058.png

Opublikowano


#include <iostream>

 

using namespace std;

 

int main () {

int x;

 

while(true)

{

cout << "Wpisz liczbe: ";

cin >> x;

 

if (cin.good())

{

cout << "Wpisales liczbe " << x << endl;

break;

}

else

{

cin.clear();

cin.sync();

}

}

 

return 0;

}

 

Opublikowano

Mozna prosciej

 

 

int main() {
 
    int x;
 
    cout << "Wpisz liczbe: ";
 
    while(!(cin >> x)) {
        cout << "Wpisz liczbe: ";
        cin.clear();
        cin.sync();
    }
 
    cout << "Wpisales liczbe " << x << '\n';
 
    return 0;
}
Opublikowano

Wielkie dzięki za pomoc. Można zamknąć.

 

Albo dobra, niech nikt nie zamyka wątku, mam jeszcze 1 pytanie na ten temat (zedytuje posta :))

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...