Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.285
|
čitano: 1.704.571
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ovo je downcasting samo u trenutku poziva metode 'method3'. Downcasting (dynamic_cast) se izvršava tek u radu programa a ne pri prevođenju pa je poželjno provjeriti rezultat dynamic_cast-a (da li je NULL ili ne) tj. da li je downcasting moguć ili nije. U ovom slučaju downcast će biti moguć jer 'i' zapravo pokazuje na objekt tipa Derived koji u sebi ima metodu metod3.

 

 

14 godina
odjavljen
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav, imam jedan problem u PAWN jeziku(znam da je ovo tema za C++) pa ako možete vi koji znate s C++om raditi u čemu bi bio problem da se ovdje radi o C++u(zamislimo da je ovo C++ kod). Naime, definirao sam jedan enum i u njemu ima nekoliko float i nekoliko int varijabli. Sad u jednu od tih varijabli moram uvrstiti decimalnu vrijednost(ne znam točno koja će to vrijednost biti ali znam gdje su joj granice). Znači u varijablu mora uči vrijednost koja je dobivena tako da se random vrijednost podijeli s ukupnom masom(radi se o SAMP game modeu pa radim nekakve pozadinske postavke svakog registriranog korisnika) no svaki put dobivam ili 0.000 ili 1.000 ili 2.000, kao da u varijablu stavljam samo cijele brojeve.

Pokušao sam i na način da u varijablu uvrstim 61 kroz 95 i dobio sam 0.000 a trebao sam 0.6421 dobiti. Ne znam šta neće da podijeli kako treba te brojeve. Kod je ispod, nadam se da netko zna do čega bi mogao biti problem. Hvala svima 

 

 

#define _HRP_RANDOM(%0,%1) \
(random(%1-(%0))+%0) // MAKRO DEFINICIJA RANDOM FUNKCIJE - KOMPAJLER KOD KOMPAJLANJA .AMX FAJLA ZAMJENI NAVEDENE FUNKCIJE

 

enum _HRP_kENUM
{
_kID,
_kZaporka[129],
_kMail[31],
Float:_kMetabolizam,
Float:_kPotrebaZaVodom,
Float:_kBrzinaOpijanja,
Float:_kBrzinaDrogiranja,
Float:_kJacinaUdarca,
Float:_kBrzinaRastaKose,
_kKod[15]
};
new _HRP_Korisnik[MAX_PLAYERS] [_HRP_kENUM];

 

 

new _ran = _HRP_RANDOM(5, 75);
_HRP_Korisnik[_playerid][_kBrzinaOpijanja] = _HRP_RANDOM(5, 75) / (_HRP_kOstalaMasa{_playerid} + _HRP_kMisicnaMasa{_playerid} + _HRP_kMasaSala{_playerid});
printf("al %f, random %d masa %d", _HRP_Korisnik[_playerid][_kBrzinaOpijanja], _ran, _HRP_kOstalaMasa{_playerid} + _HRP_kMisicnaMasa{_playerid} + _HRP_kMasaSala{_playerid});

 

 

