Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut]Budowa Programu


Rekomendowane odpowiedzi

Opublikowano

Budowa programu

 

Zaczniemy od najprostszego programu, jaki tylko można napisać, czyli tak zwanego "Hello, world!". [Nazwa wzięła się z angielskiego i znaczy "Witaj, świecie!"]. Program taki nie robi nic, prócz pokazania jakiegoś goopiego komunikatu powitalnego :-P. Utwórz w swoim kompilatorze nowy projekt. Powinien on zawierać jakiś plik cpp, w którym będziesz pisać tekst programu [albo "kod", jak zwą go fachowcy]. W tym pliku wpisz coś takiego:

 

 

 

#include <iostream.h>

int main() {

//tu jest to, co program ma robić

}

 

 

 

 

Pierwsza linijka to dyrektywa preprocesora. Opowiemy sobie o tym innym razem, a narazie wystarczy ci wiedzieć, że taka komenda dołącza plik nagłówkowy z opisem jakiejś biblioteki [ang. include - dołącz], by kompilator mógł z niej skorzystać. Nazwę dołączanego pliku podaje się między znaczkami < i >. W tym przypadku dołączamy plik nagłówkowy iostream.h. Dzięki bibliotece iostream korzystanie z konsoli [klawiatura + monitor] jest dziecinnie proste. Ale o tym za chwilę.

 

Działanie każdego programu w C++ zaczyna się w funkcji zwanej main. Wszystko, co się w niej znajduje [między znaczkami { i }] zostanie wykonane. Tu właśnie umieszcza się instrukcje. W C++ każda instrukcja musi się kończyć średnikiem. Inaczej kompilator może pomieszać dwie instrukcje i wywali błąd.

 

W powyższym przykładzie nie ma żadnych instrukcji w funkcji main. Zamiast tego jest tam komentarz. Komentarz zaczyna się od // i obejmuje jedną linię. Cała taka linijka jest ignorowana przez kompilator, więc możemy tu pisać co chcemy. Są też komentarze obejmujące fragment tekstu [nawet więcej niż jedną linijkę]. Zaczynają się od /* i kończą przy */. Warto dawać komentarze w swoich programach, bo często po miesiącu zapomina się jak działał dany fragment kodu. Można też używać komentarzy do chwilowego "wyłączenia" fragmentu programu bez usuwania go.

 

Dobra, ale obiecałem, że programik będzie coś wypisywał. Po to właśnie dołączona jest biblioteka iostream [ang. input/output stream - strumień wejścia/wyjścia]. Wyobraź sobie, że z twojego programu wystają dwie grube "rury". Jedną rurą przylatują mu informacje od użytkownika [wpisywane z klawiatury], a do drugiej rury program wrzuca swoje odpowiedzi i lecą one tamtędy na ekran. Te rury to strumienie. Są dwa rodzaje strumieni: wejściowy i wyjściowy, i mają one swoje nazwy [wejściowy to cin, a wyjściowy to cout]. Żeby więc wypisać tekst na ekranie, program musi go wrzucić do strumienia wyjściowego. Służy do tego taka instrukcja:

 

 

 

cout << "Czolem, ludziska!";

 

 

 

 

Powyższa linijka spowoduje wysłanie tekstu "Czołem, ludziska!" zgodnie z kierunkiem "strzałek" do strumienia wyjściowego [cout], którym jest oczywiście ekran. Proste? No to wywal teraz ten komentarz i wstaw w jego miejsce powyższą instrukcję. Tak to powinno teraz wyglądać:

 

 

 

#include <iostream.h>

int main() {

cout << "Czolem, ludziska!";

}

 

 

 

 

Skompiluj sobie teraz powyższy programik i zobacz, jak działa.

Możliwe, że zaraz po wyświetleniu tekstu okienko konsoli zniknie, bo system zazwyczaj zamyka okna programów konsolowych, które się zakończyły. Ustaw więc w systemie tak, żeby okna nie zamykały się automatycznie, bo inaczej nie zobaczysz efektów działania twoich programów. Jeśli nie wiesz jak to zrobić, zajrzyj do mojego FAQ.

 

Spróbujmy teraz wypisać więcej tekstów naraz. Domyślasz się już jak to zrobić? Oczywiście. Trzeba dopisać kolejną instrukcję wrzucającą tekst do strumienia. Zobacz jak ja to zrobiłem:

 

 

 

#include <iostream.h>

int main() {

cout << "Czolem, ludziska!";

cout << "Jak sie macie?";

}

 

 

 

 

Po skompilowaniu i uruchomieniu powyższego programu okazuje się, że program zadziałał nie tak jak tego chcieliśmy. Dlaczego oba teksty pojawiły się w jednej linijce? Odpowiedź jest prosta jak metr drutu w kieszeni: bo nie kazaliśmy programowi przeskoczyć do następnej linijki tekstu! Są dwa sposoby, by to zrobić:

1. Umieścić w tekście znak specjalny, który przerzuci tekst do następnej linii. Znak taki składa się z dwóch znaczków: \ i litery oznaczającej jakąś akcję. Na przykład znak \n oznacza przeniesienie tekstu do następnej linii.

2. Dorzucić do strumienia odpowiedni manipulator, czyli specjalną wartość, która steruje strumieniem. W naszym przypadku będzie to manipulator endl, który każe strumieniowi przerzucić tekst do następnej linii.

Tak wyglądałby program przy zastosowaniu pierwszego sposobu:

 

 

 

#include <iostream.h>

int main() {

cout << "Czolem, ludziska!\n";

cout << "Jak sie macie?\n";

}

 

 

 

 

A tak by wyglądał przy zastosowaniu drugiego sposobu:

 

 

 

#include <iostream.h>

int main() {

cout << "Czolem, ludziska!" << endl;

cout << "Jak sie macie?" << endl;

}

 

 

 

 

Stosować będziemy ten, który w danej chwili będzie nam bardziej odpowiadać. Można też umieścić wszystko w jednej linii, nie ma znaczenia w jaki sposób to zrobisz, byle działało tak jak tego chcesz.

 

Jeśli ci się nudzi, poeksperymentuj teraz sam z tym programem. Na przykład zmień wyświetlany tekst na taki, jaki ci się bardziej podoba.

  • 1 miesiąc temu...
Opublikowano

W większości kompilatorów trzeba dodawać using namespace std; albo dodawac wszedzie przed cin i cout std:

18342.png

14284.png

30333.png

4395.png

18706.png

Opublikowano

Dokładnie tak jak napisał UP. A po za tym gdzie to FAQ?! Eh jestem dzisiaj uczynny i napiszę jak zatrzymać konsolę.

 

#include <iostream>
#include <cstdlib>
using namespace std;

main(){

// Programik....

system ("PAUSE");
return 0;
}

 

Za zatrzymanie konsoli odpowiadają:

#include <cstdlib>

oraz

system ("PAUSE");

 

I tak apropos... w twoim tutku są 3 błędy. Jeden z "using namespace std;", drugi brak zatrzymania konsoli (choć pisałeś o jakimś FAQ), a trzeci... gdzie wciąłeś "return 0;" ? xD Z tym zatrzymywaniem konsoli to nie trzeba ustawiać nic w SYSTEMIE!

Ogólnie poradniczek ładny. ;) Kod programu daj tylko w [c o d e] [/ c o d e] i będzie ładnie i przejrzyście. ;)

Moje patche:

Moje tutoriale:

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...