Problem z kompilacją i uruchomieniem programu

0

Witam bardzo serdecznie wszystkich użytkowników forum. Mam problem z programami jakie robię w C++. Na początek powiem, że używam programu Dev-C++.

Korzystam z książki "Symfonia C++". Naukę rozpocząłem dopiero dzisiaj i aż sam się dziwię, ale sprawia mi wielką przyjemność. Mam jednak bardzo duży problem z programami jakie tworzę. Zacznę może jednak od początku. Otwieram Dev-C++, klikam "Plik" --> "Nowy" --> "Plik źródłowy" i zaczynam pisać taki oto prosty program.

#include <iostream.h>
main()
{
      cout << "Witam w programie przeliczeniowym!\n" ; 
      cout << "Dzieki niemu przeliczysz metry na kilometry.\n \n" ;   

      int     metry ;
      float   kilometry ;
      float   przelicznik = 0.001 ;
      
      cout << "Podaj odleglosc w metrach : " ;
      cin >> metry ;
      
      kilometry = metry * przelicznik ;
      
      cout << endl ;
      
      cout << metry << " metrow to jest : " 
           << kilometry << " kilometrow\n " ;
} 

Teraz kompiluję i uruchamiam. Wszystko pięknie, ale gdy wpiszę wartość liczbową, którą chcę przeliczyć na kilometry i klikam Enter... program w ułamku sekundy się wyłącza. Nie wiem czym jest to spowodowane. Doszedłem, że wszystko dobrze działa, gdy używam opcji "Odpluskwiaj". Ale gdy otwieram ten program z zapisanego pliku, sytuacja się powtarza - po wpisaniu wartości, momentalnie program się wyłącza.

BARDZO PROSZĘ O POMOC! Czy to wina kompilatora? A może to ja popełniam jakieś błędy? Będę ogromnie wdzięczny za odpowiedź!

0

1.Usuń Dev-Cpp
2.

main()
  • czegoś tutaj brakuje :P
cout << endl ;
  • to tak można ?
0

@Strawenth
4. zacznij uczyć się z nowszej edycji: Symfonia C++ Standard, bo uczysz się ze zbyt przestarzałej książki.
Ogólnie wszystko dobrze działa, po prostu program po zakończeniu od razu się zamyka. Zamiast z DevC++ korzystaj np. z Code::Blocks - dużo wygodniejszy, nowszy.

@Patryk27: 3. tak można ;) Tu jeszcze nie ma przestrzeni nazw.

0

1.Usuń Dev-Cpp

Hehe. :D Widziałem na paru forach, że ludzie polecają ten program. A że nie chciało mi się ściągać Visual Expressa (chciałem jak najszybciej zacząć pisać te programy!) to wybrałem ten...

czegoś tutaj brakuje

W "Symfonii C++" jest w przykładzie właśnie tak: main() Więc nie wiem, czy czegoś brakuje, czy nie, bo raczkuję w C++. :)

A co do punktu 3. to autor "Symfonii C++" pisze, że tak można, bowiem cout << "\n" ; = cout << endl ;
Ja tam mu wierzę, bo działa. :)

0

To co napisałeś pod dużą częścią kompilatorów się nie skompiluje(np. pod Visual C++). Dzisiaj to powinno wyglądać tak:

#include <iostream>

using namespace std;

int main()
{
    //kod programu
    return 0;
}

Jak się będziesz uczył z tej książki to ciężko Ci będzie i będziesz się musiał później nauczyć zmian jakie wprowadzono od czasu wydania tej książki a dzisiaj.

0

Zamiast z DevC++ korzystaj np. z Code::Blocks - dużo wygodniejszy, nowszy.

Dobrze się składa, że wspomniałeś o tym programie, bowiem na początku właśnie z niego korzystałem. Nie wiem jednak jak uruchamiać w nim programy. Program, którego kod zmieściłem w pierwszym poście w Dev-C++ uruchamia się (bez)problemowo. A w Code::Blocks klikam na "Build & Run" i... koniec. Nic się nie uruchamia.

A co do nowszej wersji książki - wielkie dzięki za radę. Postaram się ją wypożyczyć w najbliższych dniach. Z tego co widzę, to kod przedstawiony przez Ciebie sporo się różni od standardów "Symfonii C++", więc koniecznie muszę się przesiąść na nowszą wersję. Jeszcze raz dziękuję!

A tak poza tym, to jestem trochę zszokowany szybkością i jakością odpowiedzi. :P Spodziewałem się, że jak do końca niedzieli dostanę jakąś odpowiedź to będzie dobrze. Dzięki jeszcze raz. :)

0

cout << endl; to nie cout << '\n'; tylko cout << flush(ogólnie flushowanie) << '\n';
Ściągnąłeś wersje code::blocks ważącą ok. 70 mb? Nie ma takiego czegoś jak iostream.h. Jest tylko iostream. Używaj using namespace std;, bo bez tego wyjdzie ci to, że nie wiem co to cout....

0

@Macron
Używałem starego wydania "Symfonii C++", stąd te wszystkie błędy. Obiecuję się poprawić! :)

A jeśli nie "Symfonia C++", to co? Znacie jakieś inne bardzo dobre i logiczne podręczniki, które dobrze tłumaczą podstawy?

0

Thinking in C++ - podobno dobra księga

0

Ja polecam Symfonie C++ Standard - imo świetna książka na start z programowaniem. Jeżeli już ktoś zna jakiś inny język, to może pewne trywialne rzeczy będą za bardzo rozwleczone, ale jeżeli to pierwszy język to się świetnie sprawdziła w moim przypadku.

Co do Thinking in C++ to wprawdzie z nią nie miałem styczności, ale jak czytam tego samego autora Thinking in Java to jakoś do mnie nie docierał - wolałem już oryginalne tutoriale sun'a

0

A co powiecie na tutorial "Od zera do gier kodera"? Jest do pobrania za darmo z sieci. Pytam, ponieważ aktualne wydanie "Symfonii C++" będę mógł wypożyczyć dopiero za jakiś tydzień, a podstawy języka programowania można poznawać na wiele różnych sposobów. A może proponujecie łatwiejszy/bardziej przystępny język, w którym można stworzyć coś ciekawego?

EDIT
Mam taki mały poradnik dla webmasterów z serii "Biblioteczka Komputer Świat", a mianowicie "Programowanie w PHP". Może warto nauczyć się podstaw PHP, bo w sumie, z tego co zauważyło moje nie wprawione oko, C++ i PHP mają ze sobą trochę wspólnego.

0

Z "Od zera do gier kodera" się uczyłem. Ma kilka błędów, ale na początek go polecam. Tylko mapiętaj int main(), nie void main()

0

Jeśli chodzi o ścisłość, to właściwie :

int main(int argc, char **argv){
//treść programu
return 0;
}

;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1