To je kod, znači vrlo jednostavan je zadatak kojeg on ne zna odraditi(ja nigdje ne vidim pogrešku kada se ta varijabla samo tu postavlja, kasnije ona ostaje ista a i svakako ne može biti nikako 0.000 a mala vijerojatnost je da će biti 1.000 ili 2.000

Evo debug tekst kojeg je printf izbacio...

 

[06.11.2015. 22:36:42] al 1.000000, random 73 masa 59

 

_HRP_RANDOM sam zamijenio s _ran varijablom kako bi kasnije mogao debugati tu nasumičnu vrijednost

Ovo je PAWN pa se varijable definiraju s new kodom a tim varijable(tipa float) definiramo s new Float: a za string(znakovni niz) koristimo new var[64] gdje je 64 broj mjesta u varijabli gdje će slova usjedati(može primiti 63 slova, 64. slovo je znak za nuliranje stringa).

Poruka je uređivana zadnji put sub 7.11.2015 16:27 (Dex.pwn).
 
0 0 hvala 0
9 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Može li mi netko pomoći u vezi ovog zadatka? Ne znam otkud bi ga počela rješavati.

 

Izradite program koji će omogućiti naplatu iznajmljivanja sportskih terena i opreme .

Tereni koji se iznajmljuju su:

 nogomet,

 tenis,

 stolni tenis

Oprema:

 lopta,

 reketi,

 reketi za stolni tenis.

Najam terena naplaćje se po satu (obračnska jedinica je 1 sat)

Program mora nuditi mogućost odabira usluge iznajmljivanja, te najma opreme. Cijene su podlože pregovorima pa ih nije potrebno "hardkodirati" u programu većtreba omogućti unos.

Djelatnik blagajne mora imati mogućost naplate iznajmljivanja ili usluge te odabire jednu od ponuđnih opcija.

Nakon toga unosi trajanje i cijenu, a program račna i ispisuje iznos za naplatu. Moguć je unijeti vise stavki račna, ako korisnik žli.

U zadatku obavezno koristiti funkcije.

 
0 0 hvala 0
9 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Nije mi bas jasan ovaj zadatak ovo oko pregovora jel mozes malko pojasnit!! :D

 

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
prubic kaže...

Može li mi netko pomoći u vezi ovog zadatka? Ne znam otkud bi ga počela rješavati.

 

 

 Probaj pocet od #include <iostream>

Mislim, vamo vam nitko nece rjesavat zadatke, vec je milijun puta receno da morate stavit bar neki pokusaj rjesavanja zadatka.

LoL acc THCJoshi
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ne znam šta tu nema biti jasno. Znaci neces hardkodirati cijene tipa 10 kn , 20kn , 30kn i izabirati iz izbornika vec ces imat polje za unos cijene koju ti pozelis odnosno cijene oko koje se "dogovoris" s klijentom. 

10 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Imam mali kod koji mi neće kompajlat u Visual Studiu 2013,

no dok taj isti kod isprobam s clang i gcc kompajlerima sve radi dobro.

 

Sumnjam da je bug u Visual C++ kompajleru.

 

#include <chrono>

#include <thread>

 

int main ()

{

   std::chrono::duration<double, std::milli> ms(100);

   std::this_thread::sleep_for(ms);

   return 0;

}

 

Je li može netko potvrditi to ili ispraviti moju grešku?

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

To je bug u Visual Studiju. Njegov compiler ne može razumijeti implementaciju određenih operatora iz tih biblioteka.

 

http://stackoverflow.com/questions/24586804/c11-chrono-in-visual-studio-2013

Poruka je uređivana zadnji put sub 28.11.2015 22:39 (TracerCPP).
10 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Komentar na prihvaćeni odgovor tvrdi da je bug popravljen u novijoj verziji,

probao sam isti kod s online kompajlerom koji je updatean Nov. 2015, no i dalje izbaciva grešku.

Što je s tim? Vrijedi li to negdje prijavljivati?

 

Ako koristim predefinirani std::chrono::milliseconds onda radi, morat ću pretvarati double u int.

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Meni čak javlja grešku u VS 2015, tako da ako ti pomažu te se konverzije onda najbolje njih i iskoristi.

17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Bleidd kaže...

Komentar na prihvaćeni odgovor tvrdi da je bug popravljen u novijoj verziji,

probao sam isti kod s online kompajlerom koji je updatean Nov. 2015, no i dalje izbaciva grešku.

Što je s tim? Vrijedi li to negdje prijavljivati?

 

Ako koristim predefinirani std::chrono::milliseconds onda radi, morat ću pretvarati double u int.

Pa koju gresku puca?

 

I jel ima razlika izmedu std::milli i std::chrono::milliseconds? Ovako na prvu mi zvuci da rade isto.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
10 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

std::chrono::milliseconds koristi int tip kao tick count, no ja ga hoću zamijeniti s double,

jer u takvoj varijabli dobivam vrijeme, oba formata mjere vrijeme u milisekundama no double daje veće preciznost.

 

Uglavnom nemam druge nego pretvarati.

 
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Rjesavam ovaj zadatak iz Tracerove skripte za labove (nisam na TVZ-u ;)), zapeo sam oko ovog zadatka neke stvari mi nisu jasne.

 

