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

poruka: 7.285
|
čitano: 1.705.026
|
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
Dex.pwn kaže...
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.

 

 

 

Ovo prikazano više liči na tehničku nego li na korisničku (programsku) dokumentaciju. Međutim, da meni netko preda tehničku dokumentaciju projekta na ovakav način ona bi odmah bila vraćena na doradu iz sljedećih razloga:

 

1. Nema konceptualnog ER modela baze podataka

2. Prikazani popis tablica i kolona djelomično liči na logički ER model, ali opet bez prikazanih odnosa među pojedinim entitetima

3. Nema relacijskog modela baze podataka s jasnim opisom pojedinih veza (kaskada, NULL ili nešto treće?)

4. Imena tablica moraju biti jasnija, ili ih se bar po shemama u tu svrhu trebaju grupirati

5. Ovako na prvi pogled vidim da čak niti model (struktura prve tablice) nije dobro napravljena jer ako ništa drugo prikazana tablica nije u 3NF

 

Za točku br.1 preporučujem primjerice Enterprise Architecht. On se može upotrijebiti i za točku 3, nakon čega se direktno iz Enterprise Architecta mogu generirati sve tablice i relacije direktno u samoj bazi. Što se tiče ovog popisa on se može napisati i u Excelu (npr. svaki sheet za svoju tablicu). Pošto je to tehnička dokumentacija ona je samo za određenu grupu ljudi i najbitnije je da je dobro organizirana. A što se tiče korisničke dokumentacije tu se može npr. ovo što je Domagoj spomenuo (doxygen) i sl. Obavezno linkati dijelove aplikacije (kontrole) preko context id-eva i na taj način direktno prikazati korisničku dokumenaciju za konkretni upit.

 

Pokazao bih sada neke primjere (upravo završio s modeliranjem i dokumentiranjem baze podataka za jedan EU projekt od 1.000.000 kn), kao i aplikacije koju sam u tu svrhu napisao, te i za nju također napisao tehničku pa zatim i korisničku dokumentaciju. No, mislim da ne smijem to baš javno pokazivati, tako da..

Poruka je uređivana zadnji put uto 8.12.2015 23:56 (TracerCPP).
14 godina
odjavljen
offline
Programiranje u C++-u - pitanja i odgovori

Ma to je za laičku upotrebu, da si imam organizirano. A šta je s onim dijagramima tijeka?

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

To je sasvim druga priča vezana za snimanje rada poslovnog procesa i trebala bi biti napravljena od strane poslovnog analitičara te priložena kao dio specifikacije zahtjeva pred programere i db admine.

Poruka je uređivana zadnji put čet 10.12.2015 20:28 (TracerCPP).
14 godina
odjavljen
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav,

zanima me dali se ikako može napraviti int funkcija koja će imati nedefinirani broj parametara koji će se množiti međusobno?

Npr.:

 

int funkcija(p1, p2, p3, p4)

{

return (p1 * p2 * p3 * p4);

}

 

Samo što neće biti definirat broj parametara, znači može biti 5 komada ili 10 ili 100. Također da ima nekakav način da se isti unesu putem cin-a ili sscanfa. Hvala :)

 
0 0 hvala 0
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Lack of money is the root of all evil. George Bernard Shaw
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dex.pwn kaže...

Pozdrav,

zanima me dali se ikako može napraviti int funkcija koja će imati nedefinirani broj parametara koji će se množiti međusobno?

Npr.:

 

int funkcija(p1, p2, p3, p4)

{

return (p1 * p2 * p3 * p4);

}

 

Samo što neće biti definirat broj parametara, znači može biti 5 komada ili 10 ili 100. Također da ima nekakav način da se isti unesu putem cin-a ili sscanfa. Hvala :)

Upotrebom C++11 standarda može se riješiti ovako:

 

#include <iostream>
using namespace std;

template<class Argument1, class Argument2>
typename common_type<Argument1, Argument2>::type Mnozi(Argument1 a, Argument2 b)  {
   return a * b;
}
template<class Argument1, class Argument2, class... OstaliArgumenti>
typename common_type<Argument1, Argument2, OstaliArgumenti...>::type Mnozi(Argument1 a, Argument2 b, OstaliArgumenti... ostali) {
   return a * Mnozi(b, ostali...);
}
int main(){
   cout << Mnozi(2.5, 3) << endl;        // 7.5
   cout << Mnozi(2.5, 3, 2) << endl;     // 15
   cout << Mnozi(2.5, 3, 2, 5) << end;   // 75
   return 0;
}

 

