Podstawy informatyki. Prowadzący cz. 2 (C++) wykładu: dr inż. Sylwester Przybył Instytut Fizyki WFT tel. (0-61) ;

Podobne dokumenty
Temat 1: Podstawowe pojęcia: program, kompilacja, kod

( wykł. dr Marek Piasecki )

Programowanie w języku C++

Język ludzki kod maszynowy

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Materiały. Języki programowania II (Java+AVR-GCC) Literatura

Słowa kluczowe i nazwy

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Techniki Programowania

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Programowanie strukturalne i obiektowe

Podstawy języka C++ Marek Pudełko

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia

I - Microsoft Visual Studio C++

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Języki programowania - podstawy

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

C++ wprowadzanie zmiennych

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

2 Przygotował: mgr inż. Maciej Lasota

Podstawy programowania C. dr. Krystyna Łapin

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

ROZDZIAŁ 2. Operatory

Część 4 życie programu

Podstawy Programowania Podstawowa składnia języka C++

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Wstęp do programowania

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Podstawy programowania skrót z wykładów:

1 Podstawy c++ w pigułce.

Podstawy Programowania. Wykład 1

Podstawy programowania w języku C

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Język C - podstawowe informacje

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

ECLIPSE wnioski z dwóch pierwszych laboratoriów

Proces tworzenia programu:

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

1 Podstawy c++ w pigułce.

Podstawy Programowania

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

PROGRAMOWANIE w C prolog

Wstęp do programowania. Wykład 1

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Microsoft IT Academy kurs programowania

Programowanie obiektowe

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Wstęp do Programowania 2

Wykład 1

Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

3. Instrukcje warunkowe

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

Wstęp do programowania

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Co nie powinno być umieszczane w plikach nagłówkowych:

Wstęp do programowania 1

Instrukcje sterujące. Programowanie Proceduralne 1

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Zmienne, stałe i operatory

Programowanie komputerowe. Zajęcia 1

Programowanie strukturalne język C - wprowadzenie

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Pytania sprawdzające wiedzę z programowania C++

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Operatory, wyrażenia i typy proste

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Spis treści

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Podstawy programowania - 1

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Język C++ wykład VIII

Wstęp do programowania

Podstawy programowania w języku C i C++

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Języki i metodyka programowania. Wprowadzenie do języka C

Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wstęp do Programowania, laboratorium 02

dr Gabriela Omiecińska pokój 274 piątek: sobota PDF stworzony przez wersję demonstracyjną pdffactory

Transkrypt:

Prowadzący cz. 2 (C++) wykładu: dr inż. Sylwester Przybył Instytut Fizyki WFT tel. (0-61) 665-3246; Podstawy informatyki e-mail : sylwester.przybyl@put.poznan.pl Konsultacje: środa, 11:45 13:15, pok. 537. W ramach DreamSpark Premium możliwe są do pobrania poniższe kompilatory C++ - Microsoft Visual Studio 2013, - Microsoft Visual Studio 2012, - Microsoft Visual Studio 2010, - Microsoft Visual C++ 2008, - Microsoft Visual C++ 2005,

LITERATURA Bjarne Stroustrup (twórca języka C++) Język C++ Bjarne Stroustrup Programowanie. Teoria i praktyka z wykorzystaniem C++ (wyd.ii popr.) Jerzy Grębosz Symfonia C++ Standard (C++03) Jerzy Grębosz Pasja C++ (niestety stare) Siddhartha Rao C++. Dla każdego. Wydanie VII Nicholas A. Solter, Scott J. Kleper C++ Zaawansowane programowanie Stephen Prata Język C++. Szkoła programowania. Wydanie VI Anthony Williams Język C++ i przetwarzanie współbieżne w akcji D. Ryan Stephens C++ Receptury (O Reilly) Nicolai M. Josuttis C++. Biblioteka standardowa. Podręcznik programisty David Vandevoorde, Nicolai M. Josuttis C++ szablony. Vademecum profesjonalisty Mariusz Owczarek Microsoft Visual C++ 2008, Praktyczne przykłady Radosław Sokół Microsoft Visual Studio 2012. Programowanie w C i C++