U kartaškom špilu se nalaze 52 karte a svaka od karti je označena brojem 1-52. Napišite program koji će za N igrača (N <= 13) podijeliti po 4 karte iz kartaškog špila. Prilikom kreiranja kartaškog špila sve karte mogu biti poredane po redu (1-52) ili izmiješane slučajnim redoslijedom (random_shuffle, zaglavlje algorithm).
Na početku programa potrebno je unijeti N igrača te kreirati novi (izmiješani) špil karata. Upotrebom metode void Spil::Podijeli4Karte(Igrac *igrac) svakom od igrača treba podijeliti po 4 karte sa vrha špila. Svaki igrač ima svoje ime te popis karti koje su mu podijeljene. Program treba ispisati karte koje su podijeljene svakom od igrača a zatim i karte koje su ostale u špilu.

 

Izmješane karte sam uspio dobiti samo mi nije jasno, jel ovdje imam dvije klase Spil i Igrac, je li se u konstruktoru klase Spil odmah spremaju ove random 52 karte, te se kasnije dijele 4 karte za svakog igrača?

 
1 0 hvala 0
11 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Malo sam se zanimao za ovaj zadatak postavljen sa tvoje strane, pa sam našao ovo, dolje....

Ak' nisi vidio imaš na jubitu o baš tom zadatku od samog autora.

 

Panzerkampfwagen.Unatoč svemu - Dinamo Zagreb.
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Tko bi rekao da će ovo završiti na Bug forumu . Al ajd, drago mi je ako će pomoći i drugima, ne samo TVZ-ovcima.

Moj PC  
3 0 hvala 0
17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ovo su dobronamjerne kritike, pa nemojte ovo shvatiti kao kenjkanje po autoru, i uz to video je namjenjen pocetnicima pa su neke suboptimalne stvari razumljive:

 

Moze se inicijalizirati default value membera u .h,

http://ideone.com/K6CYbs

ali meni je to gadno.

http://en.cppreference.com/w/cpp/algorithm/random_shuffle

je deprecated, treba koristi kao shuffle, ali meni je to malo bezveze jer random_shuffle je laksi za koristiti.

erase sa pocetka vector je sporo. Da za 52 size vector nije bitno, ali generalno je lose.

za runtime assertions je bolje kliknuti retry jel good guy VS te baci na liniju gdje je krepo... I bez toga breakpoints i continue/step je isto tako ok alternativa

 

 

 
1 0 hvala 0
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

To si ti inicijalizirao vektor klase u mainu, na onom mjestu u Spil.h kako je Tracer radio ne može se inicijalizirati konstantom.

C2059 syntax error constant

Aha sorry, može sa vector<int>(konstanta)

Poruka je uređivana zadnji put ned 29.11.2015 21:19 (Floki).
 
1 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ideja ovog zadatka je da se kroz par klasa prođu konstruktori i vektori, te da se vide prednosti vektora u odnosu na klasična statička polja (jer su do sada samo njih koristili u C-u). Znači, da se pomoću već unaprijed postojećeg seta algoritama kontejneri poput vektora mogu vrlo jednostavno sortirati (sort), izmješati slučajnim redoslijedom (shuffle), da se element vektora može direktno izbrisati (erase) itd. itd. Znači, čisto nekakvo upoznavanje s mogućnostima. Naravno, da je to predmet poput algoritama i struktura podataka onda bi svakako tu došle u obzir i performanse, pa se možda ne bi koristilo metodu erase, već npr. neki "pokazivač" na vrh špila itd.. No ponavljam, poanta je tek da se zna da metode poput erase postoje . I naravno, veličina vektora se može tako inicijalizirati, no jedna od tema te vježbe je bila i konstruktorska inicijalizacijska lista, pa sam upravo zato preko nje htio ovo demonstrirati.

 

