Pozdrav ekipa!
Ovako imam problem sta god napravim u c++ dobro je i kompajla mi bez errora ali kada idem pokrenut program (.exe) pojavi mi se konzola i odma se ugasi neznam zasto mozel pomoc?
Hvala!
Pozdrav ekipa!
Ovako imam problem sta god napravim u c++ dobro je i kompajla mi bez errora ali kada idem pokrenut program (.exe) pojavi mi se konzola i odma se ugasi neznam zasto mozel pomoc?
Hvala!
Stavi sleep na kraj?
Pa zato što je obavila ono što si joj zadao, neće ona tebe čekati da čitaš.
U Demistificiranom C++-u, su dali nekoliko rješenja:
-da okupiš rodbinu i raspišeš nagradu za onoga ko uhvati šta piše
-na kraj programa dodaš system("PAUSE");, koji će, u slučaju Windows-a, CMD-u proslijediti PAUSE naredbu, ona će pauzirati konzolu, i ispisati Press any key to continue...
Možeš i deklarisati još jednu varijablu i čekati njezin unos, ali bespotrebno rasipanje memorijom. :D
evo sada sam probao sve napraviti ali mi nece da napravi .exe "dotateku" zasto to sada nece ???
ma meni nece da napravi .exe kuzis kompajlam ali nema .exe dotateke
evo code
#include <iostream.h>
int a,b,b;
int main(){
cout << "Upisi prvi broj:";
cin >> a;
cout << "Upisi drugi broj:";
cin >> b;
c=a+b;
cout << "njihov zbroj je:" <<c<<endl;
return 0;
}
Pa zato što je obavila ono što si joj zadao, neće ona tebe čekati da čitaš.
U Demistificiranom C++-u, su dali nekoliko rješenja:
-da okupiš rodbinu i raspišeš nagradu za onoga ko uhvati šta piše
-na kraj programa dodaš system("PAUSE");, koji će, u slučaju Windows-a, CMD-u proslijediti PAUSE naredbu, ona će pauzirati konzolu, i ispisati Press any key to continue...
Možeš i deklarisati još jednu varijablu i čekati njezin unos, ali bespotrebno rasipanje memorijom. :D
Po meni je najbolje koristiti neki IDE koji automatski zaustavi program nakon izvodenja, npr. Codeblocks.
ma meni nece da napravi .exe kuzis kompajlam ali nema .exe dotateke
Stani malo. Maloprije govoris da ti se program pokrene i odmah ugasi, a sada ti uopce ne dolazi do kompajlanja programa.
Prvo nam reci kako to ti tocno kompajlas program. Je li koristis neki IDE? Kompajlas li direktno iz terminala/cmd-a ?
gle ja sam pocetnik u programiranju i znaci skinuo sam microsoft visual 2010 i napravio sam new project ...cpp.....i sada mi nece da mi napravi .exe.
gle ja sam pocetnik u programiranju i znaci skinuo sam microsoft visual 2010 i napravio sam new project ...cpp.....i sada mi nece da mi napravi .exe.
Trebas malo detaljnije opisati sto nije u redu. Jasno napisi sto tocno u visual studiu uradis, sto se tocno pojavi, kako znas da ti ne pravi exe?
Po meni je najbolje koristiti neki IDE koji automatski zaustavi program nakon izvodenja, npr. Codeblocks.
VS bi trebao sam dodavati Press any key to continue, nisam siguran.
gle ja sam pocetnik u programiranju i znaci skinuo sam microsoft visual 2010 i napravio sam new project ...cpp.....i sada mi nece da mi napravi .exe.
Ctrl+F5 pokreće program bez debagera, a exe fajl je u debug folderu projekta. Prvo se moraš upoznati sa IDE-om, pa onda krenuti za programiranje, možda bi za sami početak C::B ili DevC++ bio sretnije rješenje, ali ako se naučiš na VS ništa ti više ne treba.
Dakle prvo kreiraš projekt i odabereš gdje ćeš ga spremiti, savjetujem ti da koristiš Empty project stavku i sam dodaješ .cpp fajlove, nije se pametno vezati za .NET C++-om, radi nativni C++, dakle Empty project i sam dodaji .cpp fajlove u source folder.
Ako trebaš pomoć oko Visual Studia samo reci.
gle ja sam pocetnik u programiranju i znaci skinuo sam microsoft visual 2010 i napravio sam new project ...cpp.....i sada mi nece da mi napravi .exe.
Trebas malo detaljnije opisati sto nije u redu. Jasno napisi sto tocno u visual studiu uradis, sto se tocno pojavi, kako znas da ti ne pravi exe?
oso sam u svoju dotateku u debug i nema .exe ....i kada kompajlam mi pise da sustav nemoze naci navedeno polje tj .exe
Po meni je najbolje koristiti neki IDE koji automatski zaustavi program nakon izvodenja, npr. Codeblocks.
VS bi trebao sam dodavati Press any key to continue, nisam siguran.
gle ja sam pocetnik u programiranju i znaci skinuo sam microsoft visual 2010 i napravio sam new project ...cpp.....i sada mi nece da mi napravi .exe.
Ctrl+F5 pokreće program bez debagera, a exe fajl je u debug folderu projekta. Prvo se moraš upoznati sa IDE-om, pa onda krenuti za programiranje, možda bi za sami početak C::B ili DevC++ bio sretnije rješenje, ali ako se naučiš na VS ništa ti više ne treba.
Dakle prvo kreiraš projekt i odabereš gdje ćeš ga spremiti, savjetujem ti da koristiš Empty project stavku i sam dodaješ .cpp fajlove, nije se pametno vezati za .NET C++-om, radi nativni C++, dakle Empty project i sam dodaji .cpp fajlove u source folder.
Ako trebaš pomoć oko Visual Studia samo reci.
to sam sve napravio sto si reko, ali i dalje neznam kako da napravim .exe file...dali imas teamwiwer ili teamspeak3?
Polako, ajdemo ispočetka.
Otvori Visual Studio/Visual C++ Express, klikni na File, zatim na New Project, odaberi C++ kao jezik u slučaju da koristiš Professional verziju, odaberi Empty project, daj mu ime i kreiraj neki folder na disku recimo Razvoj, ako ne želiš da ti projekti idu u Dokumente.
Kada kreiraš projekt desno klikni na folder Sources i idi na Add item, odaberi .cpp fajl i daj mu ime main.cpp.
U njega kopiraj ovo:
#include<iostream>
using namespace std;
int main()
{
cout<<"Pozdrav za Bug.hr!"<<endl;
system("PAUSE");
return 0;
}
Stisni Ctrl i F5 i konzola je tu?
Polako, ajdemo ispočetka.
Otvori Visual Studio/Visual C++ Express, klikni na File, zatim na New Project, odaberi C++ kao jezik u slučaju da koristiš Professional verziju, odaberi Empty project, daj mu ime i kreiraj neki folder na disku recimo Razvoj, ako ne želiš da ti projekti idu u Dokumente.
Kada kreiraš projekt desno klikni na folder Sources i idi na Add item, odaberi .cpp fajl i daj mu ime main.cpp.
U njega kopiraj ovo:
#include<iostream>
using namespace std;
int main()
{
cout<<"Pozdrav za Bug.hr!"<<endl;
system("PAUSE");
return 0;
}
Stisni Ctrl i F5 i konzola je tu?
Je!!! ispisalo mi je pozdrav za bug.hr...ahaaa ja sam prije bio krivi file stavio...nisam empty nego sam nesto brljao ... :D
Možeš i deklarisati još jednu varijablu i čekati njezin unos, ali bespotrebno rasipanje memorijom. :D
Ili s obzirom da je gotov sa svim racunanjem moze uzeti bilo koju postojecu varijablu koja je u scopeu i cekati na njen unos :D
Nisam vidio kôd, mislio sam da je riječ o "hello worldu". :D
koristi getch(); umjesto system("PAUSE");
radit će na svim platformama, i ne zahtjeva nikakvu memoriju
BTW mogo bi netko odgovorit na moje pitanje već prije postavljeno.
Kako čitati FPS (frames per second) in neke igre u C-u ? ili broj reneriranih frameova..
itko, pls
BTW mogo bi netko odgovorit na moje pitanje već prije postavljeno.
Kako čitati FPS (frames per second) in neke igre u C-u ? ili broj reneriranih frameova..
itko, pls
Nimalo trivijalna stvar, pogledaj ovdje.
Pozdrav. Zanima me zašto kod ovog primjera izbacuje grešku kod izvođenja. Radi se o unosu par znakova te ih spremi u niz da ih mogu kasnije ispisati pravilnim i obrnutim redosljedom.
#include <iostream>
using namespace std;
int main () {
char tekst;
char* niz ;
cout << "Unesite 5 slova" << endl;
for(int i = 0; i <= 4; ++i){
cin >> tekst;
tekst = niz[i];
}
}
I još me zanima kako bi napisao program da ne moram unosit znak po znak, nego da npr. upišem cijelu riječ ili rečenicu.
Hvala.
Pozdrav. Zanima me zašto kod ovog primjera izbacuje grešku kod izvođenja. Radi se o unosu par znakova te ih spremi u niz da ih mogu kasnije ispisati pravilnim i obrnutim redosljedom.
#include <iostream>
using namespace std;
int main () {
char tekst;
char* niz ;
cout << "Unesite 5 slova" << endl;
for(int i = 0; i <= 4; ++i){
cin >> tekst;
tekst = niz[i];
}
}
I još me zanima kako bi napisao program da ne moram unosit znak po znak, nego da npr. upišem cijelu riječ ili rečenicu.
Hvala.
Gresku ti izbacuje zato sto ti uopce nisi alocirao prostor na koji spremas te znakove. Dakle ti imas samo pokazivac koji pokazuje na neku random adresu, i onda ti na tu adresu stavljas znakove.
Prostor mozes alocirati dinamicki i staticki. U statickoj alokaciji moras znati pri pisanju programa tocno koliko mjesta moras alocirati, pa broj znakova koje alociras mora biti konstantan:
char niz[10]; //
ili
const int brojZnakova = 10;
char niz[brojZnakova]
Buduci da se za staticku alokaciju brine kompajler, ti uopce ne moras dealocirati ovaj prostor, vec ce to za tebe obaviti kompajler, najcesce na kraju bloka.
Kod dinamicke alokacije, alokacija se dogada za vrijeme izvodenja programa. Ne moras pri pisanju programa znati koliko prostora zelis alocirati pa ti broj znakova moze biti obicna varijabla:
int brojZnakova = 10;
char* niz = new char[brojZnakova];
Ovdje kompajler nece sam dealocirati ono sto si ti alocirao, pa moras sam ,kad ti vise ovaj prostor ne bude potreban, dealocirati ovaj prostor:
delete [] niz;
I kad ovako "rucno" alociras prostor za znakovne nizove, moras uzeti u obzir da znakovni nizovi uvijek na kraju imaju null ( \0) znak koji oznacava kraj znakovnoga niza. Dakle ako ti zelis alocirati prostor za rijec od 7 znakova, moras u memoriji alocirati prostor za 8 znakova, kako bi ti stao i \0. Ako se ne zelis previse zamarati ovakvim stvarima, onda koristi razred stringiz standardne biblioteke. On se sam brine za alokaciju i dealokaciju prostora za znakovne nizove.
Ako hoces cijelu rijec unijeti odjednom, onda to mozes uciniti pomocu objekta cin:
cin >> niz;
Ovo gore unosi jednu rijec, no ako hoce unijeti cijelu recenicu, ili cijelu liniju koda koristi funkciju getline od objekta cin. Prvi argument funkciji je znakovni niz u koji zelis spremiti unos. Drugi argument je maksimalan broj znakova koji se moze unijeti preko te funkcije, i treci je znak koji odreduje kada se prekida unos. Kada pri unosu funkcija getline unese maksimalan broj znakova koje si naveo kao drugi argument, ili naide na znak koji si naveo kao treci argument, unos se prekida, i stavlja se u niz koji se naveo kao prvi arguemnt, i na kraj unesenih znakova automatski se stavi null znak.
Npr. ako hoces unijeti recenicu koja zavrasava tockom:
cin.getline(niz, 100, '.');
Ima tu jos dosta detalja i mogucnosti vezanih za unos, i ako ih zelis znati prouci cijeli razred istream.
Zanima me zašto kod ovog primjera izbacuje grešku kod izvođenja.
#include <iostream>
using namespace std;
int main () {
char tekst;
char* niz ;
cout << "Unesite 5 slova" << endl;
for(int i = 0; i <= 4; ++i){
cin >> tekst;
tekst = niz[i];
}
}
Na što pokazuje "niz"? Nisi mu dodjelio nikakav alocirani komad memorije, nego pišeš po nekakvoj nepoznatoj memorijskoj adresi (vrlo vjerojatno nevažećoj) i zato ti se program ruši.
Radi se o unosu par znakova te ih spremi u niz da ih mogu kasnije ispisati pravilnim i obrnutim redosljedom.
tekst = niz[i];
Pogledaj malo taj kod. Ne spremaš ti "tekst" u "niz[i]", nego vrijednost iz "niz[i]" spremaš u "tekst".
Trebalo bi ići:
niz[i]=tekst;
Hvala.
#include <iostream>
using namespace std;
int main ()
{
char tekst[6], niz[6]; //rezervirano mjesto u memoriji za
//6 znakova. Zato što treba imati i
//NULL znak na kraju.
cout << "Unesite 5 slova" << endl;
cin >> tekst;
for(int i = 0; i <= 5; ++i)
{
niz[i]=tekst[i];
}
return 0;
}
Baš sam sad na tom dijelu u knjizi što se tiče dinamičke i automatske alokacije objekata pa mi je jasno što si napisao, a o unosu cijelih riječi ili rečenica i funkcije getline za sada još ništa ne piše u knjizi pa se neću baš i zamarati time trenutno, ali ću proučiti link koji si mi dao.
Hvala.
imam problema sa minGW kompajlerom i treba mi neki kvalitetni c++ kompajler, a ima ih puno i ne znam koji izabrati
imam problema sa minGW kompajlerom i treba mi neki kvalitetni c++ kompajler, a ima ih puno i ne znam koji izabrati
Na Linuxu imas GCC, na Winsima je to MinGW (prakticki gcc portan na Winse), to su jedni od najboljih kompajlera, imas i ostale, ali su dosta skupi, recimo Intelov i sl.
imam problema sa minGW kompajlerom i treba mi neki kvalitetni c++ kompajler, a ima ih puno i ne znam koji izabrati
Kakvih problema ako smijemo znati?
Vjerojatno samo radiš nešto pogrešno, ili koristiš prastaru verziju MinGW-a.
E ljudi moze pomoc, relativno sam nov u programiranju i sad me zanima jedna stvar...kako da unesem jednu cijelu rijec i da mi ju spremi negdje u neku varijablu i da kad ju zatrebam da ju mogu ispisati?
E ljudi moze pomoc, relativno sam nov u programiranju i sad me zanima jedna stvar...kako da unesem jednu cijelu rijec i da mi ju spremi negdje u neku varijablu i da kad ju zatrebam da ju mogu ispisati?
Možeš sa string ili char.
#include <string>
string a;
cin>>a;
ili
char a;
cin>>a;