U C++14 standardu to može ići i ovako:

 

#include <iostream>
using namespace std;

template<class Argument1, class Argument2>
auto Mnozi(Argument1 a, Argument2 b) ->decltype(a * b) {
   return a * b;
}
template<class Argument1, class Argument2, class... OstaliArgumenti>
auto Mnozi(Argument1 a, Argument2 b, OstaliArgumenti... ostali) -> decltype(a * Mnozi(b, ostali...)) {
   return a * Mnozi(b, ostali...);  // rekurzivno instanciranje funkcije s n-1 argumenata
}
int main(){
   cout << Mnozi(2.5, 3) << endl;         // 7.5
   cout << Mnozi(2.5, 3, 2) << endl;      // 15
   cout << Mnozi(2.5, 3, 2, 5) << endl;   // 75
   return 0;
}

 

U pravilu, kod funkcija s neograničenim brojem argumenata dolazi do rekurzivnog instanciranja predloška s neograničenim brojem argumenata (drugi predložak) sve dok se poziv ne svede na najosnovniji slučaj (slučaj kada funkcija ima samo dva parametra tj. minimalan broj podataka koji se mogu pomnožiti). Tada se instancira prvi predložak koji onda prekida rekurzivno instanciranje.

 

Način preko varargs nije prikladan za C++ jer nije type-safe i ne bi ga trebalo koristiti.

Poruka je uređivana zadnji put pet 11.12.2015 23:22 (TracerCPP).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dex.pwn kaže...

Pozdrav,

zanima me dali se ikako može napraviti int funkcija koja će imati nedefinirani broj parametara koji će se množiti međusobno?

Npr.:

 

int funkcija(p1, p2, p3, p4)

{

return (p1 * p2 * p3 * p4);

}

 

Samo što neće biti definirat broj parametara, znači može biti 5 komada ili 10 ili 100. Također da ima nekakav način da se isti unesu putem cin-a ili sscanfa. Hvala :)

Moze, potrazi vararg ili elipse (eng. ellipsis). S tim da to bas nije previse dobra praksa.

http://www.learncpp.com/cpp-tutorial/714-ellipsis-and-why-to-avoid-them/

 

Pogledaj "initializer_list", mozda bi ti to bilo bolje. Samo pazi, to je samo C++11.

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

Samo što neće biti definirat broj parametara, znači može biti 5 komada ili 10 ili 100. Također da ima nekakav način da se isti unesu putem cin-a ili sscanfa. Hvala :)

 Ako kaniš unositi podatke preko tipkovnice onda je krajnje nepotrebno predavati te podatke kao zasebne argumente funkciji, već ih se sve može odjednom predati kao polje ili vektor nad kojim se onda računa što već treba:

 

#include <iostream>
#include <vector>
using namespace std;

double Mnozi(vector<double> v) {
   if (!v.size())
      return 0;
   double pom = v[0];
   for (int i = 1; i < v.size(); i++)
      pom *= v[i];
   return pom;
}
int main(){
   vector<double> v;
   double pom;
   for (int i = 0; i < 3; i++) {
      cin >> pom;
      v.push_back(pom);
   }
   cout << Mnozi(v) << endl;
   return 0;
}

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

Tracer ti je dobro odgovorio, jer u biti postavio si krivo pitanje pretpostavljam, jer ti zelis izmnoziti nespecificirani broj elementa a za to se koriste containeri ( ako zelis nauciti malo library prouci si std accumulate i kako bi napravio mnozenje sa time jer je default operacije plus)

 

No samo razonode radi moze se napraviti funkcija koja radi za vise argumentata...

http://coliru.stacked-crooked.com/a/1027e076b167eb23

Ovo nije jednostavno za razumijeti, tako da nemoj da te uhvati panika ako nista ne razumijes, C++ je lagano koristiti i bez da znas templates pisati sam... :)

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