Neda mi se sada iznova gledati video no mislim da sam negdje tamo već rekao da se zadatak može riješiti na dosta različitih načina, tako da sve vaše primjedbe stoje . No ipak, sa stanovišta početnika bitno je da se stvari razumiju na konceptualnoj razini , a to da li će on kasnije koristiti random_shuffle ili shuffle ili će napisati svoje nešto nitko od nas niti ne gleda. Štoviše, najveći je problem kada na niti jedan način student ne zna doći do rješenja..

Moj PC  
3 0 hvala 4
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

Interesira me, za početak dali je dovoljna knjiga Demistificirani C++ Julijan Šribar i Boris Motik?

 
2 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
ERROR1911 kaže...

Interesira me, za početak dali je dovoljna knjiga Demistificirani C++ Julijan Šribar i Boris Motik?

Ovisi sto smatras pod pocetak, ali generalno, ne. Ta je knjiga vise referenca kad nesto zaboravis ili se zelis podsjetiti pa potrazis. Ima puno boljih knjiga (i tutoriala) za poceti. Pogledaj ovu temu. Takoder, knjiga koju bi preporucio svakome tko pocinje s C++-om, ali je na engleskom.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...
ERROR1911 kaže...

Interesira me, za početak dali je dovoljna knjiga Demistificirani C++ Julijan Šribar i Boris Motik?

Ovisi sto smatras pod pocetak, ali generalno, ne. Ta je knjiga vise referenca kad nesto zaboravis ili se zelis podsjetiti pa potrazis. Ima puno boljih knjiga (i tutoriala) za poceti. Pogledaj ovu temu. Takoder, knjiga koju bi preporucio svakome tko pocinje s C++-om, ali je na engleskom.

 Početak, znači totalno od nule, za one koji se nikad nisu susreli s programiranjem. 

12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Imam pitanje vezano za Windows Phone aplikacije, na Microsoftovim stranicam a sam pročitao da moraš iamti W8 kako bi ih mogao razvijati i Visual 2012(mislim), mogu li to nekako izbjeći i razvija li itko od vas na ovoj platformi ?

 
1 0 hvala 0
14 godina
odjavljen
offline
Programiranje u C++-u - pitanja i odgovori

Dal mi netko može objasniti zašto provjera ne radi svoje? Znači mogu ukucati bilo koji broj a ta provjera kao da ne postoji. Ne kužim zašto. Takav način provjere koristim stalno u PAWNu(u obliku nejenadžbe) i sve radi, ovdje u C++ neće

 


#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
 int _a;
 
 cout << "Unesi neki troznamenkasti broj" << endl;
 cin >> _a;
 
 if(100 <= _a <= 999)
 {
  int _b = _a % 10;
  
  cout << "Na trecem mjestu je broj " << _b << endl;
 }
 else cout << "Greska" << endl;
 getch();

 return (false);
}



 

@ Ne radi ni ovakav tip provjere. Svaki broj prolazi.

 

 if(_a <= 100 && _a <= 999)
 {
  int _b = _a % 10;
  
  cout << "Na trecem mjestu je broj " << _b << endl;
 }

 

 

Jedino ovakav tip provjere prolazi ali u slučaju da mi je _a u rasponu od 100 do 999 onda mi izbaci koji je broj na 3. mjestu i sadržaj pod slučajom "default"

 

 switch(_a)
 {
  case 100 ... 999:
  {
   int _b = _a % 10;
  
   cout << "Na trecem mjestu je broj " << _b << endl;
  }
  
  default:
  {
    cout << "Greska" << endl;
  }
 }

 

 

 

 

Poruka je uređivana zadnji put sub 5.12.2015 23:46 (Dex.pwn).
 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

To je matematicki zapis, samo neki programski jezici omogucavaju takvu provjeru.

 

Ovo je pravilno u C++-u:

if (_a >= 100 && _a <= 999) { // napravi nesto }

 

EDIT: Bio si blizu s ovim drugim nacinom, samo si krivo okrenuo znak usporedbe (vidi bold). Jer ako je _a u rasponu od 100 do 999 (ukljucivo), znaci da je _a vece_jednako od 100 i manje_jednako od 999.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
Poruka je uređivana zadnji put ned 6.12.2015 13:47 (1domagoj1).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
ilyaz97 kaže...

Imam pitanje vezano za Windows Phone aplikacije, na Microsoftovim stranicam a sam pročitao da moraš iamti W8 kako bi ih mogao razvijati i Visual 2012(mislim), mogu li to nekako izbjeći i razvija li itko od vas na ovoj platformi ?

 nemogu ti pomoci za W8, ali nema razloga da ne koristis VS 2015 koji ima vise featurea i uz to je community verzija free.

9 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav društvo imam zanimljiv zadatak :D ,nesto sam uradio u vezi toga ali slabo nije to ono što sam mislio a evo o čemu se radi,pa ko ima vremena eto :D

Tema

Napisati program koji implementira funkcionalnosti studentske službe.

 

                            Tehnički zahtjevi

1.Omogućiti operacije unosa, izmjene, pregleda i brisanja: studijskih programa, predmeta, nastavnika, studenata, ispita, ocjena, godina studija i akademskih godina.
2.Početno punjenje baze vršit će se iz tekstualnih datoteka,
3.Unos novih stavki, te izmjenu postojećih vršiti sa tastature.
4.U slučaju izmjena na bazi prebrisati postojeću tekstualnu datoteku na koju se izmjena odnosi.
5.Željenu radnju (unos, izmjena, pregled, brisanje) korisnik unosi preko tastature na osnovu ponuđenih opcija u terminalu.
6.Za novi unos definirati potrebne kolone i ograničiti unos ukoliko se ne unesu potrebni podaci.
7.Za povezivanje tabela koristit će se ključevi, koji predstavljaju jedinstveni identifikator određene stavke:
    - studijski program: tekstualna skraćenica od 2 znaka (IT, SP, itd.)
    -predmet: tekstualna skraćenica od 4 znaka (URIT, PJIP, RAMR, itd.)
    -nastavnik: tekstualni JMBG sa 13 cifara
    -student: tekstualni broj indeksa (npr. I-0001/14)
    -ispit: kontejner sa informacijom o predmetu, datumu i studentu
    -godina studija: cijeli broj (1,2,3,4,5)
    -akademska godina: tekstualna oznaka u formatu xxxx/yyyy (npr. 2015/2016.)
8.Napraviti dokumentaciju projekta u obliku Word dokumenta. Koristiti ovaj dokument kao šablon, obrisati 5. poglavlje i početi sa tim poglavljem svoj izvještaj o projektu.

Muris Sehic
 
1 1 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

No, i sto si dosad napravio? Sto ti konkretno nije jasno?

P.S. Tko za ime svijeta pise programsku dokumentaciju u Wordu?!

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...

..

P.S. Tko za ime svijeta pise programsku dokumentaciju u Wordu?!

- tko kaže u wordu.. kaže u obliku (shape). Možda i mimikrijom, možda formatu, možda formatirati font, možda i neformatirani text..

.. al, da ima toga i u wordu, kad radiš prateću dokumentaciju 'za lijepe fascikle' (neku lijepu, al beskorisnu).. i oslanjaš se na spellčeker.

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
14 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...

No, i sto si dosad napravio? Sto ti konkretno nije jasno?

P.S. Tko za ime svijeta pise programsku dokumentaciju u Wordu?!

 

Ja, recimo ne pišem u Wordu al pišem u OneNoteu, tipa ovako nešto.. Nije C++ al je PAWN

Uz to računaj da sam tek na početku projekta i da ima ohoho rada na istome.

 

Poruka je uređivana zadnji put uto 8.12.2015 23:15 (Dex.pwn).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Programska dokumentacija se pise u doxygenu ili necemu slicnome i automatski se iz koda i komentara generira u, najcesce HTML.

Zamisli da ovako nesto skidas u Wordu, majko mila: https://docs.python.org/3/library/

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
E-mail:
Lozinka:
 
vrh stranice