cout << "--------------------------[Przydatne strony]............... ";
"NEW - Nowe Linki";
[!!!] http://www.i-lo.tarnow.pl/edu/inf/prg/grylog/index.html [Programowanie w praktyce - piszemy gry logiczne]
Tutoriale winapi:
[!!!]http://www.winprog.org/tutorial/
[!!!]http://www.functionx.com/win32/
"[PL]";
[!!!] http://www.keeller.kompozytor.net/ [Kurs C++]
[!!!] http://www.physd.amu.edu.pl/~tomekkaz/ [Podstawy C++]
[!!!] http://3miasto.net/~chq/ [Kurs C++]
[!!!] http://www.avocado.risp.pl/ [m.in. kursy C++: /pliki do pobrania/teksty/.../]
[!!!] http://www.kursc.terramail.pl/kursc/ [Kurs C++]
[!!!] http://jdomaradzki.republika.pl/cw.html [materiały o C++ z Politech. Wroc.]
[!!!] http://www.playcom.republika.pl/ [duzo ciekawych, gotowycgh programow (pascal i c++) ]
http://lew.tu.koszalin.pl/~abernat/polish/wprcpp.htm [Kurs C++]
http://www.4programmers.net/download.php/id=72 [O programowaniu]
http://www.programuj.com [O programowaniu]
http://members.lycos.co.uk/codersteam/infopage.php?id=16 [Kursy, nie tylko Cpp]
http://www.code-maker.prv.pl/ [WinAPI, DirectX, FMOD, SDL, itd.]
http://kolos.math.uni.lodz.pl/~user/user/index.php?p=index [C++, Kursy, Algorytmy, Artykuły, Zagadki]
http://stud.wsi.edu.pl/~webber/czarny/?link=cpp
http://jdomaradzki.republika.pl/cw.html [materiały o C++ z Politech. Wroc.]
http://www.phys.uni.torun.pl/~kgrabcze/zajecia/
http://www.elektronet.prv.pl/
http://www.intercon.pl/~sektor/cbx/
http://stud.wsi.edu.pl/~sistudem/ [Podstawy C++]
http://lisek99.w.interia.pl/ [Programowanie w C/C++ pod DOS, WIN, LINUX]
http://maczek.info.bielsko.pl/~zbiju/ATH/ [Ciekawe rzeczy do ściągnięcia]
http://www.sztolnia.pl/?p=faq_pcp
http://www.algorytm.cad.pl/
http://www.republika.pl/piotrciskowski/dydaktyka/materialy.zima.htm#Informatyka3L
http://sprocket.ict.pwr.wroc.pl/~jablonski/
http://www.wemif.pwr.wroc.pl/labc/
"[ANG]";
http://www.gametutorials.com/Tutorials/c++/Cpp_Pg1.htm
http://www.cprogramming.com/cgi-bin/source/source.cgi
cout << " ...............[DOWNLOAD]............... ";
http://sourceforge.net/projects/dev-cpp/ //(Dev-C++ 4.9.9.0 PL - kompilator C/C++)
http://www.webhostgalaxy.com/mirrors/eckelbooks/TICPP-2nd-ed-Vol-two.zip // "Thinking in C++" Tom 2
http://www.webhostgalaxy.com/mirrors/eckelbooks/TICPP-2nd-ed-Vol-one.zip // "Thinking in C++" Tom 3
http://www.webhostgalaxy.com/mirrors/eckelbooks/ // Darmowe pubikacje elektroniczne o programowaniu
http://www.wemif.pwr.wroc.pl/labc/labc/lab1/lab1a.html //Borland C++ 3.1
cout << " ...............[INNE]............... ";
http://www.warp.arx.pl/ czasopismo WARP
cout << " ...............[Literatura programisty]............... ";
Symfonia C++ J.Grębosza
Thinking in C++
Pasja C++ J.Grębosza
Mój pierwszy program wydawnictwa HELP
Książeczka "Programowanie w C++" od Komputer Swiat - Dla BARDZO początkujących (http://www.komputerswiat.pl/informacje/archiwum/bk0105.html)
"C++ Styl Programowania" Tom'a Cargill'a.
"Język ANSI C" Kernighan, Ritchie.
"PHP i MySQL. Dynamiczne strony WWW. Szybki start"
"PHP. Tworzenie stron WWW. Szybki start" [http://helion.pl/ksiazki/phpszs.htm]
cout << " ...............[Poprzednie wątki]............... ";
[1] https://www.gry-online.pl/s043.asp?ID=3073834&N=1
[2] https://www.gry-online.pl/s043.asp?ID=3124999&N=1
[3] https://www.gry-online.pl/s043.asp?ID=3228514&N=1
[4] https://www.gry-online.pl/s043.asp?ID=3620101&N=1
[5] https://www.gry-online.pl/s043.asp?ID=3847852&N=1
[6] https://www.gry-online.pl/s043.asp?ID=4245197&N=1
Wypowiedź została zmodyfikowana przez jej autora [2006-01-06 10:28:34]
Kull --> Masz możliwość edycji? Wrzuć może do wstępniaka linki do tutoriali winapi:
http://www.winprog.org/tutorial/
http://www.functionx.com/win32/
Komuś może się przyda ;)
Sir Skull --> mam mozliwosc. dodalem.
Problem z pędzlami z poprzedniego wątku udało mi się rozwiązać. Wystaczyło ustawić przezroczyste tło:) Oczywiście na najprostsze rozwiązania najtrudniej jest wpaść;)
Może ktoś, kto używał algorytmu minimax z odcięciami alfa-beta spojrzeć na ten kod i powiedzieć, co jest źle? Dość pilne...
printf'y olejcie, bo zostały z testów...
Inicjuję z alfa = -100, beta = 100 - tak na początek...
int minimaxAB(int stan[][wie], int gracz, int glebokosc, int alfa, int beta, int kolor_g, int kolor_p, int rx, int ry, int * x, int *y)
printf("\\alfa=%d\\", alfa);
int i, val, ruch;
if(glebokosc == limit || (sprawdzwpr(stan, (gracz) ? kolor_g : kolor_p, rx, ry) && rx != -1 && ry != -1))
return przydziel_punkty(stan, (gracz ? kolor_g : kolor_p), rx, ry);
if(gracz == 0)
for(i = 0; i < kol && alfa < beta; i++)
if((ruch = generuj_ruch(i, stan)) >= 0)
int stan_nowy[kol][wie], j, k;
for(j = 0; j < kol; j++)
for(k = 0; k < wie; k++)
stan_nowy[j][k] = stan[j][k];
stan_nowy[ruch] = kolor_p;
val = minimaxAB(stan_nowy, !gracz, glebokosc+1, alfa, beta, kolor_g, kolor_p, i, ruch, 0 , 0);
if(val < beta)
beta = val;
return beta;
if(gracz == 1)
for(i = 0; i < kol && alfa < beta; i++)
if((ruch = generuj_ruch(i, stan)) >= 0)
int stan_nowy[kol][wie], j, k;
for(j = 0; j < kol; j++)
for(k = 0; k < wie; k++)
stan_nowy[j][k] = stan[j][k];
stan_nowy[ruch] = kolor_g;
val = minimaxAB(stan_nowy, !gracz, glebokosc+1, alfa, beta, kolor_g, kolor_p, i, ruch, 0 , 0);
printf("\\alfa=%d\\", val);
if(val > alfa)
if(glebokosc == 0)
*x = i;
*y = ruch;
printf("x=%d|y=%d|alfa=%d", *x, *y, val);
alfa = val;
return alfa;
Zapomniałem o [ i ]...
int minimaxAB(int stan[][wie], int gracz, int glebokosc, int alfa, int beta, int kolor_g, int kolor_p, int rx, int ry, int * x, int *y)
printf("\\alfa=%d\\", alfa);
int i, val, ruch;
if(glebokosc == limit || (sprawdzwpr(stan, (gracz) ? kolor_g : kolor_p, rx, ry) && rx != -1 && ry != -1))
return przydziel_punkty(stan, (gracz ? kolor_g : kolor_p), rx, ry);
if(gracz == 0)
for(i = 0; i < kol && alfa < beta; i++)
if((ruch = generuj_ruch(i, stan)) >= 0)
int stan_nowy[kol][wie], j, k;
for(j = 0; j < kol; j++)
for(k = 0; k < wie; k++)
stan_nowy[j][k] = stan[j][k];
stan_nowy[ i][ruch] = kolor_p;
val = minimaxAB(stan_nowy, !gracz, glebokosc+1, alfa, beta, kolor_g, kolor_p, i, ruch, 0 , 0);
if(val < beta)
beta = val;
return beta;
if(gracz == 1)
for(i = 0; i < kol && alfa < beta; i++)
if((ruch = generuj_ruch(i, stan)) >= 0)
int stan_nowy[kol][wie], j, k;
for(j = 0; j < kol; j++)
for(k = 0; k < wie; k++)
stan_nowy[j][k] = stan[j][k];
stan_nowy[ i][ruch] = kolor_g;
val = minimaxAB(stan_nowy, !gracz, glebokosc+1, alfa, beta, kolor_g, kolor_p, i, ruch, 0 , 0);
printf("\\alfa=%d\\", val);
if(val > alfa)
if(glebokosc == 0)
*x = i;
*y = ruch;
printf("x=%d|y=%d|alfa=%d", *x, *y, val);
alfa = val;
return alfa;
Madril => To wyżej to jest w C++ czy C? Raczej nie wiem bo dopiero jestem początkujacy jeśli chodzi o C++. (C sie nie ucze)
Wypowiedź została zmodyfikowana przez jej autora [2006-01-14 20:41:30]
Witam :-)
Mam do Szanownego Grona pytanie dt. funkcji wirtualnych.
Konkretnie chodzi mi o ich argumenty (domyślne).
najlepiej wyrażę się poprzez przykład:
Mam dwie klasy:
class A
public:
virtual void pokaz(char p='a') cout << endl << "A::" << p << endl;
;
class B : public A
public:
void pokaz(char p='b') cout << endl << "B::" << p << endl;
;
oraz ich wywołanie w main():
B* b = new B;
b->pokaz();
A* a = new A;
a->pokaz();
A a1;
a1.pokaz();
B b1;
b1.pokaz();
A* b2 = b;
b2->pokaz();
Dlaczego w ostatnim przypadku wynik jest: B::a ??? Ciało funkcji pobierane jest z zakresu klasy B a argumenty z zakresu klasy A?
Jak wygląda właśnie sprawa argumentów we funkcjach wirtualnych - o to mi dokładnie chodzi. Szukałem na necie czegoś o argumentach, ale niczego nie znalazłem :-/ Nawet w Symfonii nie ma (chyba...). Jedynie na wykładzie było to poruszane, ale nie pamiętam akurat tego momentu.. :-))
BTW. natrafiłem na ciekawy kod podczas poszukiwań na google :-)))
#include "iostream.h"
class CZLOWIEK
public:
void Jedz(void);
virtual void Mow(void) = 0;
;
void CZLOWIEK::Jedz(void) cout << "MNIAM, MNIAM..."; ;
class Zona : public CZLOWIEK
public:
void Mow(void); //Zona mowi swoje
; //bez wzgledu na argumenty (typ void)
void Zona::Mow(void)
cout << "JA NIE MAM CO NA SIEBIE WLOZYC !!!";
cout << "DLACZEGO KOWALSKI ZARABIA ZAWSZE WIECEJ NIZ TY ?!!!";
hotDog - to kwestia wczesnego wiazania domyslnych argumentow funkcji. wiecej w linku:
[c++] proste pytanko ... gdzie znajduje sie standarkodwa funkcja sleep()? na pewno w zadnym z ponizszych (wedlug visual studio)
#include <windows.h>
#include <stdio.h>
#include <string.h>
Ok moze ominiecie problemu dla Visual Studio (c++)
istnieje funkcja :
VIOD Sleep(DWORD dwMilisecounds)
wedlug gcc znajduje sie w unistd.h
Witam wszystkich programistów (i nie tylko)
Nigdy nie sądziłem że zajrzę do tego wątku ale życie pisze niesamowite scenariusze :)
Kochani sprawa jest taka - potrzebuję na zaliczenie prosty programik pokazujący przykład użycia kolejki FIFO. Program ma być w c++ lub w turbo pascalu, i naprawdę ma być to maksymalnie prosty przykład (tak, tak wiem jak prosty to sam sobie napisz - tylko że ja programowania ni w ząb), więc jeśli ktoś ma coś takiego lub wie gdzie to znajdę to będe dozgonnie wdzięczny za info.
Takie cos z moich starych zasobow.
#include <iostream>
using namespace std;
struct fifo
int w;
fifo *next;
*begin=NULL,*end=NULL;
int il=0;
void push()
if (begin==NULL)
begin=new fifo;
begin->w=il++;
begin->next=NULL;
end=begin;
else
end->next=new fifo;
end=end->next;
end->w=il++;
end->next=NULL;
void pop()
fifo *p;
p=begin;
if (p!=NULL)
begin=begin->next;
delete p;
void show()
fifo *p;
p=begin;
while (p!=NULL)
cout<<p->w<<" ";
p=p->next;
cout<<endl;
int main()
int opcja;
do
cout<<"1. Dodaj"<<endl<<"2. Usun"<<endl<<"3. Koniec"<<endl;
cin>>opcja;
switch (opcja)
case 1:
push();
show();
break;
case 2:
pop();
show();
break;
while ( opcja!=3);
while (begin!=NULL)
pop();
return 0;
Witam mam taki problem ponieważ mam dodać pewną biblioteke ( stdiograph.h --> do obsługi grafiki ) używam kompilatora devC++ 4.9.9.0 i nie wiem jak to zrobić, próbowałęm ją wrzucić do folderu w którym są inne biblioteki ale nadal przy kompilacji wywala błąd :(
Proszę o pomoc, może ktoś wie co powiniennem zrobić
@aka dzięki ale skompilowałem to dev-c++ i wywala mi takie błędy:
Wykonywanie g++.exe...
g++.exe "C:\Dev-Cpp\kolejka.cpp" -o "C:\Dev-Cpp\kolejka.exe" -s -I"C:\Dev-Cpp\include" -I"C:\Dev-Cpp\include\g++-3" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
C:\Dev-Cpp\kolejka.cpp:5: parse error before character 0213
C:\Dev-Cpp\kolejka.cpp:8: parse error before character 0233
C:\Dev-Cpp\kolejka.cpp: In function `void push()':
C:\Dev-Cpp\kolejka.cpp:12: parse error before character 0213
C:\Dev-Cpp\kolejka.cpp:15: syntax error before `->'
C:\Dev-Cpp\kolejka.cpp:16: syntax error before `->'
C:\Dev-Cpp\kolejka.cpp:17: ANSI C++ forbids declaration `end' with no type
C:\Dev-Cpp\kolejka.cpp:17: confused by earlier errors, bailing out
Zmieniłeś te znaczki na nawiasy klamrowe?
Ja kompiluje dev w wersji 4.9.9.2 i działa bez problemu.
@aka ale ja ślepy byłem.
Wszystko już działa, dzięki.
Mam takie male glupie pytanko,
W OpenGL np. przesuwajac jakis obiekt w prawo o 3 jednostki
glTranslatef(3.0f,0.0f,0.0f);
argumenty sa pounktami w przestrzeni x,y,z. Ale coz to jest to 'f' przy nich ?
bez tego dziala i kompiluje sie bez problemu.
Informujesz kompilator że typ tej liczby to float
proszę o pilną pomoc
Czy moglby ktos z Was sprobowac skompilowac ten applet ? U mnie JRE dostaje szalu i po prostu sie zwiesza ..
Maevius:Ale coz to jest to 'f' przy nich ? -- Oznacza to że dana liczba jest typu float a nie double, prawdopodobnie kompilator i tak wysyła liczbę typu float do funkcji dlatego bez tego się kompiluje (bo sobie sprawdza jakie argumenty potrzebuje funkcja)
Przepraszam, mam nadzieje ze moge zadac jedno pytanko...
jakie programy do c++ polecacie na poczatek? dla laika, prosta obsluga, itp
prosze o w miare szybka odpowiedz, z gory dzieki
Oto 'moj' projekt z Cpp. Jak wam sie podoba?
Klub tenisowy, makefile, template, wyjatki.
Ktos od Pythona tutaj jest? :-) Bo sie ucze i jestem ciekaw czy Pytong jest popularny ;-)
Eee... To jest kompletnie nieinteraktywne, czy to mzoe ja nie wiem jak tego uzyc? :D
Ja liznalem nieco pythona. Swietny jezyk, bo nie musisz sie paprac w kodowaniu oczywistych rzeczy (np. listy - nie musisz tworzyc duynamicznych tablic itp tylko dodajesz do raz utworzonej tablicy tyle danych ile chcesz), mnostwo przydatnych funkcji (np. bodajze set() wybioerajaca z dowolnej tablicy liste elementow [bez powtorzen, jesli takie sie w tablicy pojawiaja]) itp. Ale przyznam szczerze, ze jeszcze nie mialem okazji go uzyc do czegos innego niz zabawa... Do www mam php5, do 'reszty' c++. Ale python to fajna zabawka
Regis --> Nie ma tam interfejsu. W pliku main.cpp masz tworzenie obiektow, wywolywanie funkcji itp. kompilujesz makefilem i plik wykonywalny to 'club'. Mozna oczywiscie dopisac interfejs, ale na potrzeby projektu nie byl cale szczescie wymagany.
ok. kumam. wlasnie przejrzalem sobie maina i stwierdzilem ze to chyba faktycznie bylo zamierzone ;)
alex===>ja :-) popularny to on jest ale roznie z tym bywa ...
Regis===>warto sprobowac napisac cos powazniejszego w nim ;-)
slowik --> Na przyklad? Ja po prostu nie widze zastosowan w chwili obecnej. Chcialem ostatnio napisac cos pod linuxem i uzyc pygtk (czyli interfejs w Glade, a potem program w pythonie) ale jak na zlosc strona pygtk byla zamknieta, nie moglem sciagnac bibliotek i rzucilem to w diably i napisalem sobie programik w C++ Builderze :P Python jest fajny, ale o ile nie bede chcial pisac wielosystemowej aplikacji, to jest mi zbedny. Aczkolwiek mowie - jezyk swietny. Przenaszalny jak Java, a zarazem bardzo przyjemny w kontakcie :)
sprawa wyglada tak, potrzebuje wygaszacz ekranu napisany w c++ - a dokladnie jego kod, ma byc w miare prosty...ja sie nie orientuje to dla kumpla, prosze o linki, ewentualnie o przeslanie tego w jakims pliku...
bardzo ladnie prosze :)
Regis===>sam podales dobry przyklad a zrobic w nim mozna wszytko :-) no moze z kompilacja beda problemy
mam problem. otoz mam jakas klase i chce przeladowac operator, lae wyskakuje ze blad jakis jest. dokladnie taki ze
opoerator==(data,data) must be declared with one parameter
oto klasa:
#include <iostream.h>
class data
public:
int rok, miesiac, dzien, godzina;
data(int r,int m,int d, int g);
int operator==(data a,data b)
int f=0;
if (a.rok==b.rok) f++;
if (a.miesiac==b.miesiac) f++;
if (a.dzien==b.dzien) f++;
if (a.godzina==b.godzina) f++;
if (f==4) return 1;
else return 0;
;
int main()
return 0;
prosze o pomoc.
jezeli deklarujesz operator wewnatrz klasy, to znaczy, ze chcesz zeby lewym paametrem byl obiekt danej klasy.
wiec albo wywal deklaracje z klasy albo napisz tak:
int operator==(data a)‹
int f=0;
if (a.rok==rok) ‹f++;›
if (a.miesiac===miesiac) ‹f++;›
if (a.dzien==dzien) ‹f++;›
if (a.godzina==godzina) ‹f++;›
if (f==4) ‹return 1;›
else ‹return 0;›
›
›;
o jezu dziekuje ci bardzo bardzo.podejrzewalem cos w tym stylu ze jakis wskaznik this jest albo cos ale sie na tym dobrze nie znam:) dzieki
a jezeli chcialbym zeby rok,miesiac.... byly private? to musze zrobic tak jak pokazales?
teraz mam expresion syntax
class data
int rok, miesiac, dzien, godzina;
public:
data(int r,int m,int d, int g);
bool operator==(data a)
int f=0;
if (a.rok==rok) f++;
if (a.miesiac===miesiac) f++;
if (a.dzien==dzien) f++;
if (a.godzina==godzina) f++;
if (f==4)return 1;
else return 0;
;
Pytanie z Pythona
Trenuje menu wyboru, niech za przyklad posluzy kalkuator.
Dlaczego wywala mi blad przy "if"?
Kod:
def kalkulator():
.........print "Kalkulator v.0.1"
.........a=input("Co chcesz zrobic?\n Wpisz 1, 2, 3 lub 4.\n 1. Dodawanie\n 2. Odejmowanie \n 3. Mnozenie \n 4. Dzielenie\n")
.........if a=1:
SyntaxError: invalid syntax
Pokazuje mi blad na znaku "=". WTF? Jak wpisze "if a==b" to wywala mi blad po b.
Ok po problemie literowka
Czy możecie mi podać jakieś interesujące strony dotyczące ogólnie trybów graficznych w C++?
Słyszałem coś o BGI, Allegro, ale nie znalazłem nic wartego większej uwagi :-/
Tak, dokładnie. Np. coś do rysowania wykresów, tabelek itd pod dosem itp.
Nie chodzi mi o OpenGL ani WinAPI, coś dosowego :-)
Robi ktos z was w Builderze? Mam takie pytanie - mam dwie formy. Po kliknieciu przycisku w Form1 otwiera sie Form2. Co musze wpisac w funkcji TForm2::FormCreate zeby moc sie odwolac do pola Edit (dla przykladu niech sie zwie Edit1) z Form1?
Mozesz konkretniej? Dlaczego w formie1? I w jaki sposob je zadeklarowac? TEdit Costam? W Builderze jestem poczatkujacy wiec prosze o wyrozumialosc ;)
Regis ->
w Form1 umieszczasz komponent TEdit (przykladowo o nazwie Edit1), w Unit2.cpp wpisujesz:
#include "Unit1.h"
a w FormCreate odwołujesz się w ten sposob:
Form1->Edit1->
czyli, np. jesli chcesz odczytac, co jest napisaje w Edit1, piszesz:
Form1->Edit1->Text
Dzieki - ze tez na taki oczywisty zapis nie wpadlem :) Jak zwykle przekombinowalem, bo probowalem jakos wykorzystac do tego 'Sender' :)
Jeszcze jedno pytanko, juz mniej wazne, ale chetnie sie dowiem - w chwili obecnej jak jakis element jest zablokowany (Enabled = false) to nie mozna w nim (np.) pisac, ale wyglada dokladnie tak samo jak reszta. W jaki sposob go 'poszarzyc'? Tzn. zrobic tak zeby byl ciemniejszy?
I skad czerpac wiedze o Builderze? Jakies stronki?
Elementy zablokowane same zmieniaja kolor (patrz obrazek). Nic nie trzeba robic. U Ciebie jest inaczej?
Jesli chodzi o wiedze, to help (przycisk F1) i google wystarczaja. Nie znam konkretnych stron www.
Tzn. jest jak u Ciebie - zmienia sie tylko na szary tekst w polu Edit. A ja natomiast bym chcial zeby cale pole zrobilo sie szare - tak jak np. - nie szukajac dlugo przykladu- checkbox na Twoim screenie. Tzn. zeby tlo edita bylo takie szare jak checkbox.
A, rozumiem :)
To robisz tak:
Pole zablokowane:
Edit1->Enabled = False;
Edit1->Color = clBtnFace;
Pole odblokowane:
Edit1->Enabled = True;
Edit1->Color = clWindow;
Dzieki, o to mi biegalo. Ale juz mam kolejne pytanie - czy mozna w jakis sposob odwolac sie do parametru Color WSZYSTKICH Edit'ow w obrebie danego GroupBoxa? Czy ogolniej - czy mozna odwolac sie jakos do dowolnego parametru wszystkich obiektow danego typu w konkretnym GroupBoxie?
Chcę, żeby w moim programie napisanym w czystym C, wyświetliła mi się aktualna data i ew. czas. Nie umiem zastosować tych funckji z <time.h> :/ Pomoże ktoś?
Dzięki Regis!
To może jeszcze jedno. Czy da się zrobić wczytanie całego stringa do tablicy? Tobię tak:
char msg[500];
scanf("%*s",msg);
Zczytanie np. "ala ma kota" daje: "ala"... A ja chcę cały tekst.
!! Przeczytałem wstęp !!
Mam pytanie:
Który z "podręczników" we wstępie jest najlepszy dla totalnego zielonego?? Najlepiej po polskiemu, ale angielskim też nie wzgardze ;)
Po polsku IMO legendarna już Symfonia C++ J. Grębosza. Niewiele mam teraz na programowanie czasu, ale jestem całkowitym laikiem i książka jest napisana bardzo przystępnie a co ważniejsze - po przekartkowaniu zauważyłem, że wcale nie kończy się na programie typu "Hello world!", także można się z niej wiele nauczyć :)
Las Ca --> scanfem tego nie zrobisz. Przejrzyj biblioteke string.h - chyba gets() pozwala wczytac wszystko ze spacjami. Poza tym 'potrafia' tez to robic strumienie cin w C++ jak sie je sformatuje odpowiednio
Szef Nazguli --> Symfonia C++. Bardzo dobra ksiazka do C++. Npisana prosto, przejrzyscie, a mimo to sporo uczy. Polecam bez mrugniecia okiem.
To ja upne i przypomne moje pytanie:
Ale juz mam kolejne pytanie - czy mozna w jakis sposob odwolac sie do parametru Color WSZYSTKICH Edit'ow w obrebie danego GroupBoxa? Czy ogolniej - czy mozna odwolac sie jakos do dowolnego parametru wszystkich obiektow danego typu w konkretnym GroupBoxie?
Up + jeszcze jedno pytanie, takie troche bardziej teoretyczne - mam spora liczbe pol typu edit, ulozonych w cos jak tablice dwuwymiarowa (n x m pol) - jak skutecznie reprezentowac taka tablice w pamieci komputera? Bezposrednie odwolywanie sie do elementow po nazwie odpada - algorytm musi dzialac na tablicy i potem wyswietlac wyniki w tych okienkach. Stworzyc tablice wskaznikow na pola typu edit i potem przez nie wpisywac dane za pomoca Wskaznik->Value= costam? (jaki to bedzie typ tablicy - *TObject ?) Czy moze jakos inaczej? A moze Builder w jakis sposob 'wspomaga' takie rozwiazania?
I kolejne pytanie (tak to jest jak sie uczy czegos przy okazji pisania sporego programu :P ) - gdzie powinienem zadeklarowac zmienna/tablice/cokolwiek innego zeby bylo to widziane globalnie - z dowolnego miejsca programu? Probowalem w Project1.cpp ale niestety z wnetrza Unit1.cpp , Unit2.cpp, Unit3.cpp tej zmiennej nie widac, gdy chce jej uzyc w jakiejs funkcji...
Pytanie z posta nr 69:
Nie wiem, co dokladnie chcesz zrobic, ale skoro uzywasz Editow w formie tabeli, to moze lepiej uzyc TStringGrid ?
Pytanie z posta nr 70:
Deklaracje musisz wpisac w pliku header (*.h), a dokladnie w sekcji public.
Ad 1: DZieki. Co prawda mam Edit'y odgornie narzucone, ale to sie przyda w czym innym :)
Ad 2 - albo ja nie rozumiem tego co napisales, albo Ty nie rozumiesz mnie :) Bo wrzucilem w Unit1.h w sekcji public moje zmienne, niestety w Unit2.cpp czy Unit3.cpp sa juz one niewidoczne. A mi chodzi o to, zeby byly widoczne w CALYM programie. Zebym sobie zadeklarowal TEdit *sterowanie1[5][5] w jakims miejscu JEDNEGO pliku, a potem w DOWOLNYM miejscu programu mogl uzyc tej zmiennej 'ot tak' :)
odp do posta nr 64:
sproboj tak:
#include <fstream>
string msg;
ifstream fin("./plik");
getline(fin, msg);
fin.close();
Kijano --> Tak, ale juz znalazlem blad. Po prostu zapomnialem ze musze sie odwolywac do tej zmiennej przez Form1->zmienna, a nie samo zmienna.
A w jaki sposob uzywac niedostepnych 'standardowo' funkcji w Builderze? Co trzeba zaincludowac (gdzie moge znalezc liste tych 'bibliotek') - jak chce uzyc funkcji RoundTo (wynalazlem ja w helpie) to mi pisze ze nie ma takiej funkcji... Gdzie i jak ja dodac (tzn. plik naglowkowy w ktorej sie ona znajduje).
dobra, odkrylem juz sam ze 'RoundTo' "siedzi" w 'math.hpp' ;)
Ale druga czesc pytania aktualna - gdzie moge znalezc spis wszystkich 'bibliotek' dosteopnych w Builderze? Cos jak www.cplusplus.com
hey ludziska a moze pomozecie w JAVIE ?
mam o to taki programik ktory liczy rational numbers. a mam zrobic cos w tym stylu tylko ma liczyc liczby zespolone (complex numbers) troche tego nei ogarniam moze pomozecie, albo jakis link podacie? bede wdzieczny
public class Rational
int n; // numerator
int d; // denominator
Rational(int numerator, int denominator)
n = numerator;
d = denominator;
public int getNumer()
return n;
public int getDenom()
return d;
public Rational plus(Rational r2)
int n2 = r2.getNumer;
int d2 = r2.getDenom;
return(new Rational(n*d2 + n2*d, d*d2));
public Rational minus(Rational r2)
return plus(r2.negate());
public Rational times(Rational r2)
int n2 = r2.getNumer;
int d2 = r2.getDenom;
return(new Rational(n*n2, d*d2));
public Rational over(Rational r2)
return plus(r2.invert());
public Rational negate()
return (new Rational(-n, d));
public Rational invert()
return (new Rational(d, n));
public String toString()
return ("" + n + "/" + d);
Regis -> nie ma jakotakiego spisu. Kazdy kompilator oprocz kilku glownych ma kilka swoich wlasnych. Najlepiej szukaj w helpie w kompilatorze
krotka pilka, bo pisze pewien program i zacialem sie na malym, prostym szczegoliku :-)
dziele przez siebie 2 liczby (a - int, b-float, c-float):
c=a/b
jak sprawdzic czy c jest liczba calkowita?
fifaik, mozna porownac liczbe z jej podloga/sufitem, dla liczb calkowitych powinna byc rownosc.
fifalk ->
div_t diva;
diva = div ( a, b );
if( diva.rem == 0 ) //liczba jest calkowita
Jak w Pythonie laczyc tekst ze zmiennymi?
Np. do zmiennej "jajka" che przyporzadkowac "30" i wydrukowac "Jest 30 jaj".
jajka=30
print "Jest" jajka "jaj"
Oczywiscie nie dziala, probowalem $, kropek i innych chwytow z roznych jezykow, ale nic.
hej
nie czesto zagladam do tego watku i nie mam monopolu na zakladanie kolejnych jego czesci, wiec jak watek bedzie duzy, to zakladajcie nowy :)
pozdrawiam
Okej.
UP.
Mam do sprzedania "C++. Sztuka programowania". Ksiazka jest NOWA, nieczytana, stan idealny!
Obecnie jest nakład został wyczerpany. Kosztowała 39,90 PLN. Kupiłem ją w większym pakiecie książek więc oferuje ją za okazyjne:
20 PLN
wiecej: http://helion.pl/ksiazki/cpszpr.htm
Hej
Zidiocialem do reszty. Mam na mysli bardzo prosty warunek, fundamenty pod "menu":
#include <iostream.h>
#include <conio.h>
using namespace std;
int main()
int ble, tak, nie;
tak = 0;
nie = 0;
cout << "Lubisz patrzec w niebo? (odpowiedz t lub n) \n";
while ( ( ble = cin.get() ) !=EOF )
switch ( ble )
case 'T':
case 't':
tak = 1;
break;
case 'N':
case 'n':
nie = 1;
break;
default: cout << "Nieznany znak." << endl;
break;
if ( tak == 1 )
cout << "Ja tez.\n";
else
if ( nie == 1 )
cout << "Sproboj, jest ladne.";
getch();
return 0;
Nie sugerujcie sie trescia, nie ma tu znaczenia. Dlaczego program wyrzuca mi ciagle default, tzn "Nieznany znak" ?
Witam! Dopiero zaczynam swoją przygodę z c++, i już natknąłem się na pewien problem...
otóż chciałbym prosić golowiczów o wytłumaczenie jak sprawić że np zmienna x była losowana z pewnego przedziału. Szukałem w necie, ale nic nie znalazłem co by mi sie przydało. Wielkie dzięku z góry.
Ok problem losowania rozwiązany. Teraz z kolei problem koloru tekstu. Coś takiego jak w pascalu, jak widze niektóre kody żeby to zrobić to mnie przyprawia o mdłości. Chcę zmienić kolor wyświetlanego tekstu, ale mi po prostu nie idzie :)
Witam,
mam pytanie do Was.
Piszę dość zaawansowany i długi program na laborki. Na razie piszę go w jednym pliku *.cpp i noszę się z zamiarem podzielenia go na jakieś moduły, tak żeby każdy moduł miał inną fukcjonalność, np. wczytywanie danych z plików, tworzenie macierzy, obliczanie itd itd itd.
Czy ktoś z Was ma jakieś strony www na temat dzielenia programu na moduły? Nie wiem jaki jest sens tworzenia plików *.h skoro wszystkie definicje funkcji i tak muszą być w *.cpp..., który mi aktualnie zajmuje 800 linijek. Chodzi mi o podział całkowity podział kodu na segmenty/moduły.
Mam nadzieję, że wiecie o co mi chodzi :-)
Pozdrawiam!
ha !! widze tutaj że Grzybiarz ma te same problemy co ja z kolorami :P bo musze napisać gre w statki, a bez kolorków nie idzie... a pozatym, może ktos ma DZIAŁAJĄCĄ obsluge myszki w c++ ? (na standardowych bibliotekach)
A ja mam maly problem z zapisywaniem do pliku, cos sie wywala. :/
Mam liste (1k, cykl.) i podlisty (2k, prost.) i nie bardzo wiem jak mam to zapisywac.
edit: z zapisem prawie nie mialem do czynienia, stad problemy, funkcje nizej napisalem na podstawie funkcji kolegi :) [on ma to troche inaczej, no ale 'na oko' XD powinno dzialac :D]
Moze napisze jakie mam typy:
ElemAnime‹
Anime dane; // tam inna struktura z podana nizej
ElemAnime* nast;
›;
typedef ElemAnime* ListaAnime;
Anime‹
char tytul[50];
char jtytul[50];
char typ[4];
int rokprod;
int iloscodc;
ListaBoh cast; // wskaznik na poczatek podlisty, to nizej ;-)
›;
Boh‹
char nazwisko[30];
char imie[25];
int wiek;
›;
BohElem‹
Boh dane; // to co wyzej
BohElem* nast;
BohElem* pop;
›;
typedef BohElem* ListaBoh;
Do funkcji dodawania i drukowania przekazywany jest wskaznik do listy (ListaAnime //lista// lub ListaBoh // w domysle lista->dane.cast). Funkcja zliczajaca elementy na liscie zwraca int.
void ZapiszJako(ListaAnime lista, char *nazwa_pliku)
‹
WczytajNazwePliku(nazwa_pliku);
ZapiszPlik(lista,nazwa_pliku);
›
void ZapiszPlik(ListaAnime lista, char* nazwa_pliku) // problematyczna funckja :/
‹
fstream plik (nazwa_pliku,ios::out | ios::binary);
ListaAnime kon_a=lista;
ListaBoh lboh;
int ileboh;
Anime anime;
if(lista)
do
‹
lboh=lista->dane.cast;
anime=lista->dane;
ileboh=IleBohaterow(lboh);
plik.write((char*)&anime,sizeof(Anime));
plik.write((char*)ileboh,sizeof(int));
while(ileboh!=0)
‹
plik.write((char*)&lboh->dane,sizeof(Boh));
lboh=lboh->nast;
ileboh--;
›
lista=lista->nast;
›while(lista!=kon_a);
plik.close();
›
void WczytajNazwePliku(char *nazwa_pliku)
‹
system("cls");
cout << "Podaj nazwe pliku \n-> ";
fflush(stdin);
cin.getline(nazwa_pliku,20);
›
łup
Znowusz ja :)
Mam taki problem... otóż nie wiem jak zrobić coś takiego, żeby po naciśnięciu klawisza np ESC programik reagował. W Pascalu wiem jak to zrobić, lecz nie mam odniesienia do c++. Pomoże ktoś?
Jak w prosty sposób w Builder 6 c++ zrobić aby do komponentu Edit dało się wpisywać tylko liczy, żadnych liter?
pszczesz, uzyj komponenty maskedit (po prostu ustaw sobie odpowiednia maske).
slowik - a to jest wskaznik na typ ? jesli tak to zamiast malloca staraj sie uzywac relloca
Tańczący na Zgliszczach --> Dzięki. Tylko jak ustawić maskę, aby można wprowadzić dowolną liczbę double (zrówno dodatnią i ujemną).
Kijano===>chodzi sposob na poradzenie sobie ze zbyt duzymi wartosciami dla danego typu lub deklaracje wlasnego "nieograniczonego" typu
Ok, mam taka zagadke w C.
Mam zrobic program, ktory pobiera od uzytkownika funkcje zlozona ze zmiennej x, liczb calkowitych, operatorow arytmetycznych +,-,*,/, podstawowych funkcji matematycznych (sin, cos, tg, ln, exp, ...) oraz nawiasow, a nastepnie liczy jej rozniczke.
Jakies sugestie? Nie za bardzo wiem, z ktorej strony sie do tego zabrac.
piszesz interpreter (parser) tego typu wyrazen
dla x'a przyporzadkowujesz argumenty no i liczysz z rozniczka zlorzona troche sie pobawisz ale mysle ze za sprawa rekurencji uda ci sie ;-)
mam deva 4.9.3.0 i sie nie kompiluje najptrosszy program na swiecie o prostokacie, wyskakuje taki blad:
30 C:\Documents and Settings\ue12\Pulpit\siwy\Prostokat.cpp
no match for `ostream & << unknown type'
77 C:\Dev-C++\include\g++-3\iostream.h
candidates are: class ostream & ostream::operator <<(char)
mozecie pomoc?? :)
#include<iostream>
using namespace std;
class Prostokat
int a,b;
public:
// konstruktor
Prostokat(int a1, int b1)
a = a1; b = b1;
// funkcja obliczajaca pole
int pole()
return (a*b);
// funkcja obliczajaca obwod
int obwod()
return (2*a+2*b);
;
int main()
int x,y;
cout << "Podaj boki prostokata. \n\t a: ";
cin >> x;
cout << "b: ";
cin >> y;
Prostokat p(x,y);
cout << "Pole prostokata p: " << p.pole << "\tobwod: " << p.obwod;
system("PAUSE");
return 0;
czy nie powinno byc przede wszystkim
#include<iostream.h>
choc przyznam sie ze dawnie nie siedzialem w c++ i niepamietam czy dawalo sie h czycos inego:)
p.pole zamien na p.pole()
p.obwod zamien na p.obwod()
slwoik - musisz albo przytnac wartosc albo rozdzielic :)
dzieki kijano juz znaazlem :)
arxel nie trzeba dawac .h jak sie da wlasnie to usnig namespace std;
pozdro
Kijano===>przyciac sie nieda rozdzielic jakos jesli juz z polami bitowymi pokombinuje ..... ;-)
Mam bardzo prymitywne pytanie....Jestem "laikiem" tak jak w nazwie wątku zostało napisane.
Jak odczytać dane z pliku in.txt mieszczącego sie na dkysku C. I jak do niego zapisać dane (tyle że do out.txt). Po prostu chce wczytać/zapisać dane. Nic więcej, narazie mnie żadne separatory nie interesują. Samą podstawową funkcję bym prosił, żebyście mi napisali. z góry tnx!
Oczywiście chodzi o c++
UP!!!
use google :)
http://www.codersource.net/cpp_file_io.html
tutaj sa przyklady jak czytac i zapisywac do pliku. Żeby wczytac i zapisac trzeba je polaczyc. Ponadto sa w starej skladni.
Powinno byc na poczatku:
#include <fstream>
#include <iostream>
using namespace std;
No właśnie co masz na mysli pisząc "połączyć". Bo chce najpierw jeden pliczek otworzyć, zczytać z niego dane, a potem zapisać, ale już do innego i mi wyskakuje
error C2086: 'file_op' : redefinition
do końca nie wiem co z tym zrobić.
i łup na góre.
Ciekaw jestem, czy miał tu ktoś do czynienia z programem o nazwie - Web Matrix i jako tako potrafi się w nim dość sprawnie poruszać?
No czytamy i zapisujemy linia po linii. file_op jest chyba nazwa zmiennej (jakas dziwna skaldnia tego c++) wiec trzeba bylo zrobic file_in i file_out.
#include <fstream>
#include <iostream>
using namespace std;
int main()
char str[2000];
fstream file_in("in.txt",ios::in);
fstream file_out("out.txt",ios::out);
while(!file_in.eof())
file_in.getline(str,2000);
file_out <<str;
file_in.close();
file_out.close();
return 0;
Witam,
poszukuje jakiegoś programiku do testowania aplikacji pod względem wycieku pamięci. Szukałem, ale nic nie znalazłem :-/
Czy tylko pozostaje 'ddd' pod linuxa?
Pod linuxem masz: valgrind'a - oczywiscie darmowy
A pod Windowsa (jako plugin do Visual Studio) proponuje: DevPartner for Visual C++ BoundsChecker - niestety chol**nie drogi, ale dobry ;)
Dzięki serdeczne!
Sprawdzałem dzisiaj tego Valgrind'a i muszę przyznać, że jest całkiem niezły. Co prawda na początku ciężko było skapować o co biega w tych jego wynikach, ale wydaje mi się, że nauczyłem się czytać to co tam jest napisane :-) Jeśli masz jeszcze jakiś polski porządny opis do odczytywania wyników jego pracy to możesz podać, bo ja nic ciekawego na googlach nie znalazłem.
Witam
Mam problem ze stworzeniem pliku Makefile, a konkretnie z biblioteką iostream.
Makefile (mniej więcej, piszę z pamięci):
program: 1.o 3.o
gcc 1.o 3.o -o program
1.o: 1.cpp 1.h
gcc -c 1.cpp
3.o: 3.cpp 3.h
gcc -c 3.cpp
Pliki 1.cpp i 3.cpp są takie same, bo dopiero się uczę tworzyć Makefile i zawierają tylko #include"1.h" dla 1.cpp oraz #include"3.h" dla 3.cpp. Main() jest tylko w 3.cpp
Wszystko działa ok, do momentu kiedy w pliku 3.cpp nie wrzucę #include<iostream>, wtedy przy poleceniu "make" pokazują się krzaki i się nie kompiluje :-/ Dodam, że kompiluję pod Mandrake'm.
Liczę na waszą pomoc :-)
Dajesz #include<iostream>, tak?
A dopisujesz potem pod sekcja include:
using namespace std?
tak, piszę #include<iostream>
using namespace std; nie stosuję. Wpisałem to do pliku cpp, ale bez żadnych efektów :-/
Wydaje mi się, że to chyba wina braku parametru -I przy wywoływaniu g++....
chociaz sam już nie wiem
Hmmm... Ja w g++ kompiluje 'bezparametrowo' zazwyczaj (tylko -o) i nie mialem nigdy takiego klopotu... A co konkretnie wywala kompilator?
Wywalało kupę krzaków.
Ale już nieważne jakich, bo zmieniłem w makefile gcc na g++, tak jak Ty i wszystko działa :-) Zarówno pod linuxem jak i pod XP.
Tak czy siak dzięki ;-)
Robie sobie powtorke ze strukturalnego i mam problem z zagniezdzonymi petlami for (oh lol).
O ile wzorek,
x
xx
xxx
xxxx
xxxxx
Moze byc rozrysowany za pomoca prostego:
for (int i=0;i<5;i++)
for (int j=0;j<=i;j++)
std::cout << "x";
std::cout << std::endl;
std::cout << std::endl;
To nie moge wykombinowac algorytmu na wzorek:
xxxxx
xxxx
xxx
xx
x
Jakis pomysl :)
Zacznij od i = 5 i odejmuj az do zera i powinno dzialac :P Taka pierwsza mysl moja :P
Moja 1 byla taka:
for (i=5;i>0;i--)
for (j=5;j>=i;j--)
cout << "X";
cout << endl;
:P
Wyszlo na to samo :P
powyzszy przyklad poprawnie:
for (i=0; i <= 4; i++)
‹
for (j=4;j>=i;j--)
cout << "X";
cout << endl;
›
Gubie sie w zagniezdzonych petlach for. Moglby mi ktos to przystepnie wyjasnic ?
Gdy mam rozrysowac ksztalty jak:
xxxxx
xxxx
xxx
xx
x
albo
x
xxx
xxxx
xxx
x
(ten wzorek tutaj to jest romb)
To nie wiem jak.
Prosze o pomoc w wyjasnieniu zawilosci zagniedzonych petli, albo link do artykulu
ktory bedzie w stanie mi pomoc. Najlepiej iteracyjna metoda krok po kroku ;)
ok gol wariuje wiec rozrysuje 'wzorki' inaczej:
d xxxxx
dd xxxx
ddd xxx
dddd xx
ddddd x
a romb z x o boku 5 to juz zwyczajnie
Pomyśl w następujący sposób, a myślę, że wpadniesz na rozwiązanie.
pierwsza pętla (zewnętrzna) odpowiada za "przesuwanie" wierszy, natomiast druga (wewnętrzna, zagnieżdżona) odpowiada za rysowanie "x" w każdym pojedynczym wierszu ;-) Ogólnie - pierwsza pętla idzie w dół, druga w prawo. Kiedy zaczynamy iterację pierwsza pętla znajduje się w pierwszym wierszu, a w nim działa druga pętla - kiedy ta druga skończy działanie (czyli nie spełni się warunek) to "wyskakuje" do pętli nadrzędnej (pierwszej) a ta kontynuuje swoje działanie, czyli robi kolejny cykl, w którym znów działa pętla wewnętrzna.... i tak dopóki pętla zewnętrzna będzie spełniała warunek...
Teraz już może wpadniesz na rozwiązanie. W ten sam sposób tworzy się np. macierze.. czy to dwu- czy n-wymiarowe.
BTW spójrz na swój hmm... na to ;-)
d xxxxx
dd xxxx
ddd xxx
dddd xx
ddddd x
jak widzisz pętla zewnętrzna "rośnie", a pętla wewnętrzna "maleje"
Witam, Kolega od paru dni nudzi mnie zebym mu pomogl z jakims malym programikiem :) Z racji tego, ze nie interesuje sie programowaniem zwracam sie z prosba do Was :)
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <math.h>
#include <dos.h>
class pola
public:
void oblicz (int x, int y); //bok i wysokosc trojkata
void oblicz (int x, int y, int h); //dwa boki i wysokosc trapezu
void oblicz1 (float x, float y); //pole prostokata
ob;
void pola::oblicz (int x, int y)
cout << "Obliczamy pole trojkata \n";
cout << "Podaj bok x\n";
scanf ("%d",&x);
cout << "Podaj wysokosc y\n";
scanf ("%d",&y);
printf ("Pole trojkata = %f\n", (x*y)/2);
while (!kbhit());
void pola::oblicz (int x, int y, int h)
clrscr();
cout << "Obliczamy pole trapezu \n";
cout << "Podaj bok a\n";
scanf ("%d",&x);
cout << "Podaj bok b\n";
scanf ("%d",&y);
cout << "Podaj wysokosc trapezu\n";
scanf ("%d",&h);
printf ("Pole trapezu = %d\n", ((x+y)*h)/2);
while (!kbhit());
//trzecie pole (prostokat) do zrobienia
class wynik : public pola
public:
char c;
void menu();
ob1;
void wynik::menu()
do
clrscr();
cout << "1 - Pole trojkata\n";
cout << "2 - Pole trapezu\n";
cout << "ESC - wyjscie\n";
c=getch();
switch(c)
case '1':
oblicz (int x, int y); tu wyskakuje pierwszy blad
break;
case '2':
oblicz (int x, int y, int h);
break;
while (c!=27);
void main()
ob1.menu();
Z tymi clasami i obiektami to chyba jakas przesada. Nie zmona napisac tego skladania c?
fanlegii79 --> Domyslam sie, ze jest pewnie jakas krotsza i prostsza droga :) Tyle ze w tym przypadku chodzi doprowadzenie tego konkretnego programu (w takiej formie) do stanu uzywalnosci ;)
czy kolega uczyl sie kiedyc c++ ?? bo po kodzie jakos nie widac :) Bledem tam gdzie zaznaczyles jest to ze to co napisal to deklaracja funkcji !!! a nie jej wywolanie !!
Powiedz co che napisac, to bedzie latwiej czy to ma byc tylko prosty kalkulator i czy ma on byc zbudowany obiektowo ??
Domyslam sie, ze chodzi tylko o to zeby z tego jakiegos menu mozna bylo wybierac operacje na liczenie pol figur :) Jeszcze zapytam.. :)
Witam mam taki program w javie który ma łączyć się z bazą danych i umożliwiać wyświetlenie jej zawartości oraz umożliwić jej modyfikacje. Nie wiem co powiniennem wpiscać w pewnych miejscach aby się połączył. Dlatego jeżeli ktoś byłby skłonny pomóc będę bardzo wdzięczny.
Oto program:
/* podstawowe klasy JDBC */
import java.sql.*;
import java.io.*;
import java.util.*;
public class Bazaa
public static Connection getConnection()
throws SQLException, IOException
Properties props = new Properties();
FileInputStream in = new FileInputStream("database.properties"); <---- Co w tych nawiasach powinno być wpisane
props.load(in);
in.close();
String drivers = props.getProperty("jdbc.drivers"); <<------ Co w tych nawiasach powinno być wpisane
if (drivers != null)
System.setProperty("jdbc.drivers", drivers);
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
return DriverManager.getConnection(url, username, password);
public static void main(String[] args)
String url = "jdbc:postgresql://"adres bazy danych";
System.out.println("Podaj parametry(bez spacji):\nq -Wyjscie\nA -Wyswietl:\na -Imiona b -Nazwiska");
try
Connection db = Baza.getConnection();
Statement st = db.createStatement();
int i=0;
InputStreamReader isr = new InputStreamReader(System.in);
// otoczenie potoku znakowego buforowanym
BufferedReader br = new BufferedReader(isr);
char m,n;
do
m=(char)br.read();
n=(char)br.read();
br.read();
if(m=='A')
if(n=='b')
ResultSet rs = st.executeQuery("SELECT nazwisko FROM osoba");
while (rs.next())
i++;
System.out.println("" + i+" kolumna:");
System.out.println(rs.getString(1));
//rs.close();
//st.close();
if(n=='a')
ResultSet rs = st.executeQuery("SELECT imie FROM osoba");
while (rs.next())
i++;
System.out.println("" + i+" kolumna:");
System.out.println(rs.getString(1));
//rs.close();
//st.close();
while(m!='q');
catch (SQLException e)
System.err.println("Wyjatek z zapytania SQL: " + e.getMessage());
e.printStackTrace(System.err);
catch (Exception e)
System.err.println("Wyjatek przy ladowaniu klas: " +
e.getMessage());
e.printStackTrace(System.err);
Możecie mi powiedzieć jak poprawie zaimplementować szablon funkcji?
Mam szablon funkcji
template<typename T, typename U>
// itd itd
jego deklarację mam w pliku nagłówkowym *.h, a ciało w pliku *.cpp
Aplikacja składa się z kilku cpp i h - w mainie odwołuję się do tego szablonu i w tym momencie mam błąd w kompilacji, bo pokazuje mi błąd w postaci niemożności odwołania się do takiej funkcji....
Gdy przeniosę cały szablon do pliku cpp z funkcją main() wszystko działa poprawnie..
Problem rozwiązany.
Dla potomnych: definicje szablonów trzeba w całości pisać w plikach *.h (nagłówkowych)
Szukam porządnej lektury na temat C sharp (C#). Systematycznej, w miarę od rzeczy najprostszych. Może ktoś coś polecić? Oczywiście w grę wchodzą też jakieś porządne kursy internetowe itp.
Szukam algorytmu (a najlepiej gotowej implementacji w c++) do rozwiązywania układu równań nieliniowych, wszystko oprócz eliminacji Gaussa :-)
Jeśli ktoś posiada to proszę o pomoc.
Prosba. Kolezanka prosila mnie o pomoc w c++, powiedzialem Jej, ze pomoge, chociaz nie mam pojecia na temat jezyka c++. Ale wiecie... to koolleezzaannkkaa ;p. Program ma zaprezentowac mozliwosci tworzenia okien za pomoca funkcji window, zaprezentowac rowniez mozliwosci ustalania tla dla okna jak i zmiane koloru tekstu w oknie. Weim, ze to dla Was pryszcz i 2 min roboty :), dlatego prosilbym, zeby ktos moglby mi takie "cus" przeslac na mejla ( [email protected] ). Odwdziecze sie w naturze ;) ;)
hotDog---> czyżby PAI? :-)
Mógłby mi ktoś powiedzieć jakiej biblioteki trzeba użyć żeby dostać się do funkcji sytemowych(mkdir,rm,touch,chmod...)?
#include <iostream>
using namespace std;
class Kontakt // klasa kontakt
char nazwa[20]; // nazwa kontaktu
int numer; // numer kontaktu
public:
Kontakt() ; // konstruktor domyslny
Kontakt(char na[20], int nr) // konstruktor
strcpy(nazwa,na);
numer=nr;
~Kontakt() // destruktor
bool porownaj(char kto[20]) // porownuje kontakt ze wzorcem
if (strcmp(kto,nazwa))
return true;
else
return false;
void wypisz() // wypisuje kontakt
cout << nazwa << "\t" << numer << "\n";
;
class Ksiazka // klasa ksiazka
int rozmiar; // skladnik rozmiar (ksiazki)
int ile; // ile wpisow
Kontakt * lista; // wskaznik na liste elementow
typu Kontakt
public:
Ksiazka(int r) // konstruktor
lista = new Kontakt[r];
rozmiar = r;
ile = 0;
void dodaj(Kontakt kto) // funkcja dodaje kontakt do listy
if (rozmiar==ile) // jezeli nie ma wolnych miejsc
cout << "Ksiazka jest pelna!\n";
else // dodanie kontaktu
lista[ile] = kto;
ile++; // zwiekszenie ilosci wpisow
void wypisz() // funkcja wypisuje wszystkie
kontakty
if (ile>0)
for (int i=0;i<ile;i++)
lista.wypisz();
else cout << "Ksiazka jest pusta!\n";
void usun(char kto[20]) // funkcja usuwa kontakt z listy/
if (ile>0) // jezeli sa wpisy
for (int i=0;i<=ile;i++)
if (lista.porownaj(kto))
//delete lista;
// ^^^ blad: type `class Kontakt' argument givento `delete', expected pointer
ile--;
else // jezeli pusta
cout << "Ksiazka jest pusta!\n";
//koniec: usun()
;
mam problem, blad mi wyskakuje w tej linijce, musze usunac ten wpis z tablicy, nie wiecie czasami jak? :)
upp, ponawiam prosbe o pomoc :)
Maczu--->czy tam gdzie masz błąd próbowałeś wpisać wskaźnik na: lista? Czyli coś takiego:
delete *lista;
Nie jestem pewien ale to wydaje mi się, że to wynika z błędu, który Ci wyświetla.
Pewnie trzeba wskaznika na wskaznik do obiektu typu Kontakt :) Chociaz glowy nie dam. Wydawalo mi sie ze styknie samo delete lista...
BEERman --> Taaaa.... a skąd masz takie info? Coś Cię łączy z Politechniką Częstochowską? :-))
Ponawiam moją prośbę - jest to dla mnie b. ważne.
Mam pytanie.
Zrobilem program pod Linuxa i teraz musi dzialac na Windowsie. Ok uruchamiam windows i Dev-c++ . Program bez problemu sie kompiluje ale.... ze źródel tzn jak w dev-c++ dam F9 program dziala poprawnie a program.exe nie chce dzialac. Wie ktos o tym problemie ?
Wklej jakie komunikaty się pojawią lub błędy.
Jakby ktos dal rade, to dosc szybko potrzebowalbym informacji, jak znalesc min i max, w jakims array (10 liczb na sztywno ustwionych) w C.
dzieki z gory.
hotDog -> brak bledow i w tym problem :/ Kompiluje sie bez errorow. Ze zrodlel dziala pieknie a jak uruchomie program.exe to program zle dziala. Dodaje ',' na koniec kazdego chara przecinek. np. mam w kodzie
char tab[] = "DUPA" to on robi na tab[]="DUPA," ale tylko podczas uruchomienia pliku .exe
tsunami ->
int LICZBY = 1,2,3
void sortuj( const void *a, const void *b )
return ( *(int*)a - *(int*)b );
a w kodzie
qsort( LICZBY, (sizeof(LICZBY)/sizeof(LICZBY[0]), sizeof(int), sortuj);
LICZBY[0] min
LICZBY[2] max
Kijano===>qsort do takiej prostej czynnosci ?
nie lepiej:
n-rozmiar tablicy
min=tab[0]
for(i=0;i<n;i++) if(tab<=min) min=tab[0];
max=tab[0]
for(i=0;i<n;i++) if(tab>=min) max=tab[0];
Kijano --> Hmmm... cieżka sprawa :-) Spróbuj skompilować go pod linem z parametrami -Wall i -pedantic. Usuń ew. błędy i ostrzeżenia jeśli się takowe pojawią i wtedy pod win spróbuj.
Ja akurat teraz robię dość rozbudowany projekt i od początku mam -Wall i -pedantic i kod jest w 100% przenośny.
ps. może potraktowanie go Valgrindem coś da?
HotDog-> wlasnie w linuxie 0 bledow przy -Wall -pedantic :/ NIC.
Moze wina stoi po stronie kompilatora. Jaki oprocz dev-c++ jest darmowy do c pod windowsem ?
slowik ->mozna tez tak. Ale lepiej miec odrazu posortowana tablice :)
Kijano===>ostatnio miele w znacznym stopniu zlorzonosci rozne no i mam watpliwosci ktora metoda bylaby wydajniejsza ;-)
znacie cos dobrego do opanowania tego zagadnienia ?
Chodzilo mi o cos troche innego... przedewszystkim mowilem o C, to co podales to chyba C++
Mam taki program:
Tutaj musze zrobic zeby mi znajdywalo Min, i Max wsrod wartosci int a[10] (czyli od -5 do 5)
Minimum ma szukac korzystajac z petli 'while' , a Maximum korzystajac z 'do while'
jeszcze raz bo GOL odczytal zle [i ] :P
#include <stdio.h>
#include <conio.h>
typedef struct
‹
int min;
int max;
int sum;
› sth;
void main ()
‹
int a[10]=‹-5,-4,-3,-2,-1,0,2,3,4,5›;
int i,sum;
int min,max;
//FROM 0 to 10
printf("\n From first to last:\n");
for (i=0;i<10;i++)
printf(" a[%d]=%d\n",i,a[i ]);
printf("\n");
//FROM 10 to 0
printf("\n From last to first:\n");
for (i=9;i>=0;i--)
printf(" a[%d]=%d\n",i,a[i ]);
//SUM
sum=0;
for(i=0;i<10;i++)
‹
sum=sum+a[i ];
›
printf("\n");
printf(" The sum of the array is: %d",sum);
printf("\n");
//MINIMUM
/*
*/
//MAXIMUM
/*
*/
sth sth2;
//sth2.min=min;
//sth2.max=max;
sth2.sum=sum;
//SAVE TO FILE
FILE *f1;
f1=fopen("datafile.dat", "w");
fwrite(&sth2, sizeof(sth), 1, f1);
fclose(f1);
//DISPLAY DATA
FILE *f;
f=fopen("datafile.dat","r");
fread(&sth2, sizeof(sth), 1, f);
fclose(f);
//READING DATA
printf("\n Data file content: ");
//printf("\n Min: %d", sth2.min);
//printf("\n Max: %d", sth2.max);
printf("\n Sum: %d", sth2.sum);
getch();
›
tsunami===>oba przyklady byly w c :]
problemow przerobieniem tego na while i do while nie powinienes miec ...
n-rozmiar tablicy
min=tab[0];
i=0;
while(i<n) if(tab<=min) min=tab[0];i++;
max=tab[0]
i=0;
do if(tab>=min) max=tab[0];i++;
while(i<n);
Pewien banalny problem, ale dlaczego zmienna wynik nie pokazuje wartosci po przecinku ?
kod dla przejrzystosci umiescilem tutaj:
Proste - wysylales uncja jako int i dzieliles przez int przelicznik. Dzielenie int/int ZAWSZE da int, nawet jesli powinno wyjsc cos innego.
Witam,
Załóżmy że mam dwie statyczne tablice 128x32:
double a[128][32];
double b[128][32];
W jaki sposób mogłabym jako użytkownik zapytany przez program określic rozmiar tych dwóch tablic ? Napewno ma to związek z użyciem wskaźników (brrrrr) i dynamiczną alokacją tablicy w c. Program na wczoraj, a ja nie umiem przebic się przez stertę manuali.. Przebic to moze zle słowo. Nie mogę zrozumiec jak to działa. Pewnie za dużo kawy.
Proszę o pomoc lub jakiekolwiek wskazówki.
Pozdrawiam szczerze,
E
Jesli chodzi o materialy z polibudy wroclawskiej to polecam jeszcze sprocket.ict.pwr.wroc.pl/~piasecki/dydaktyka - w archiwum (1 rok informatyki) jest zestaw bardzo przyjemnych folii z wykladu z podstaw c++
malloc lub calloc musisz urzyc do tego oba zwracaja wskaznik na to co utworzyles
Hej. To i ja sie udziele z pytankiem. Otoz znam troche podstaw c++ i raczej radze sobie z tym co musze w ramach studiow pisac (mimo ze programowac za bardoz nie lubie :P). Ale osotatnio dostalem zlecenie napisania czegos w ansi c. I tu prosba: moglibyscie mi dac jakis prosty przykladzik dynamicznej alokacji pamieci na tablice dwuwymiarowe?
int i=3, j=3;
double *tab = (double)malloc(i*j*(unsigned)sizeof(double));
Maevius --> ale czy to pozniej mozna stosowac bez problemu jak tab[j]? czy trzeba sie babrac w tab[i+j*3]? Bo mi potrzebna ta pierwsza opcja....
ew_03 -> majac tablice double a[128][32];
a)chcac uzyskac 128 piszesz
int x = sizeof(a)/sizeof(a[0]);
b)chcac uzyskac ilosc wszystkich elementow piszesz
int x = sizeof(a)/sizeof(a[0][0]);
c)chcac uzyskac 32 piszesz
int x = (sizeof(a)/sizeof(a[0][0]))/(sizeof(a)/sizeof(a[0]));
Od niedawna bawię się w C++ i mam mały problem...
Jak ma wyglądać warunek który sprawdza że została wpisana liczba? Chodzi o to, że na przykład jeśli wpiszę a, niech wyświetla się komunikat "Musisz podać liczbę!"
Potrzebuję tego bo przy każdym moim programie który wykonuje jakieś obliczenia na liczbach jak wpisze się inny znak to zaczyna wariować :)
maVes --> Skorzystaj z funkcji int isdigit(int c) z ctype.h, ewentualnie sprawdzaj kody ASCII (mają być w przedziale <48,57> )
Skull===>raczej od 0 do 256 ;-) 42 57 to nawet male znaki alfabetu lacinskiego sie nie mieszcza ...
mozna tez sprawdzac stan srumienia. tu masz przykladowy programik:
int main()‹
int a;
while(!(std::cin>>a))‹
std::cerr<<"blad podaj liczbe !!"<<endl;
std::cin.clear();
std::cin.ignore();
›
return 0;
›
Dzięki, problem już rozwiązałem :)
Zna ktoś może jakieś kursy (w online lub offline) itp. do GML (Game maker language)?
Jest możliwość kompilacji i odpalania programów w locie?
Np. przycisk "uruchom" i już włącza dopiero co napisany program.
Zaczynam bawić się z C++ i denerwuje mnie konieczność zapisywania każdego projektu (tworzy przy tym kilka plików), jestem bardzo "płodny" teraz. Nie potrzebuję tego śmiecia trzymać na dysku, bo to tylko eksperymenty.
Używam Dev C++.
Dołączam się do pytania bartka :)
Bo czasami znajde jakiś kod w necie i chce go tylko sprawdzić i masa plików sie tworzy na dysku -_-
Hej :)
Mam prośbę do Was programistów :) Mam zadanie:
https://www.gry-online.pl/.%5CGaleria%5CForum%5C6/202500590.JPG
Pisałem tutaj :)
https://www.gry-online.pl/s043.asp?ID=5120897&N=1
I program mam taki:
#include<stdio.h>
#include<math.h>
FILE *fr;
double funkcja(double);
double szereg(double);
double c;
int main()
double x,a,b,e;
int d;
fr=fopen("wyniki","w");
do
printf("Podaj poczatek i koniec przedzialu(od -1 do 1),\n liczbe przedzialow oraz dokladnosc\n");
scanf("%lf%lf%d%lf", &a,&b,&d,&c);
while(a<=-1||b>=1||a>b);
e=(fabs(b-a))/(fabs(d));
for(x=a;x<b+e/2;x+=e)
fprintf(fr,"%lf\t%lf\t\t%lf\n", x,funkcja(x),szereg(x));
double funkcja(double x)
double y;
y=pow(1+x,(-5./2));
return y;
double szereg(double x)
double s,w;
int i;
i=0;
s=1;
w=1;
while (fabs(w)>c)
w=w*(((double)2i+5)/(i+i+5)*x);
s=s+w;
i++;
return s;
Po plotowaniu w gnuplocie danych:
-0.9
0.8
100
0.15
wykresem jest ukośna która idąc od lewej do prawej maleje do zera taka hiperbola jakby :)
Moglibyście zerknąć czy mam dobrze rozwinięcie w szereg i wogóle. Z takiego programowania to nie jestem dobry, a dobrze,żeby to było dopracowane, bo praca na zaliczenie to jest (nie jestem na informatyce, żeby kogoś krew nie zalewała :] )
bartek&maVes===>podstawowa cecha jezykow takich jak c c++ java pascal .... jesli ich kompilacja czyli zapisanie pliku i skompilowanie go do wykonywalnego exe
jesli chcecie potestowac swoje alorytmy polecam python'a
Chłopaki, potrzebuję pomocy....
Szukam jakiegoś linka z informacją o napisaniu w C++ NT Service/Windows Service bez użycia .NET
Pomoże ktoś namierzyć jakiś przykład?
a ja polecam ocaml'a, bo go mozna i interpretowac i kompilowac.
Java
byte[] value = null;
value = binding.dajDokumentPdf(0);
Jak wartość value zapisać do pliku pdf?
Co tu jest napisane?
char str[]=106,104,87,98,87,98,87,98,87,98,87,22,48,58,22,56,104,
87,109,101,22,88,101,88,107,105,22,107,90,87,98,101,22,57,95,
22,105,95,91,22,48,58;
:->>
moze mi ktos napisac przy czym wykorzystuje sie zmienne "int" a przy czym "double" ? ;s bylbym wdzieczny
int - liczby całkowite ze znakiem, np. 4, 5, -10, -13
double - liczby zmiennoprzecinkowe (długie) - prościej - ułamki np, 23,454643 5,6 0,99848
Witam, mam problem. Jest sobie bardzo prosty program:
#include<iostream.h>main()‹cout << "pozdro";›
Moim zadaniem jest napisanie go w srodowisku BCB6 z wykorzystaniem tylko i wylacznie conio.h. Nie mam pojecia jak wypisac tekst na ekranie uzywajac tylko conio. Moglby ktos pomoc? Z gory dzieki.
#include<conio.h>
main() ‹
cputs("pozdro");
›
to działa w turbo c :)
ps. ano sekundy :)
#include <conio.h>
int main(void)
‹
cputs("Hello World!\r\n");
›
(‹ i › to klamry)
O to chodzi?
EDIT: Qbaa --> sekundy :)
Witam programistów
Mam problem - zaliczenie czegoś na czym się nie znam i dlatego proszę o pomoc.
Chodzi o rozwiazanie jednego z zadan poniżej
1. Klient: Podajemy datę urodzenia większą równą od 01.01.1900 (z kontrolą czy jest prawidłowa) i wysyłamy ją do serwera
Serwer: Odbiera wysłane dane i wyznacza znak zodiaku oraz wylicza liczbę dni od tej daty do aktualnego dnia, a następnie wysyła do klienta informację o znaku zodiaku i wyliczoną liczbę dni
Klient: Odbiera od serwera wysłane informacje i wyświetla znak zodiaku oraz liczbę przeżytych dni
Uwaga: Uwzględniamy lata przestępne w okresie od roku 1900 do aktualnego
________________________________________
2. Klient: Z ustalonego zbioru figur płaskich zawierającego prostokąt, trapez, równoległobok, romb, okrąg (informacja ta jest wstępnie wyświetlana), wybieramy figurę, podajemy charakterystyczne dla niej dane i wysyłamy stosowną informację do serwera
Serwer: Odbiera wysłane dane i wylicza dla wskazanej figury pole i obwód, a następnie wysyła do klienta obliczone wartości
Klient: Odbiera od serwera wysłane informacje i wyświetla wartość obwodu i pola figury
Uwaga: Należy kontrolować poprawność danych
________________________________________
3. Klient: : Rozwiązywanie dowolnego trójkąta dla jednego ze wskazanych wariantów danych (warianty: dane trzy boki, dany jeden bok i dwa kąty do niego przyległe, dane dwa boki i kąt między nimi zawarty, dane dwa boki i kąt przyległy do jednego z nich - kąty podajemy w stopniach). Wybieramy wariant i podajemy charakterystyczne dla niego dane, a następnie wysyłamy stosowną informację do serwera
Serwer: Odbiera wysłane dane i wylicza dla wskazanego wariantu pozostałe elementy trójkąta oraz pole i obwód trójkąta, promień R okręgu opisanego oraz promień r okręgu wpisanego, a następnie wysyła do klienta wszystkie obliczone wartości
Klient: Odbiera od serwera wysłane informacje i wyświetla otrzymane wyniki
Uwaga: Należy kontrolować poprawność danych
________________________________________
Może ktos z Was zrobi dla mnie rzecz niewykonalną ?