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

Przeniesienie programu z Visual Studio do Code Block

Ostatnio zmodyfikowano 2015-04-01 01:07
Autor Wiadomość
Nitr0Skay
Temat założony przez niniejszego użytkownika
Przeniesienie programu z Visual Studio do Code Block
» 2015-03-30 21:49:29
Witam. Mam pewien problem. Napisałem program, który miał poprosić użytkownika o dane w celu ich posortowania. Napisałem to w szkole w Visual Studio, po czym w domu chciałem to odpalić na Code Blocksie, w tym celu przerobiłem Visualowego Maina na normalnego. Kod programu wygląda następująco:

C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

const int TAB_MAX = 1000;

class obiekt
{
private:
    double tab[ TAB_MAX ];
    int ileLiczb;
    void zebraj();
    void prezentuj();
    void sortujRosnaco();
    void sortujMalejaco();
   
public:
    void dzialaj();
};

void obiekt::zebraj()
{
    int ilosc = 0;
    cout << "Ile liczb pragniesz wprowadzić ? ";
    do
    {
        cin >> ilosc;
        if( cin.fail() || ilosc >= TAB_MAX )
             cout << "Wprowadź ilość raz jeszcze: ";
       
    } while( cin.fail() || ilosc >= TAB_MAX );
   
    cout << endl;
   
    for( ileLiczb = 0; ileLiczb < ilosc; ileLiczb++ )
    {
        cout << "Liczba numer " << ileLiczb + 1 << ": ";
        cin >> tab[ ileLiczb ];
    }
}

void obiekt::prezentuj()
{
    cout << endl << "Oto wpisane liczby: ";
    for( int i = 0; i < ileLiczb; i++ )
    {
        if(( i + 1 ) != ileLiczb )
             cout << tab[ i ] << ", ";
       
        else
             cout << tab[ i ] << endl;
       
    }
}

void obiekt::sortujRosnaco()
{
    double x = 0, y = 0, z = 0;
   
    for( int j = 0; j < ileLiczb; j++ ) {
        for( int i = 0; i <( ileLiczb - 1 ); i++ )
        {
            x = tab[ i ];
            y = tab[ i + 1 ];
           
            if( x > y )
            {
                tab[ i ] = y;
                tab[ i + 1 ] = x;
            }
           
            else
            {
                tab[ i ] = x;
                tab[ i + 1 ] = y;
            }
        }
    }
   
    cout << endl << "Uporządkowane Rosnąco: ";
    for( int i = 0; i < ileLiczb; i++ )
    {
        if(( i + 1 ) != ileLiczb )
             cout << tab[ i ] << ", ";
       
        else
             cout << tab[ i ] << endl;
       
    }
}



void obiekt::dzialaj()
{
    zebraj();
    prezentuj();
    sortujRosnaco();
   
}


int main()
{
    system( "chcp 65001" );
    system( "cls" );
    obiekt a;
    a.dzialaj();
    system( "pause" );
    return 0;
}

W szkole działało - mianowicie pobierało krokowo dane od użytkownika, po czym je kolejno wypisywało i je sortowało. W domu niestety nie chce to zadziałać. Podaję ilość elementów, które chcę podać i program jakby się zatrzymuje na strumieniu wejściu. Powinien po podaniu ilości elementów pytać po kolei o każdy element, jednak tak się nie dzieje. Normalnie zgłupiałem, bo program po niewielkich przeróbkach (tylko zamiana tmain na main i wywalenie tej biblioteki, którą standartowo nadaje visual) program nie działa zgodnie z zamierzeniem.
Ktoś pomoże mi wykryć ten błąd ? Byłbym wdzięczny.
P-129601
darko202
» 2015-03-31 10:42:33
spróbuj upublicznić metodę pobierająca dane ( z cin )
P-129611
Nitr0Skay
Temat założony przez niniejszego użytkownika
» 2015-03-31 11:51:38
Po co, w jakim celu ??

Wówczas musiałbym dać
C/C++
a.zebraj();
a.dzialaj();

Tu raczej nie o to chodzi, gdyż w szkole ta metoda także była prywatna i na Visualu działało. Cholerne Visual Studio -,-
P-129613
Quirinnos
» 2015-03-31 11:56:48
Jakie dokładnie środowisko? inne programy się normalnie kompilują?
Mi pod C::B 12.11 i 13.12 chodzi tak jak powinno.
P-129614
wojownik266
» 2015-03-31 12:18:23
Pochwalę się... U mnie na C::B 13.12 z opcją C++11 też działa tak jak powinien.
P-129616
Nitr0Skay
Temat założony przez niniejszego użytkownika
» 2015-03-31 12:58:23
Ale program który podałem Wam działa tak jak powinien, czy środowisko ? Bo to jest różnica ;p
P-129617
RazzorFlame
» 2015-03-31 13:18:31
Przecież piszą że program. Spróbuj utworzyć nowy projekt i wtedy wklej ten kod.
P-129618
Nitr0Skay
Temat założony przez niniejszego użytkownika
» 2015-03-31 15:52:51
Mi ten kod nie działa. Z założenia po podaniu ilości elementów do posortowania powinien po kolei prosić o te elementy. Jednak żaden komunikat po podaniu liczby nie zostaje wyświetlony
P-129632
« 1 » 2
  Strona 1 z 2 Następna strona