Cel dydaktyczny: Zapoznanie studentów z podstawami języka C++ umożliwiającego tworzenie programów numerycznych rozwiązujących zagadnienia pojawiające się w fizyce i technice. Realizowane zagadnienia: - Programowanie w języku C++: środowisko Visual C++. - Operacje wejścia-wyjścia. Typy i deklaracje. Wyrażenia i instrukcje. - Operacje arytmetyczne i logiczne. Funkcje. Wskaźniki i tablice. - Klasy i obiekty. Zasady programowania strukturalnego i obiektowego. - Przeładowanie operatorów. - Dziedziczenie. - Obsługa plików tekstowych i binarnych.

Możliwe do pobrania z tego wykładu prezentacje

Wygląd środowiska Microsoft Visual Studio Express 2013

Tworzenie nowego projektu konsolowego Z menu: FILE / New Project następnie z powstałego okienka: Templates / Visual C++ / CLR / Empty Project Ponownie z menu: PROJECT / Add New Item (CTrl+Shift+A) i znów z powstałego okienka: Installed / Visual C++ / C++File (.cpp) (lub) Installed / Visual C++ / Code / C++File (.cpp)

PROCES TWORZENIA PROGRAMU #include <iostream> #define _USE_MATH_DEFINES #include <math.h> int main(void) cout << "Pierwiastek z 10 wynosi "; cout << sqrt(10.0); getchar();

PROCES TWORZENIA PROGRAMU edytor (*.cpp) kod zódłowy kompilator (*.obj) kod obiektowy (wynikowy) linker (*.exe) kod wynikowy połączony z bibliotekami debugger (swep/watch) śledzenie działania, usuwanie błędów Kompilacja Łączenie Kod źródłowy Kod obiektowy Kod binarny Pliki źródłowe włączane Biblioteki Kod źródłowy program napisany w języku takim jak Pascal lub C++ czytelny dla programisty Kod wynikowy - program zapisany jako ciąg rozkazów i danych w kodzie maszynowym procesora w postaci czytelnej dla komputera

Schemat blokowy zakupu butów zimowych w mieście, w którym jest 10 sklepów START START obliczenia NrSklepu=1; TAK sprawdzenie warunku NIE NIE Brak odpowiednich butów w sklepach!!! NrSklepu<=10; TAK Czy to sklep obuwniczy? NrSklepu=NrSklepu+1; NIE komunikat TAK Czy są buty zimowe? NIE TAK Przymierzamy NIE Kupujemy TAK Czy pasują? NIE Czy są inne buty? Hura! MAM BUTY STOP TAK Poproszę inną parę

int main(void) Najprostszy program Przechowywanie oraz zmiana danych w zmiennych. #include <iostream> int main(void) int x=5; cout<<x<<endl; x=12; cout<<x<<endl; x=4+3; cout<<x<<endl; x=x+4; cout<<x<<endl; getchar();

Proste obliczenia - iloczyn liczb #include <iostream> int main(void) int liczbanr1, liczbanr2 ; int wynik ; cout << " Obliczam iloczyn dwóch liczb " << endl ; cout << " Podaj pierwsza liczbe X = " ; cin >> liczbanr1 ; cout << " Podaj druga liczbe Y = " ; cin >> liczbanr2 ; wynik = liczbanr1 * liczbanr2 ; cout << " Wynik obliczenia X * Y = " << wynik << endl ;

Proceduralna i obiektowa komunikacja z użytkownikiem /* proceduralnie: C / C++ */ #include <stdio.h> int main( void) printf(" Dzien "); printf(" dobry\n "); // obiektowo: C++ #include <iostream> int main( void) std::cout << " Dzien " ; std::cout << " dobry " << std::endl ; #include stdio.h iostream main void \n przejście do nowego wiersza \t znak tabulacji \ znak cudzysłowu dyrektywa dołączenia tekstu zawartego w pliku (StandardInputOutput) plik definicji funkcji Wej/Wyj (InputOutputStream) plik definicji strumieni obiektowych zastrzeżona nazwa głównej funkcji programu typ danej pustej \\ jeden znak \ endl manipulator przejścia do nowej linii

