Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Powrót do zadania, nie petlą.

Ostatnio zmodyfikowano 2011-01-29 14:07
Autor Wiadomość
Krump
Temat założony przez niniejszego użytkownika
Powrót do zadania, nie petlą.
» 2011-01-26 19:14:18
Część...

Słuchajcie była jakaś funkcja, albo jak zapisać w returny(), aby po wykonaniu if, zawartego w pętli while program wrócił do początku pętli, a nie leciał dalej? Opcjonalnie aby wrócił do wpisania danych.

Kod:

C/C++
cout << "Podaj hasło/pin: ";
while( !( cin >> a ) )
{
    cin.clear();
    cin.sync();
    system( "cls" );
    cout << "Pin cyfrowy!" << endl << "Podaj hasło/pin: ";
}
if( a == 67241599 )
{
    cout << "Dane to: " << b << endl << endl;
    //Co tu wpisać, aby program wrócił do while(!(cin>>a))
}
else
{
    if( a > 0 && a <= 1000 )
   
P-27150
szyx_yankez
» 2011-01-26 19:45:03
Powiązać to z
do...while
C/C++
cout << "Podaj hasło/pin: ";
do
{
    while( !( cin >> a ) )
    {
        cin.clear();
        cin.sync();
        system( "cls" );
        cout << "Pin cyfrowy!" << endl << "Podaj hasło/pin: ";
    }
    if( a == 67241599 )
    {
        cout << "Dane to: " << b << endl << endl;
    }
} while( a == 67241599 )
A jeżeli nie pętlą to pozostaje 'goto'.
P-27154
Krump
Temat założony przez niniejszego użytkownika
» 2011-01-26 21:02:56
niestety zakończeniem tej pętli do ...while jest

C/C++
while( a != b )

chyba, że zrobię ;p
C/C++
while( a != b || a == 67241599 )
;p sprawdzę czy działa, dzięki z góry.

A właśnie, bo to:

C/C++
while( !( cin >> a ) )

zapobiega, aby ktoś nie wpisywał liter, ale chciałem początkowo zrobić, że amdin albo wtajemniczony wpisze jakiś słowo, które ustalę np krump i wtedy zrobi co chciałem z pokazaniem tego pinu, lecz jak dam:

C/C++
string c = "krump";
cout << "Podaj hasło/pin: ";
while( !( cin >> a ) || c )
{
    cin.clear();
    cin.sync();
    system( "cls" );
    cout << "Pin cyfrowy!" << endl << "Podaj hasło/pin: ";
}
if( a == c )
{
    cout << "Dane to: " << b << endl << endl;
    //Co tu wpisać, aby program wrócił do while(!(cin>>a))
}
else
{
    if( a > 0 && a <= 1000 )
to wywala błąd, że nie można dać w deklaracji pętli dwóch różnych typów zmiennych, jak się z tym uporać? Bo wolał bym słowo niż liczby na to obejście ;p
P-27168
jsc
» 2011-01-26 21:06:52
Co tu wpisać, aby program wrócił do while(!(cin>>a))

continue;
P-27169
szyx_yankez
» 2011-01-26 21:23:50
continue;
Oh tak?
Spróbuj sobie skompilować ten kod:
C/C++
int main()
{
    int a = 10;
    while( a )
    {
        a--;
    }
    if( true )
    {
        continue;
    }
}
to wywala błąd, że nie można dać w deklaracji pętli dwóch różnych typów zmiennych, jak się z tym uporać? Bo wolał bym słowo niż liczby na to obejście ;p
Bardzo dobrze, według Ciebie zmienna 'a' jest jednocześnie typu 'int' i 'string'.

[/code]
P-27171
jsc
» 2011-01-26 21:31:23
Chcesz ze mnie zrobić idiotę?

To skompiluj to:

#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
int a = 10;
while( a )
{
    if( true )
    {
    continue;
    }

    a--;
}

return 0;
}
P-27173
szyx_yankez
» 2011-01-26 21:37:17
C/C++
string c = "krump";
cout << "Podaj hasło/pin: ";
while( !( cin >> a ) || c )
{
    cin.clear();
    cin.sync();
    system( "cls" );
    cout << "Pin cyfrowy!" << endl << "Podaj hasło/pin: ";
}
if( a == c )
{
    cout << "Dane to: " << b << endl << endl;
    //Co tu wpisać, aby program wrócił do while(!(cin>>a))
}
else
{
    if( a > 0 && a <= 1000 )
Co tu wpisać, aby program wrócił do while(!(cin>>a))

continue;
Czyli wyszło by:
C/C++
string c = "krump";
cout << "Podaj hasło/pin: ";
while( !( cin >> a ) || c )
{
    cin.clear();
    cin.sync();
    system( "cls" );
    cout << "Pin cyfrowy!" << endl << "Podaj hasło/pin: ";
}
if( a == c )
{
    cout << "Dane to: " << b << endl << endl;
    continue;
}
else
{
    if( a > 0 && a <= 1000 )

P-27174
jsc
» 2011-01-26 21:42:23

string c = "krump";
cout << "Podaj hasło/pin: ";
for (;;)
{
while( !( cin >> a ) || c )
{
    cin.clear();
    cin.sync();
    system( "cls" );
    cout << "Pin cyfrowy!" << endl << "Podaj hasło/pin: ";
}
if( a == c )
{
    cout << "Dane to: " << b << endl << endl;
    continue; // do while( !( cin >> a ) || c ) dojdzie przez for (;;)
}
break; //Jeśli poszło wszystko wyskoczy z pętli
}

Zadowolony?
P-27175
« 1 » 2 3
  Strona 1 z 3 Następna strona