[C] / Program (...).exe przestał działać


(system) #1

Witam

Ostatnio postanowiłem przejść na C i otóż mam problem taki, że po uruchomieniu programu i podaniu liczby, występuje błąd który brzmi "Program (...).exe przestał działać"

Kod źródłowy :

#include 

#include 


int szescian(int liczba);


int main(){

    int liczba, fx;

    while(1){

        printf("Podaj liczbe : ");

        scanf("%d", liczba);

        fx = szescian(liczba);

        printf("Liczba podniesiona do szescianu wynosi : %d", fx);

    }

    getch();

}


int szescian(int liczba){

    return (liczba * liczba * liczba);

}

IDE : Dev-C++ 4.9.9.2

Nie mam pojęcia, co tutaj robię źle

W razie błędnego tematu bardzo przepraszam, FAQ przeczytam w najbliższym czasie


(Sicko Maciek) #2

Zamiast

scanf("%d", liczba);

powinno być

scanf("%d", &liczba);

:wink:


(system) #3

Ale teraz się wkopałem. Poczekaj zmienię to na zmienną tablicową :slight_smile:


(somekind) #4

Źle robisz, że ten radosny wytwór ludzkiej ułomności nazywasz IDE i go używasz. CodeBlocks byłoby rozsądniejszym wyborem pod względem wygody, stabilność pracy oraz pewności działania kompilatora.


(system) #5

Mam dla Ciebie dobra wiadomość, która Ciebie ucieszy Code::Blocks używam na linuxie. Mimo to uważam, że Dev-C++ na windows'a , jak na podstawy C się nadaje i nie potrzebuje tutaj super środowiska. Nie wiem po, czym ty oceniasz kompilator, Dev używa kompilatora gcc, więc dziwne spostrzeżenie.


(Razi) #6

nie-super środowisko, a środowisko ze starym zbugowanym i źle sportowanym kompilatorem i wybitnie niewygodnym edytorem kodu to dwie różne sprawy. Dev jest wręcz ułomny! Kompilator sprzed 8 lat, źle przeniesiony na windowsa, sam edytor kodu denny, w niczym nie pomaga.

Sami twórcy deva podobno go wyśmiali i radzą używać czegokolwiek innego. Ostatnia wersja beta wyszła 6 lat temu.

Nie lepiej na obu systemach w tym samym pisać, skoro się da? Tym bardziej że C::B jest jednym z lepszych środowisk.

I nie używaj getcha, ani biblioteki conio. To nieprzenośny staroć z DOSa z litości przeniesiony do windowsa. W C::B ci konsoli nie zamknie.


(somekind) #7

Normalnie aż skaczę z radości. ;]

Czy to znaczy, że potrzebuje badziewnego i przestarzałego Deva? CodeBlocs jest prostym ale przyjemnym IDE, także dla początkujących.

Nie gcc tylko zabugowaną wersję MinGW sprzed 6 lat, która nie zawsze kompiluje prawidłowy kod, a czasem kompiluje nieprawidłowy.

Ponadto, formatowanie składni nie istnieje, edycja kodu jest niewygodna - nigdy nie wiadomo, w której kolumnie wiersza znajdzie się kursor po wciśnięciu entera, a debugger wymaga debuggowania sam z siebie.

Zresztą:

http://revo.pl/index.php/blog/detailed/70

http://www.jasonbadams.net/20081218/why ... use-dev-c/


(system) #8

Nie twierdze, że jest to zbliżone do ideału środowisko, bo bardzo wiele do tego brakuje. Waszym zdaniem IDE powinno podpowiadać, jak skończyć nazwę biblioteki lub funkcji, na pewno jest to ułatwienie. Nie piszę żadnych "projektów" w C, więc dlatego nie robiłem żadnych "reform" co do środowiska. Zdarza się, że jestem na Windows'ie i po prostu używam tego środowiska, na linuxie wygląda to tak, że po prostu uruchomię sobie vi i później skompiluje w gcc.

Proponowałbym zamknąć temat


(Wojtekbogocki) #9

Jedna rzecz - trzymaj się standardów, czemu? Dam ci porównanie - jesteś jak mój dziadek, który ogląda mecze na starym CRT-ku bo mówi że mu te nowe płaskie telewizory nie pasują; swoją drogą wiesz jak CRT działają na wzrok? Podpowiem ci - nienajlepiej, no ale on się przekonać nie da bo 'starsze pokolenie wie lepiej bo ma więcej doświadczenia'.

Jak już musisz korzystać z Dev to weź chociaż to, sama obsługa niczym się nie różni a troszkę tu poprawili. Od siebie polecam jeszcze MS Visual C++.


(system) #10

Trochę Ciebie oświecę, wadą monitorów CRT (kineskopów) jest to, że promieniują natomiast zaletą że wyświetlają lepsze kolory. Przykładowo kolor czarny może być bardziej wyrazisty na CRT niż na LCD. Jeśli chcesz wiedzieć nie "zabiłeś" mnie tą odpowiedzią. MS Visual C++ Express 2010, jak sama nazwa wskazuje używam do C++, nie wydaje się mi, że można tam pisać w C. A to jest tylko dowodem, że nie czytasz dokładnie. Dla twojej i innych informacji nie muszę używać Dev-C++. Nie rozumiem tych wykładów i proszę zostawcie w spokoju w czym ja piszę te "programy". Błąd, który popełniłem w programie polegał z mojego zagapienia, a jak wiadomo nie miałem zadeklarowanej zmiennej "tablicowej" a w chwili wystąpienia takiej zmiennej, takim wypadku referencji nie trzeba wstawiać. Przeszedłem na Code::Blocks, bo faktycznie Dev-C++ jest już przeżytkiem.

Tutaj dla Ciebie link w ramach pomocy : http://pl.wikipedia.org/wiki/Microsoft_Visual_Studio

Pozdrawiam


(Wojtekbogocki) #11

Kod który napiszesz w C w 99% przypadków skompiluje się w kompilatorze C++ a jak nie to zawsze możesz użyć

extern "C"

{


};

Sam z powodzeniem używam VC++ nawet jeśli piszę coś w zwykłym C.

Przecież już od dawna (tak w IT to jest długo) istnieją LED-y, tu już nie jesteś w stanie mi powiedzieć, że CRT mają leprze kolory :stuck_out_tongue:

Ale dobra, rób jak chcesz ja się już nie wtrącam.


(system) #12

Owszem można użyć biblioteki z C w Visual C++ oraz innym IDE. Tylko, że wiesz ja wyznaje taką teorie, że program "czysto" z c ma rozszerzenie *.c a nie *.cpp twój sposób wydaje się trochę przekombinowany . Co do

Nie widzę, żebym wspominał o LCD z dopiskiem LED, także "nie odwracaj kota ogonem".

Naprawdę proponuje zamknąć temat.

Pozdrawiam


(Agatonster) #13

Wystarczy.

Temat wyczerpany, zamknięty na prośbę Autora.