| Autor |
Wiadomość |
Alex ~user

Dołączył: 05 Gru 2004 Posty: 234
|
|
+ Jaki kompilator C/C++ polecacie?
+ Co to jest IDE?
+ Jakie IDE (Integrated Development Environment) polecacie?
+ Podajcie tytuły dobrych książek do nauki C/C++.
+ Jakie znacie dobre książki o C/C++?
+ Rezerwacja i zwalnianie pamięci w C.
+ Dynamiczna alokacja pamięci w C++.
+ Czy piszecie gotowe programy?
+ Czy Elvis żyje?
+ A co to jest wskaznik ?
===============================================
Jaki kompilator C/C++ polecacie?
GCC http://gcc.gnu.org/
Zobacz także: Przydatne linki C/C++
===============================================
Co to jest IDE?
IDE - (ang. Integrated Development Environment) - Zintegrowane Środowisko Programistyczne.
===============================================
Jakie IDE (Integrated Development Environment) polecacie?
Dev-C++ - bardzo dobre, wygodne, oparte o MinGW (Minimalist GNU for Windows), zintegrowane środowisko programistyczne. Rozpowszechniane na licencji GNU General Public License.
http://www.bloodshed.net
===============================================
Podajcie tytuły dobrych książek do nauki C/C++.
Jakie znacie dobre książki o C/C++?
Zobacz w dziale: Literatura
===============================================
Rezerwacja i zwalnianie pamięci w C.
Do rezerwacji pamięci w C służą funkcje:
| Kod: | void* malloc(size_t rozmiar);
void* calloc(size_t n, size_t rozmiar);
void* realloc(void* ptr, size_t rozmiar); |
Natomiast do jej zwalniania:
===============================================
Dynamiczna alokacja pamięci w C++.
Do rezerwacji pamięci w C++ służą operatory:
Do zwalniania pamięci nimi zarezerwowanej służą opeartory:
===============================================
Czy piszecie gotowe programy?
Nie, nie piszemy gotowych programów!
Jeżeli jednak chcesz złożyć komuś propozycję napisania takowego, to prosze zrób to w dziale CyberTarg. Może ktoś się tym zainteresuje.
===============================================
Czy Elvis żyje?
Z całą pewnościa - tak!
+ A co to jest wskaznik ?
2 post w temacie
_________________ pozdrawiam
Dwie zasady gwarantujace powodzenie:
1. Nigdy nie mow wszystkiego. |
|
| Powrót do góry |
|
|
hobson +Przyjaciel P-ZONE
Dołączył: 21 Gru 2006 Posty: 1574
Pomógł: 266
|
|
Napisałem swój pierwszy program typu "Hello World", ale on nie działa! Jedyne, co widzę, to migające przez chwilę czarne okienko konsoli. Co jest źle?
Najprawdopodobniej nic nie jest źle. Po prostu twój program wykonuje się tak szybko, że zanim zdążysz cokolwiek zobaczyć na konsoli, funkcja main kończy swe działanie, a konsola znika. Problem ten można rozwiązać na kilka sposobów:
- Jeśli uruchamiasz program pod kontrolą debuggera (a tak powinno być w przypadku 99% uruchomień podczas pisania programu), możesz ustawić breakpoint na ostatniej linijce funkcji main, lub na nawiasie klamrowym zamykającym tą funkcję. Gdy program dojdzie do tego miejsca zatrzyma się, a ty możesz zobaczyć wynik jego działania na konsoli.
- Niektóre środowiska mają opcję uruchamiania programu i pozostawiania otwartej konsoli po zakończeniu. Inne pozwalają na podgląd wyjścia programu, gdy zakończy on swe działanie. W środowisku MS Visual Studio można skorzystać z opcji Run without debugging (skrót kalwiszowy Ctrl + F5).
- Gdy chcesz uruchomić swój program poza kontrolą środowiska, otwórz konsolę (np. następującym poleceniem systemu Windows: Start/Uruchom.../cmd), przejdź do katalogu, w którym znajduje się twój skompilowany program, i wpisz jego nazwę (oraz, w razie potrzeby, parametry). Gdy program zakończy się, konsola pozostanie otwarta, a ty będziesz mógł przeczytać wszystko, co program wypisał.
- Jeśli chcesz uruchamiać program przy pomocy dwukrotnego kliknięcia na ikonkę, możesz stworzyć plik wsadowy uruchamiający twój program, i zatrzymujący się przy pomocy polecenia PAUSE. Albo możesz utworzyć skrót z ustawioną opcją pozostawiania otwartego okna konsoli po zakończeniu programu.
Ale ktoś powiedział mi, że mogę zatrzymać program przy pomocy jakiejś linijki kodu. Czy jest to możliwe? Jak to zrobić?
Tak, jest to możliwe. Takich sposobów na zatrzymanie programu w celu powstrzymania konsoli przed znikaniem przy pomocy kodu jest kilka. Nie podam jednak żadnego z nich. Dlaczego? Ponieważ żaden z nich nie jest dobry. Nie ma sensu tutaj zbytnie rozwodzenie się nad tym, że sposoby te są niestandardowe, niewydajne, nieprzenośne, itd. Po prostu powstrzymywanie konsoli przed zniknięciem jest w zdecydowanej większości przypadków zupełnie bez sensu, przecież nie jest to sposób, w jaki powinny działać aplikacje konsolowe. Popatrz sam: czy program ipconfig zatrzymuje się po wyświetleniu wszystkich informacji? A polecenie dir? Jeśli jednak powyższe argumenty nie przekonały cię, i nadal upierasz się przy tym, że powstrzymywanie konsoli przed znikaniem jest dobrym pomysłem, masz całkiem sporo sposobów do wyboru.
_________________ Pamiętaj o znacznikach [syntax="c++"] [/syntax]
Pamiętaj o interpunkcji i ortografii
---
Pomóz mi uczynić te teksty lepszymi:
std::vector Algorytmy standardowe Mój program uruchamia się i zaraz znika. Masz uwagi? pomysły na ulepszenie ich? napisz maila lub PW! |
|
| Powrót do góry |
|
|
Roman_Martewicz ~user