Takav primjer sam gore već stavio

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

Heheh, hvala vam ljudi.

Jel tko od Vas bio u srednjoj(2. razred) na natjecanju iz programiranja(školsko, županijsko, držano, više?...)?

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

Takav primjer sam gore već stavio

 jos da ja citam vise od zadnjeg posta :)

 

@ Dex.pwn - Ne, ali zasto pitas? Ako ti trebaju zadatci i rjesenja nije tesko ih naci...

Poruka je uređivana zadnji put sub 12.12.2015 21:11 (Zoidberg).
14 godina
odjavljen
offline
Programiranje u C++-u - pitanja i odgovori

Ma ne bi varao :P Pitam da čujem dojmove, kako je bilo.. Šta će uopće dobije ako se završi recimo u top tri na županijskom ili državnom?

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

Što dobiješ?

Slavu!

Neposredan upis na FER recimo ako si osvojio prve tri nagrade na državnom natjecanju iz Informatike(katetgorija algoritmi C/C++/Pascal).

Nemoj se dvoumiti, bez obzira na rezultat samo se natječi i vježbaj programiranje.

Samo hrabro!

 

Panzerkampfwagen.Unatoč svemu - Dinamo Zagreb.
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dex.pwn kaže...

Ma ne bi varao :P Pitam da čujem dojmove, kako je bilo.. Šta će uopće dobije ako se završi recimo u top tri na županijskom ili državnom?

 Nije to nikakvo varanje ako odeš na stranice Infocupa i pogledaš zadatke i rješenja sa prethodnih natjecanja, upravo su zato i stavili zadatke i rješenja sa prethodnih natjecanja da ljudi vježbaju.

https://www.infokup.hr/kategorija/1/Algoritmi

 

Za pripremiu za natjecanje dobra ti je ova knjiga

https://element.hr/artikli/409/napredno-programiranje-i-algoritmi-u-c-u-i-c-u

 

Što dobješ?

FESB je ove godine omogućio izravan upis za one koji osvoje prva tri mjesta na državnom ili žiupanijskom natjecanju iz matematike, fizike i informatike (kategorija algoritmi). Dakle, dovoljno ti je treće mjesto na županijskom natjecanju da bi dobio izravan upis na FESB,  uz položenu državnu maturu, naravno. Tako je bilo ove godine, hoće li što mijenjati, tko zna.

 

Poruka je uređivana zadnji put ned 13.12.2015 13:27 (Floki).
14 godina
odjavljen
offline
Programiranje u C++-u - pitanja i odgovori

Hvala ljudi, pitat ću sutra profu kad ćemo se pripremat(pozvao me je al nijen išta rekao kad-šta)

 

@ Kako da zanm dal je moja škola(Teh. škola Županja) u tom Infokupu?

Poruka je uređivana zadnji put ned 13.12.2015 13:44 (Dex.pwn).
 
1 0 hvala 0
9 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

1.    Omogućiti operacije unosa, izmjene, pregleda i brisanja: studijskih programa, predmeta, nastavnika, studenata, ispita, ocjena, godina studija i akademskih godina.????????

Muris Sehic
 
0 0 hvala 0
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dex.pwn kaže...

Hvala ljudi, pitat ću sutra profu kad ćemo se pripremat(pozvao me je al nijen išta rekao kad-šta)

 Ne znam u kojoj si županiji, ali ako mene pitaš ovaj uvjet FESB-a za izravan upis i nije teško postići. U županijama obično ima jedna matematička gimnazija (Zagreb ne brojim), a jedino takve škole rade nešto ozbiljnije programiranje. Dakle, na žiupanijskim natjecanjima konkurencija nije brojna ako ćeš ozbiljno raditi sam, uz doibru knjigu  iz algoritama (može i ova što sam ti preporučio), uz asistenciju profe i uz rješavanje zadataka sa ovih stranica Infocupa

 

Poruka je uređivana zadnji put ned 13.12.2015 13:54 (Floki).
14 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...
Dex.pwn kaže...

