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

Pętla while sama zwiększa wartość zmiennej

Ostatnio zmodyfikowano 2014-09-20 09:12
Autor Wiadomość
browar777
Temat założony przez niniejszego użytkownika
Pętla while sama zwiększa wartość zmiennej
» 2014-09-19 19:47:13
Witam,natknołem się ostatnio na jedną żecz której nie moge zrozumieć.po wyświetleniu tablic i wyjściu z switch case program wraca na sam początek petli while,i tu zaczyna sie proble,nie dośc że sam zwiększa wartość wartość y o 1, to na dodatke wyświetla dwa razy cout przed pobraniem znaku.
Prosze o pomoc.

C/C++
#include <iostream>
#include <string>
#include <cstdlib>
#include <stdio.h>
using namespace std;
//------------------------------------------------------------
int y = 0, ile = 1, warunek = 1;
char x;
//--------------------------------------------------------------------------
int main()
{
    int * wsk = & ile;
    int * tab = new int[ ile ];
    while( true )
    {
        cout << "wartosc ile wynosi : " << ile << endl;
        cout << "wartosc y wynosi : " << y << endl;
        getchar();
       
       
        for( y; y < ile; y++ )
        {
            cout << "wczytaj element do tablicy : ";
            cin >> tab[ y ];
            cout << "co teraz ? ";
            cin >> x;
           
           
            switch( x )
            {
            case 'z': * wsk += 1; break;
            case 'w': for( int i = 0; i < ile; i++ )
                {
                    cout << "wartosc (" << i + 1 << ") tablicy wynosi :" << tab[ i ] << endl;
                }
                cout << "wartosc ile wynosi : " << ile << endl;
                cout << "wartosc y wynosi : " << y << endl;
                break;
               
            }
        }
       
    }
   
    return 0;
}
P-117192
SeaMonster131
» 2014-09-19 20:03:09
Sam zwiększa wartość Y o 1? A to co? :)
C/C++
for( y; y < ile; y++ )

2 razy wyświetla napisy, w takim przypadku:
C/C++
cout << "wartosc ile wynosi : " << ile << endl;
cout << "wartosc y wynosi : " << y << endl;

// [...]

case 'w':...
cout << "wartosc ile wynosi : " << ile << endl;
cout << "wartosc y wynosi : " << y << endl;
break;
P-117193
browar777
Temat założony przez niniejszego użytkownika
» 2014-09-19 21:57:57
sam zwiększa wartość jeszcze przed wywołaniem pentli for (gdzie jest ikrementacja y).natomist napis wyświtla dwukrotnie z jendą zmienną co dokładnie daje 4 wywołanie. na oko wszytko wydaj się być dobrze,dopiero po skompilowanie dzieje się coś czego nie mogę zrozumieć
P-117197
Mateus.
» 2014-09-19 22:13:16
@up Ty tak normalnie piszesz, czy trollujesz?
P-117199
browar777
Temat założony przez niniejszego użytkownika
» 2014-09-19 22:29:44
nie troluje,poważnie mam z tym problem
P-117200
Monika90
» 2014-09-19 22:47:11
chyba zmiast tego
for( y; y < ile; y++ )
 powinno być
C/C++
for( y = 0; y < ile; y++ )
P-117202
browar777
Temat założony przez niniejszego użytkownika
» 2014-09-19 23:57:36
chyba juz znalazłem rozwiązanie,dzięki.
P-117205
Mateus.
» 2014-09-20 09:12:43
@browar777 miałem na myśli pisownię
P-117206
« 1 »
  Strona 1 z 1