Dołączył: 12 Kwi 2009 Posty: 1 Skąd: Wrocław
|
|
| Alex napisał: |
+ Jaki kompilator C/C++ polecacie?
+ Co to jest IDE?
+ Jakie IDE (Integrated Development Environment) polecacie?
+ Podajcie tytuły dobrych książek do nauki C/C++.
+ Jakie znacie dobre książki o C/C++?
+ Rezerwacja i zwalnianie pamięci w C.
+ Dynamiczna alokacja pamięci w C++.
+ Czy piszecie gotowe programy?
+ Czy Elvis żyje?
+ A co to jest wskaznik ?
===============================================
Jaki kompilator C/C++ polecacie?
GCC http://gcc.gnu.org/
Zobacz także: Przydatne linki C/C++
===============================================
Co to jest IDE?
IDE - (ang. Integrated Development Environment) - Zintegrowane Środowisko Programistyczne.
===============================================
Jakie IDE (Integrated Development Environment) polecacie?
Dev-C++ - bardzo dobre, wygodne, oparte o MinGW (Minimalist GNU for Windows), zintegrowane środowisko programistyczne. Rozpowszechniane na licencji GNU General Public License.
http://www.bloodshed.net
===============================================
Podajcie tytuły dobrych książek do nauki C/C++.
Jakie znacie dobre książki o C/C++?
Zobacz w dziale: Literatura
===============================================
Rezerwacja i zwalnianie pamięci w C.
Do rezerwacji pamięci w C służą funkcje:
| Kod: | void* malloc(size_t rozmiar);
void* calloc(size_t n, size_t rozmiar);
void* realloc(void* ptr, size_t rozmiar); |
Natomiast do jej zwalniania:
===============================================
Dynamiczna alokacja pamięci w C++.
Do rezerwacji pamięci w C++ służą operatory:
Do zwalniania pamięci nimi zarezerwowanej służą opeartory:
===============================================
Czy piszecie gotowe programy?
Nie, nie piszemy gotowych programów!
Jeżeli jednak chcesz złożyć komuś propozycję napisania takowego, to prosze zrób to w dziale CyberTarg. Może ktoś się tym zainteresuje.
===============================================
Czy Elvis żyje?
Z całą pewnościa - tak!
+ A co to jest wskaznik ?
2 post w temacie |
Osobiście polecam książki:
1. Stanley B. Lippman, Josee Lajoie, "Podstawy języka C++",
2. Bruce Eckel, "Thinking in C++".
Radziłbym zacząć od tej drugiej - jest łatwiejsza w odbiorze. Na początek (i nie tylko) "Symfonia C++" J. Grębosza jest warta uwagi.
|
|
| Powrót do góry |
|
|
bercik ~user
Ostrzeżenia: 1 Dołączył: 18 Paź 2008 Posty: 897 Skąd: Kraków Pomógł: 27
|
|
---------- 10:43 29.05.2009 ----------
Co prawda nijak ma się to do tematu, jednak może pomóc początkującym programistom. Pisałem to ucząc się po kolei różnych zagadnień związanych z c++:
#include <cmath>
#include <iostream>
#include <conio.h>
#include <ctime>
#include <string>
#include <vector>
#include <memory>
#include <stdio.h>
#include <typeinfo>
#include <windows.h>
#include "Moja biblioteka.h"
Przedrostki przed nazwami zmiennych:
1.'n'-liczba naturalna (np.int nLiczba = 1)
2.'f'-liczba rzeczywista (np.float fLiczba = 3.14)
3.'a'-tablice (np.aLiczby[100])
4.'ch'-znaki (np.chZnak = 't')
5.'str'-łańcuh znaków (np.std::string strNapis = "Hello!")
6.'b'-wartość logiczna "bool" (np.bPowtarzaSie = false)
7.'s'-struktura (np.struct sKontakt)
8.'C'-klasa (np.class CKONTAKT)
9.'p'-Wskaźnik (np.int (*pWskaznik))
Typy zmiennych:
1.int-zmienna całkowita (1,6,27)
2.float-zmienna rzeczywista (4.2133124)
3.char-zmienna przechowująca jeden znak. Najczęściej pojedyncze litery ('a','@')
4.std::string-łańcuh znaków (tekst np. "Ala ma kota")
5.bool-wartość logiczna. Przechowuje prawdę lub fałsz
Pętle:
1.if
2.do...while
3.while
4.switch(case)
5.for
Rzutowanie:
1.zwykłe-zmienne całkowite i rzeczywiste. Wpisanie w nawias typu zmiennej powoduje ,że jest ona uznawana za
liczbę
całkowitą i rzeczywistą (rzutowanie to nie jest zalecane)
2.static_cast-rzutowanie statyczne.(np:int nY = static_cast<int>(fX * 3); )
3.typedef-umożliwia nam tworzenie nowych nazw dla istniejących już zmiennych
4.putchar()-zmienia podaną w nawiasie zmienną z unsigned char na int i odwrotnie
Funkcje potęgowe:
1.pow-potęgowanie (np:fX = pow(3, 4); ).
2.sqrt-pierwiastkowanie (np:fX = sqrt (64); ).
3.exp-zwraca nam wartość stałej e podniesionej do potęgi x (np.fX = exp(0); ).
4.log-przeciwieństwo exp
5.log10-J.W.
6.sin-sinus
7.cos-cosinus
8.tan-tanges
Liczby pseudolosowe:
1.rand-zwraca nam losową liczbę dodatnią
2.srand-generuje nam losową liczbę poprzez prostą funkcję:void srand(unsigned int seed)
3.time-pobiera aktualny czas systemowy. Przydatny do losowania liczb.Wygląda tak: time_t time(time_t* timer);
W funkcji: srand (static_cast<unsigned int>(time(NULL)));
4.formułka dzięki ,której łatwo "powiedzieć" komputerowi z jakiego zakresu liczb ma losować: (% nMax - nMin.)
Zainicjować generator można w ten sposób: srand (static_cast<int>(time(NULL)));
Zmienna = rand() % nMax + nMin;
Zaokrąglanie liczb rzeczywistych:
1.ceil-zaokrągla liczby do góry
2.floor-zaokrągla liczby w dół
3.abs-oblicza wartość bezwzględną każdej liczby ,czyli z liczb ujemnych robi dodatnie
4.fmod-oblicza resztę z dzielenia dwóch liczb jednak nie ogranicza się tylko do całkowitych ,ale operuje też
na innych typach.
Operatory:
1."+"dodawanie
2."-"odejmowanie
3."*"mnożenie
4."/"dzielenie
5."%"reszta z dzielenia
6."++ i --"operatory inkrementacji i dekrementacji. Dodają/odejmują 1 do/od liczby.
Operatory logiczne:
Operator ;porównanie jest prawdziwe, gdy:
==:lewy argument jest równy prawemu
!=:lewy argument nie jest równy prawemu (jest od niego różny)
>:lewy argument ma większą wartość niż prawy
>=:lewy argument ma wartość większą lub równą wartości prawego
<:lewy argument ma mniejszą wartość niż prawy
<=:lewy argument ma wartość mniejszą lub równą wartości prawego
&&:koniunkcja. Pełni rolę spójnika "i". Jest prawdziwy tylko wtedy, kiedy oba jej argumenty są prawdziwe.
||:alternatywa. Będzie fałszywa tylko wtedy gdy obydwa jej argumenty są fałszywe.
!:negacja. Jeśli poprzedzimy jeden z dwóch operatorów "!" zmieni prawdę na fałsz i fałsz na prawdę.
bool-najprostszy operator. Pozwala sprawdzać dwie wartości (prawdę i fałsz).
"?:"operator warunkowy.
Typy danych:
1.enum-Zmienne, które zadeklarujemy jako należące do tegoż typu, będą mogły przyjmować jedynie
wartości wpisane przez nas w jego definicji.
2.struct-umożliwa nam tworzyć struktury.
3.operator wyłuskania-Jest to kropka postawiona po nazwie struktury. Umożliwia wejście w jej głąb.
4.union-umożliwia pisać unie. polega ona na tym ,że aktualnie tylko jeden jej największy element jest
aktualnie przechowywany w pamięci komputera.
5.class-umożliwia tworzyć klasy obiektów.
system ("pause")-czeka na dowolny klawisz
system ("cls");-czyści ekran
extern-Jej zadaniem jest poinformowanie kompilatora, że gdzieś w programie istnieje zmienna o podanej nazwie
i typie.
Programowanie Obiektowe:
1.private-są dostępne jedynie wewnątrz samej klasy, tj. tylko dla jej własnych metod.
2.public-widoczne są zawsze i wszędzie - nie tylko dla samej klasy (jej metod), ale na zewnątrz - np. dla
jej obiektów.
3.protected-taki sam jak "public" ,ale w przeciwieństwie do niego składowe zaznaczone przez niego są dziedziczone.
3.konstruktor-to specyficzna funkcja składowa klasy, wywoływana zawsze podczas tworzenia należącego doń obiektu.
4.dekonstruktor-jest specjalną metodą, przywoływaną podczas niszczenia obiektu zawierającej ją klasy.
Jej nazwą jest zaś nazwa zawierającej klasy poprzedzona znakiem tyldy (~).
5.this-Używamy go zawsze wtedy, gdy potrzebujemy odwołać się do obiektu jako całości, a nie tylko do
poszczególnych pól.
6.Operator kropki (.) pozwala uzyskać dostęp do składników obiektu zawartego w
zmiennej obiektowej.
7.Operator strzałki (->) wykonuje analogiczną operację dla wskaźnika na obiekt.
8.delete-dokonuje wszystkich niezbędnych czynności potrzebnych do zniszczenia obiektu reprezentowanego
przez wskaźnik.
9.new-służy do tworzenia obiektu ,a także zmiennych do ,których można się dostać tylko przez wskaźnik.
10.delete-służy do kasowania obiektu ,a także zmiennych wskazywanych przez wskaźniki.
11.Dziedziczenie-to tworzenie nowej klasy na podstawie jednej lub kilku istniejących wcześniej klas bazowych.
12.virtual-metoda poprzedzona tym słówkiem będzie wirtualna (czyli przygotowana na zmiany w klasach pochodnych)
Wskaźniki:
1.register-poprzedza nazwę zmiennej. Dzięki temu zmienna jest zapisywana w rejestrze procesora co zwiększa
szybkość całego programu (UWAGA:rejestry procesora mają małą pojemność!)
2.
Preprocesor:
1.#-tym znakiem(hasz) poprzedzamy instrukcję dla preprocesora
2.Makro-zastępuje pewne wyrażenie innym.
3.#define-definiuje makro. Zapisuje się je w ten sposób: (#define odwołanie tekst) co powoduje iż każde wystąpienie
w kodzie "odwołania" zostanie zamienione na "tekst" (np.#define SIEDEM 7)
4.#undef-anuluje poprzednią definicje makra. Zapisuje się ją(#undef odwołanie)
5.__LINE__-wypisuje numer wiersza w, którym się znajduje
6.__FILE__-wypisuje nazwę modułu w, którym się znajduje.
7.__DATE__-wypisuje datę kompilacji programu w systemie: Mmm dd yy.
8.__TIME__-wypisuje czas kompilacji programu w formacie: hh:mm:ss.
9.__TIMESTAMP__-wypisuje datę i czas ostatniej modyfikacji programu
Warunkowa kontrola procesu kompilacji:
1.#ifdef-instrukcja ta kompiluje instrukcje podaną między nią ,a #endif ,jeśli zdefiniowane jest makro.
(np: #ifdef makro, instrukcje, #endif)
2.#endif-kończy instrukcję #ifdef.
3.#ifndef-instrukcja podobna do #ifdef, jednak kompiluje się tylko wtedy, gdy makro nie jest zdefiniowane.
4.#else-pozwala na wybranie kodu do skompilowania w innych sytuacjach.
5.#if-jest podobna do zwykłej instrukcji (if). Jej instrukcje są wykonywane tylko wtedy ,gdy spełniony jest warunek.
(np: #if, warunek, instrukcje, #endif)
6.defined-służy do sprawdzenia, czy dane makro zostało zdefiniowane. Może być wykorzystywany przy złożonych warunkach
#if.
7.#elif-Pozwala na ustalenie więcej niż dwóch warunków. Działa jak (else if).
8.#error-przerywa kompilacje, wpierw wyswietlajac komunikat.(np: #error "komunikat")
9.#pragma once-zabezpiecza przed wielokrotnym dołączaniem pliku nagłówkowego
10.#pragma-pozwala wykonywać różne polecenia zależnie od kompilatora.(np: #pragma polecenie)
Wyjątki:
1.try-(blok)obejmuje kod, w którym może zajść sytuacja wyjątkowa
2.throw-instrukcja wewnątrz bloku try służy do informowania o takiej sytuacji przy pomocy obiektu wyjątku
3.catch-(blok) przechwytuje obiekty wyrzucone przez throw i reaguje na zainstaniałe sytuacje wyjątkowe.
4.exit()-wychodzi normalnie z programu (nie awaryjnie). np:exit(0); zazwyczaj zero oznacza wyjście bez błędów.
5.std::auto_ptr-wygląda tak:std::auto_ptr<typ> wskaźnik(new typ[(parametry_konstruktora_typu)]);tworzy destruktor.
---------- 10:44 ----------
Oczywiście niektóre z tych rzeczy są mocno subiektywne, a inne mogą zawierać błędy, i jeśli takowy wykryjecie, to mnie poprawcie.
Pozdro.
|
|
| Powrót do góry |
|
|
Atomic ~user
Dołączył: 16 Lip 2010 Posty: 10
|
|
Widzę jeden błąd: switch(case) - to nie jest pętla.
_________________ Wykonam małe zlecenia w php (pw). |
|
| Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
MapaPowered by phpBB © 2001, 2005 phpBB Group
|
|