Hvala ljudi, pitat ću sutra profu kad ćemo se pripremat(pozvao me je al nijen išta rekao kad-šta)

 Ne znam u kojoj si županiji, ali ako mene pitaš ovaj uvjet FESB-a za izravan upis i nije teško postići. U županijama obično ima jedna matematička gimnazija (Zagreb ne brojim), a jedino takve škole rade nešto ozbiljnije programiranje. Dakle, na žiupanijskim natjecanjima konkurencija nije brojna ako ćeš ozbiljno raditi sam, uz doibru knjigu  iz algoritama (može i ova što sam ti preporučio), uz asistenciju profe i uz rješavanje zadataka sa ovih stranica Infocupa

 

 

Vukovarsko-srijemska županija.

Pogledao sam malo zadatke(za škoslko natjecanje) i mogu reći da so(barem meni) zadaci malo nerazumni. Tipa ovu tablicu ne razumijem(nije zadatak)

 

Točnije ovaj dio za izvorni kod. Dal mi tamo radimo samo s C++om ili još i u Cu i PASCALu?

17 godina
offline
Programiranje u C++-u - pitanja i odgovori

C i C++, to vidiš po ekstenziji datoteka .c i .cpp

 

Ne brini puno za to, vidim da si tehnička škola, imaš puno gapova pošto su ovi zadaci prilagođeni matematičkim gimnazijama koje imaju i po 4 sata programiranja tjedno.

To znači da moraš onu knjigu nabaviti što prije, ili koju ti profa preporući, pitaj ga i za ovu knjigu što sam stavio link, i za druge knjige. Upamti, glavninu gapa moraš dostići sam, učenjem i vježbanjem.

 
2 0 hvala 1
14 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...

C i C++, to vidiš po ekstenziji datoteka .c i .cpp

 

Ne brini puno za to, vidim da si tehnička škola, imaš puno gapova pošto su ovi zadaci prilagođeni matematičkim gimnazijama koje imaju i po 4 sata programiranja tjedno.

To znači da moraš onu knjigu nabaviti što prije, ili koju ti profa preporući, pitaj ga i za ovu knjigu što sam stavio link, i za druge knjige. Upamti, glavninu gapa moraš dostići sam, učenjem i vježbanjem.

 

Krenio sam s zadatkom Joker al me rand funkcija muči. Trebam broj između 1(ne 0) i 45. Dakle, ovo sam napravio(predznanje iz PAWN jezika)

rand(45 - 1) + 1;

 

Ali taj kod ne šljaka ovdje.

17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dex.pwn kaže...
Floki kaže...

C i C++, to vidiš po ekstenziji datoteka .c i .cpp

 

Ne brini puno za to, vidim da si tehnička škola, imaš puno gapova pošto su ovi zadaci prilagođeni matematičkim gimnazijama koje imaju i po 4 sata programiranja tjedno.

To znači da moraš onu knjigu nabaviti što prije, ili koju ti profa preporući, pitaj ga i za ovu knjigu što sam stavio link, i za druge knjige. Upamti, glavninu gapa moraš dostići sam, učenjem i vježbanjem.

 

Krenio sam s zadatkom Joker al me rand funkcija muči. Trebam broj između 1(ne 0) i 45. Dakle, ovo sam napravio(predznanje iz PAWN jezika)

rand(45 - 1) + 1;

 

Ali taj kod ne šljaka ovdje.

 Nauči se snalaziti i koristiti literaturu

http://www.cplusplus.com/reference/cstdlib/rand/

Poruka je uređivana zadnji put ned 13.12.2015 14:15 (Floki).
14 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...
Dex.pwn kaže...
Floki kaže...

C i C++, to vidiš po ekstenziji datoteka .c i .cpp

 

Ne brini puno za to, vidim da si tehnička škola, imaš puno gapova pošto su ovi zadaci prilagođeni matematičkim gimnazijama koje imaju i po 4 sata programiranja tjedno.

To znači da moraš onu knjigu nabaviti što prije, ili koju ti profa preporući, pitaj ga i za ovu knjigu što sam stavio link, i za druge knjige. Upamti, glavninu gapa moraš dostići sam, učenjem i vježbanjem.

 

Krenio sam s zadatkom Joker al me rand funkcija muči. Trebam broj između 1(ne 0) i 45. Dakle, ovo sam napravio(predznanje iz PAWN jezika)