KOMENTARZE /* -------------------------------------------------------------------------------------------------- Do programu można wprowadzić opisy - komentarze. Komentarze są ignorowane przez kompilator. To jest komentarz pierwszy sposób. UWAGA: taki komentarz nie może być zagnieżdżony --------------------------------------------------------------------------------------------------- */ #include <iostream> //--------------------------------------------------------------------------------------------------- int main(void) cout<< "Plik o nazwie \"win.ini\" znajduje"; // Komentarz drugi sposób. cout<< " sie w C:\\WINDOWS. "<<endl; // Kompilator ignoruje resztę // znaków do końca linijki. //--------------------------------------------------------------------------------------------------

Proceduralna i obiektowa komunikacja z użytkownikiem cd. /* proceduralnie: C / C++ */ #include <stdio.h> #include <stdlib.h> int main( void) int x, y, s; system( "cls"); printf ( "Podaj x = "); scanf ( "%d", &x ); printf ("Podaj y = "); scanf ("%d", &y ); s = x+y; printf("suma x+y = %d\n", s ); // obiektowo: C++ #include <iostream> int main( void) int x,y,s; system( "cls"); cout << "Podaj x = "; cin >> x ; cout <<"Podaj y = "; cin >> y ; s = x+y; cout << "Suma x+y="<< s << '\n' ;

SŁOWA KLUCZOWE Następujące słowa, zwane słowami kluczowymi, są zastrzeżone dla kompilatora języka C++ i nie mogą być używane jako nazwy zmiennych, funkcji lub etykiety: alignas (od C++11) alignof (od C++11) and and_eq asm auto(*) bitand bitor bool break case catch char char16_t (od C++11) char32_t (od C++11) class compl const constexpr (od C++11) const_cast continue decltype (od C++11) default(1) delete(1) do double dynamic_cast else enum explicit export(*) extern false float for friend goto if inline int long mutable namespace new noexcept (od C++11) not not_eq nullptr (od C++11) operator or or_eq private protected public register reinterpret_cast return short signed sizeof static static_assert (od C++11) static_cast struct switch template this thread_local (od C++11) throw true try typedef typeid typename union unsigned using(*) virtual void volatile wchar_t while xor xor_eq

DEFINIOWANIE ZMIENNYCH USTALENIE TYPU, NAZWY #include <iostream> int main( void) int i = 30; int j, Wiek_Ireny, Irena = i, irena =34, WiekIreny; double h = 3.5, w = 4.7e6; float war = 3.3f; char symbol = 'a'; /* ale nie char tekst = Litwo, Ojczyzno moja ; int Wiek Oli =35; double 5objetosci = 35.6; */ cout << "Irena=" << Irena << endl; cout << "irena=" << Irena << endl; cout << "w=" << w << endl; cout << "symbol=" << symbol << endl; // to dalszy ciąg linii

PODSTAWOWE TYPY ZMIENNYCH Nazwa typu Zawartość Przedział wartości Zajęta pamięć char znak - 128 127 1 bajt int liczba całkowita - 2 147 mln 2 147 mln 4 bajty float liczba rzeczywista 10e-38 10e38 (7cyfr) 4 bajty double liczba rzeczywista 10e-308 10e308 (15cyfr) 8 bajtów MODYFIKATORY TYPU signed ze znakiem int char - unsigned bez znaku int char - short krótka (mniejsza) int - - long długa (większa) int - double np. unsigned long int dlugaliczbabezznaku; 13!=6 227 020 800 20! =2 432 902 008 176 640 000

