#include <iostream>
int main()
{
using namespace std;
int marchewki; //deklarujemy zmienną typu integer
//o nazwie marchewki
marchewki = 25; //zmiennej marchewki przypisujemy
//wartość 25
cout<<"Mam ";
cout<<marchewki; //pokazujemy wartość zmiennej
cout<<" marchewek.";
cout<<endl;
marchewki = marchewki - 1; //modyfikacja zmiennej
cout<<"Chrum, chrum. Dobre. Teraz mam "<<marchewki;
cout<<" marchewki."<<endl;
return 0;
}
W MS Visual Studio wygląda to tak:
Program nie tylko trochę nam podpowiada gdy piszemy, ale też sam koloruje kod. Po skompilowaniu (F5) Otrzymujemy taki wynik:
Proste, łatwe i przyjemne. Puste wiersze pomagają zachować czytelność kodu. Tak samo wcięcia wewnątrz nawiasów funkcji. Warto o tym pamiętać (przyda się zwłaszcza w pętlach).
Aktualizacja!
Aby okno nie śmigło nam przed oczami jak szalone dodajemy przed returnem instrukcję:cin.get();
Dziękuję za zwrócenie uwagi.
Deklaracja zmiennej.
Deklaracja pozwala zarezerwować w pamięci odpowiednią ilość miejsca. Zarezerwowane miejsce zostaje też odpowiednio nazwane. marchewki to nazwa i zarazem zmienna w naszym programie. Deklaracji można dokonać w dowolnym miejscu programu, ale przed pierwszym użyciem zmiennej!
Przypisanie.
marchewki = 25;
Pewne miejsce w pamięci zyskuje prze nie wartość. Znak =, to operator przypisania. Ma on jedną dość ciekawą cechę - może być użyty wielokrotnie w jednej instrukcji, np.:
marchewki = kapusta = jabłka = 25;
Druga instrukcja przypisania pokazuje jak zmienić wartość zmiennej.
marchewki = marchewki - 1;
Po prawej stronie mamy wyrażenie arytmetyczne. Zasada jest taka, że najpierw obliczane jest wyrażenie (stara wartość marchewki) a dopiero potem wykonywane jest przypisanie (od tego momentu zmiana wartości marchewki na nową wartość).
Na koniec, jak pewnie łatwo zauważyć przy instrukcji cout, kilka słów o wyświetlaniu zmiennej. Wykona to dla nas komenda:
cout<<marchewki;
Po pierwsze cout zamienia nam tutaj marchewki na wartość, a po drugie, wartość ta zamieniana jest na odpowiednie znaki (w celu wyświetlenia).



No raczej ten wynik się nie wyświetli wciskając klawisz "F5" tylko jak się z konsoli wpisze to tak. Żeby kod się wyświetlił po naciśnięciu klawisza "F5" polecam przeczytać o poleceniu system("pause"); który jest nierozłączne z VS ;) Tyle odemnie Pozdrawiam
OdpowiedzUsuńRacja, racja. Ekran mignie i zniknie. Aby go zatrzymać wystarczy dodać przed returnem cin.get();
OdpowiedzUsuńAle trudno dodawać cin, gdy nie chce się wyjaśniać za dużo - a ja miałem inny plan.
Drogi Panie Cybershocik Firfas polecenie system("PAUSE"); nie jest dorym poleceniem do zatrzymania(zapauzowania) okna konsoli w C++. Zanim się komuś radzi poczytać to lepiej poczytać samemu. Polecenie system jest częscią biblioteki cstdlib.h i jest częścią standartu ANSI C. Służy ono do wywoywania poleceń systemowych np z powodzeniem można w linuksie wywołać: system("sudo apt-cache search jre") lub w windowsie system("dir"). Argument: PAUSE jest typowym poleceniem w powłoce Windowsa a nie C++. Wydając polecenie system(....) defacto tracimy kontrole nad własnym programem na kożyść OS. Dlatego dużo lepsym wyjściem jest stosowanie tego co znalazło się w przykładzie(!!!!) czyli cin.get. Takie jest moje zdanie.
OdpowiedzUsuńsystem("Pause") może też przypadkiem niezadziałać, a na pewno wyświetli komunikat systemowy. Nie zawsze jest to pożądane.
OdpowiedzUsuńSprawdzi się też łopatologiczne:
int a;
cin>>a;
Zawsze zadziała :D
Ten komentarz został usunięty przez autora.
OdpowiedzUsuńOk zgadzam się z Panem ale zważywszy na fakt iż jest to Visual Studio to jest on specyficzny pod względem pisowni (tzwn chodzi mi np o tworzenie tablicy z funkcji gdyż narzuca on tylko jeden sposób alokowania pamięci dla tablicy poprzez (double *temp = new double[n];) bo sposob (double temp[n]) nie przechodzi) oraz jest on wytworem Microsoft (co samo za siebie mówi) zalecają pisać na każdej konferencji jakiej byłem tak pokazywali i mówili że to jest poprawne oraz tak sie powinno stopować w VS. Ale teraz patrzeć na to z drugiej strony tzwn z uruchomienia na innym kompilatorze i programie jest duże prawdopodobieństwo że kod może się nie skompilować lub działać niepoprawnie, sam miałem z tym do czynienia. A chciałem poprawić Pana Dworaka gdyż dużo ludzi pyta dlaczego im konsola "mrugnęła", jaki jest na to sposób oraz czy jest to konieczne skoro zwracamy (return 0; ) który jest akceptowalny przez większość kompilatorów języka c czy c++. Takie jest moje zdanie poprostu i z tego co wyciągnąłem z konferencji Microsoftu na różne tematy ;)
OdpowiedzUsuńPoprawiłem wpis bo coś poucinało mi tzwn polecenie nie wiem czemu ;(
Ustalmy, że uwaga o mignięciu słuszna - dziękuję bardzo. Zwracamy returnem, ale gdybyśmy go tam nie postawili, to zgodnie ze standardem C++, program zachowuje się tak, jakby return 0; było na końcu. Niejawna instrukcja powrotu jest dodawana tylko do funkcji main(). Return zamknie okno i żeby je zatrzymać dodajemy cin.get(); - ze wszystkich możliwości ta jest najlepsza.
OdpowiedzUsuńNo trudno się z tym nie zgodzić... a tak po za tym jeszcze jedno pytanie bo nie wiem czy się udało to Panu zrobić czy obciął Pan po prostu kod tzwn na początku trzeba mu dowiązać #include "stdafx.h" i się raz zastanawiałem czy udaje się to ominąć? To jest kolejny minus VS...
OdpowiedzUsuńSkasowałem #include "stdafx.h ale wtedy się pluje. Mimo to program działa. Oczywiście z tym też zadziała, ale chodzi o to, żeby można to było w byle czym napisać a nie tylko w VS. No ja akurat trzymam się tego kompilatora bo mam swoje powody.
OdpowiedzUsuńPS
Opcja "nie pokazuj ponownie" to jedna z lepszych w Windows :D