Przeniesienie programu z Visual Studio do Code Block
Ostatnio zmodyfikowano 2015-04-01 01:07
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: #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. |
|
darko202 |
» 2015-03-31 10:42:33 spróbuj upublicznić metodę pobierająca dane ( z cin )
|
|
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ć 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 -,- |
|
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. |
|
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. |
|
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 |
|
RazzorFlame |
» 2015-03-31 13:18:31 Przecież piszą że program. Spróbuj utworzyć nowy projekt i wtedy wklej ten kod. |
|
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 |
|
« 1 » 2 |