rand(45 - 1) + 1;

 

Ali taj kod ne šljaka ovdje.

 Nauči se snalaziti i koristiti literaturu

http://www.cplusplus.com/reference/cstdlib/rand/

 

To sam i pogledao prvo, tako inače i radim(inače u PAWNu nije rand nedo random, tako da bez Googlea ne bi kucao rand nego random). Vidio sam ovo na Youtubeu ali svaki put mi izbaci isti broj

 

 for(int _i = 0; _i < 6; _i++)
 {
  srand(time(0)); // FIXAO, OVO JE BIO PROBLEM
  _broj[_i] = (rand() % 45) + 1;
  _joker_broj[_i] = _broj[_i] % 10;
  
  // TEST
  cout << "Broj: " << _broj[_i] << " Joker: " << _joker_broj[_i] << endl;
 }

Poruka je uređivana zadnji put ned 13.12.2015 14:21 (Dex.pwn).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

izbaci seed iz pelje, kod svake iteracije petlje iniciijaliziraš novi seed

 
1 0 hvala 1
14 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...

izbaci seed iz pelje, kod svake iteracije petlje iniciijaliziraš novi seed

 

Jel može još jedno pitanje(ne želim otvoriti rješenja, nije to moj tip). Imam sad brojeve i sad te sve brojeve(6 komada) treba sklopiti u jedan broj. Da koristim funkciju za string kako bi sklopio broj(kao tekst) i da onda putem strval funkcije to pretvorim u broj?

 

U PAWNu bi to išlo ovako

 

format(_string, 7 /*ŠEST BROJEVA + JEDAN ZA NULIRANJE STRINGA*/, "%d%d%d%d%d%d", broj1, broj2, broj3, broj4, broj5, broj6);

var = strval(_string);

Poruka je uređivana zadnji put ned 13.12.2015 14:37 (Dex.pwn).
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dex.pwn kaže...
Floki kaže...

izbaci seed iz pelje, kod svake iteracije petlje iniciijaliziraš novi seed

 

Jel može još jedno pitanje(ne želim otvoriti rješenja, nije to moj tip). Imam sad brojeve i sad te sve brojeve(6 komada) treba sklopiti u jedan broj. Da koristim funkciju za string kako bi sklopio broj(kao tekst) i da onda putem strval funkcije to pretvorim u broj?

 

U PAWNu bi to išlo ovako

 

format(_string, 7 /*ŠEST BROJEVA + JEDAN ZA NULIRANJE STRINGA*/, "%d%d%d%d%d%d", broj1, broj2, broj3, broj4, broj5, broj6);

var = strval(_string);

 

int Spoji(int niz)

     int broj = niz[0]

     For i = 1 To velicinaNiza

          broj = broj * 10 + niz[i]

     Next i

     return broj

End Spoji

 

Nema ti veze programski jezik sa algoritmima. Ovo je univerzalni programski jezik koji opisuje algoritam stvaranja broja iz niza brojeva, naravno, ako su u niziu znamenke [0, 9], a ako broj nije u tom intervalu, rastavimo ga na  znamenke.

Poruka je uređivana zadnji put ned 13.12.2015 16:04 (Floki).
14 godina
odjavljen
offline
Programiranje u C++-u - pitanja i odgovori

Čovjeće kakvi su ovo zadaci... Vidjet ću s profom sutra

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

Ima li ovdje zainteresiranih za ovako nesto?

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

Ja nisam bas jer ono znam osnove AI , ali ako je moguce korisi AI a ne UI jer je UI user interface :)

govori engleski da te ceo svet razume :P

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

Ja nisam bas jer ono znam osnove AI , ali ako je moguce korisi AI a ne UI jer je UI user interface :)

govori engleski da te ceo svet razume :P

Korisnicko sucelje je KS.

A sad ozbiljno, koga briga za korisnicko sucelje, pravi muskarci ionako koriste samo terminal (sukladno tome, poznat im je samo pojam CLI, iliti command line interface). :P

Inace, skripte s prethodnog linka su dostupne ovdje.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
Poruka je uređivana zadnji put sri 16.12.2015 15:07 (1domagoj1).
E-mail:
Lozinka:
 
vrh stranice