TYPY ZMIENNYCH Typ bool char unsigned char short int Wielkość w bajtach 1 1 1 2 Zakres/Precyzja -128 127 całe ASCII (-128 127) całe ASCII (0 255) -32 768 32 767 unsigned short int int, long int unsigned int (long int) long long unsigned long long float double long double 2 4 4 8 8 4 8 10 0 65 535-2 147 483 648 2 147 483 647 0 4 294 967 295 (-9223 9223) 10 15 (0 18446) 10 15 1.2E38 3.4E38 / 7 cyfr znacz 2.2E-308 1.8E308/ 15 cyfr znacz. 3.4E-4932 1.2E4932 / 19 cyfr zn.

OPERATORY ARYTMETYCZNE + dodawanie - odejmowanie * mnożenie / dzielenie % reszta z dzielenia #include <iostream> int main( void) int a = 17, i; cout << a+3 << endl; i = a % 6; cout << i << endl; OPERATORY PRZYPISANIA = zwykłe przypisanie x = 2; += przypisanie sumy x+=2; x = x + 2; -= przypisanie różnicy x-=2; x = x - 2; *= przypisanie iloczynu x*=2; x = x * 2; /= przypisanie ilorazu x /=2; x = x / 2; %= przypisanie reszty x%=2; x = x % 2;

OPERATORY PRZYPISANIA - przykład #include <iostream> int main( void) int x=5; cout << x << endl; x += 2; cout << x << endl; x -= 4 + 1; cout << x << endl; x *= x; cout << x << endl; x /= 5; cout << x << endl;

OPERATORY INKREMENTACJI I DEKREMENTACJI zmienna++ - inkrementacja zmiennej po wyliczeniu wyrażenia ++zmienna - inkrementacja zmiennej przed wyliczeniem wyrażenia zmienna-- - dekrementacja zmiennej po wyliczeniu wyrażenia --zmienna - dekrementacja zmiennej przed wyliczeniem wyrażenia objaśnienie: i++; i+=1; i=i+1; np. int i = 0; i++; int j = i; int x = 1; int y = ++ x ; /* rezultat: x=2, y=2; kolejność wykonywania ++x; y=x; */ int a =1; int b = a ++ ; /* rezultat: a=2, b=1; kolejność wykonywania b=a; a++; */

PRIORYTETY OPERATORÓW - przykład #include <iostream> int main( void) int x; x = 2 + 3 * 10; cout << x << endl;

PRIORYTETY OPERATORÓW W JĘZYKU C++

PRIORYTETY OPERATORÓW W JĘZYKU C++, CD

OPERATORY RELACYJNE == równe!= różne < mniejsze > większe <= mniejsze lub równe >= większe lub równe #include <iostream> int main( void) int a; cout << "Podaj liczbe a = "; cin >> a; if( a < 0 ) cout << "Jest to liczba ujemna"; else cout << "Jest to liczba nieujemna"; Przykłady: wyrażenie wynik 5 == 7 fałsz 3.14 >= 3.14 prawda 3.14 < 3.14 fałsz 7!= 5 prawda 0 FAŁSZ 2.7174 PRAWDA wartość 0 (zero) jest traktowana jako FAŁSZ, dowolna inna jako PRAWDA

#include <iostream> INSTRUKCJA WARUNKOWA IF -usunąć łącznik else -zostawić podwójny warunek -zostawić pojedynczy warunek -usunąć klamerki -zamiana if ów 1-2 int main( void) double waga; cout << " Przekazujemy na poczcie ciężki list do wysłania.\n"; cout << " Waga pokazuje następującą masę listu (w gramach):"; cin >> waga; cout << "\n\n Odpowiedź obsługi :\n\n"; if (waga > 100) cout << " Waga przekracza 100 gram." << endl; cout << " List może być przesłany tylko jako paczka." << endl; else if (waga >0) cout << " Cena znaczka na list wynosi 1,80 zł " << endl; else cout << " Przepraszam, zepsuła nam się waga.\n " << endl;

OPERATORY LOGICZNE -a=-2,b=3 && koniunkcja (AND) alternatywa (OR)! negacja (NOT) przykład: #include <iostream> int main( void) int a = -2, b = -2; if ( a > 0 && b > 0) cout << "\n Spelniony pierwszy warunek "; if ( a > 0 b > 0) cout << "\nspelniony drugi warunek "; if (! ( a == b) ) cout << "\nspelniony trzeci warunek "; if ( a!= b ) cout << "\nspelniony czwarty warunek ";

ZAGNIEŻDŻANIE INSTRUKCJI WARUNKOWYCH IF #include <iostream> int main( void) double waga, godz; cout << "WYSYLAMY LIST\n\n"; cout << "Podaj godzine dostarczenia:"; cin >> godz; cout << "Podaj wage listu w gramach:"; cin >> waga; cout << endl; if (godz>10 && godz<18) if (waga > 100) cout << " Waga przekracza 100 gram." << endl; cout << " List może być przesłany tylko jako paczka." << endl; else if (waga >0) cout << " Cena znaczka na list wynosi 1,60 zł" << endl; else cout << " POCZTA ZAMKNIETA " << endl;

#include <iostream> CZĘSTE BŁĘDY POCZATKUJĄCYCH int main( void) int waga = 12; if( waga > 100); cout << " Waga przekracza 100 gram." << endl; cout << " List może być przesłany tylko jako paczka." << endl; // Tak rozumie to kompilator if( waga > 100) ; cout<< " Waga przekracza 100 gram." << endl; cout<< " List może być przesłany tylko jako paczka. " << endl; // Poprawne rozwiązanie if( waga > 100) cout << " Waga przekracza 100 gram." << endl; cout << " List może być przesłany tylko jako paczka." << endl;

#include <iostream> int main( void) int wiekoli = 12; CZĘSTE BŁĘDY POCZATKUJĄCYCH if( wiekoli = 10) if( wiekoli = 11) if( wiekoli = 12) cout << " Ola ma dziesiec lat " << endl; cout << " Ola ma jedenascie lat " << endl; cout << " Ola ma dwanascie lat " << endl; // Poprawne rozwiązanie int wiekoli = 12; if( wiekoli == 10) if( wiekoli == 11) if( wiekoli == 12) cout << " Ola ma dziesiec lat " << endl; cout << " Ola ma jedenascie lat " << endl; cout << " Ola ma dwanascie lat " << endl;

CZĘSTE BŁĘDY POCZATKUJĄCYCH #include <iostream> int main( void) int wiekoli = 12; int wiekuli = 12; int wiekani = 12; if( wiekoli == wiekuli == wiekani) cout<<" Ola, Ula i Ania maja tyle samo lat "<<endl; else cout <<" Ola, Ula i Ania maja rozna ilosc lat "<<endl; // Tak rozumie to kompilator int wiekoli = 12; int wiekuli = 12; int wiekani = 12; if( wiekoli == wiekuli == wiekani) // if( (wiekoli == wiekuli )== wiekani) // if( (12 == 12) == 12) // if( true == 12) // if( 1 == 12) cout<< " Ola, Ula i Ania mają tyle samo lat " << endl; // Poprawne rozwiązanie if( wiekoli == wiekuli && wiekuli == wiekani) cout<< " Ola, Ula i Ania mają tyle samo lat " << endl;

#include <iostream> CZĘSTE BŁĘDY POCZATKUJĄCYCH int main( void) double godz = 12, waga = -12; if( godz>10 && godz<18 ) if( waga > 100) cout<< " Waga przekracza 100 gram." << endl; cout<< " List moze byc przeslany tylko jako paczka." << endl; else if( waga >0) cout<< " Cena znaczka na list wynosi 1,80 zl" << endl; else cout<< " POCZTA ZAMKNIETA " << endl; // Poprawne rozwiązanie if( godz>10 && godz<18 ) if( waga > 100) cout<< " Waga przekracza 100 gram." << endl; cout<< " List moze byc przeslany tylko jako paczka." << endl; else if( waga >0) cout<< " Cena znaczka na list wynosi 1,80 zl" << endl; else cout<< " POCZTA ZAMKNIETA " << endl;