Programiranje

C++ programi (primjeri)

3mix3 pon 16.6.2008 18:21

Pozz, ima možda netko programe sa strukturama? Znači, može biti lokalna ili globalna, nema veze. Može biti ugniježdena. Samo mi trebaju neki primjeri. Npr. struktura za neku bazu podataka (popis učenika, njihov JMBG, ime i prezime), kužite kaj va oču reći. Molim vas, ako tko ima takve primjere, pošaljete mi na privatnu poruku ili na  mail iggykezman@net.hr 

Zahvaljujem

Tracer sri 2.7.2008 10:53
3mix3 kaže...

Pozz, ima možda netko programe sa strukturama? Znači, može biti lokalna ili globalna, nema veze. Može biti ugniježdena. Samo mi trebaju neki primjeri. Npr. struktura za neku bazu podataka (popis učenika, njihov JMBG, ime i prezime), kužite kaj va oču reći. Molim vas, ako tko ima takve primjere, pošaljete mi na privatnu poruku ili na  mail iggykezman@net.hr 

Zahvaljujem

 Evo npr. ovo:

#include <iostream.h>
#include <string.h>
#define MAXPITANJA 3

struct Pitanje
{
   char pitanje[100];
   char odg1[50];
   char odg2[50];
   char odg3[50];
   int tocan;
};

int main()
{
   struct Pitanje MojePitanje[MAXPITANJA];
   int i, bodovi, odgovor;

   // prvo pitanje
   strcpy(MojePitanje[0].pitanje, "Koliko je 2+2?");
   strcpy(MojePitanje[0].odg1, "5");
   strcpy(MojePitanje[0].odg2, "4");
   strcpy(MojePitanje[0].odg3, "6");
   MojePitanje[0].tocan = 2; // drugo ponuđeno je točno

   // drugo pitanje
   strcpy(MojePitanje[1].pitanje, "A koliko je 2*2?");
   strcpy(MojePitanje[1].odg1, "2");
   strcpy(MojePitanje[1].odg2, "3");
   strcpy(MojePitanje[1].odg3, "4");
   MojePitanje[1].tocan = 3; // treće ponuđeno je točno

   // treće pitanje
   strcpy(MojePitanje[2].pitanje, "Koliko imas godina?");
   strcpy(MojePitanje[2].odg1, "12");
   strcpy(MojePitanje[2].odg2, "25");
   strcpy(MojePitanje[2].odg3, "34");
   MojePitanje[2].tocan = 2; // drugo ponuđeno je točno

   // počni test
   bodovi = 0;
   for(i = 0; i < MAXPITANJA; i++)
   {
      cout << endl << MojePitanje[i].pitanje << endl <<
            "1) " << MojePitanje[i].odg1 << endl <<
            "2) " << MojePitanje[i].odg2 << endl <<
            "3) " << MojePitanje[i].odg3 << endl << endl;
      cout << "Redni broj vaseg odgovora: ";
      cin >> odgovor;
      if(odgovor == MojePitanje[i].tocan)
         bodovi++; // dodaj bod za točan odgovor
      else
         bodovi--; // oduzmi bod za netočan odgovor
   }
   // rezultati
   cout << "Ukupno imate " << bodovi << " bodova.";
   return 0;
}
igerencir pet 15.8.2008 12:03

Trebam pomoć, moram napisati program u C-u za mikrokontroler uz komentare.

Dal netko bi to znao?

 

Napisati program koji na izlazu P1.1 s periodom od 10 ms generira

pravokutne impulse s mogučnošću promjene odnosa visoko/nisko (duty

cycle) od 0 do 100%. Za tipke UP i DOWN korisititi sistemsku

tipkovnicu. ISpis duty cycle na LCD-u.

PROTECTOR čet 4.9.2008 21:28
tko sam ja? kaže...

Ima li koja knjiga na hr o C++ na hrvatskom osim demistificirani C++? Mršti se

 Tracer je autor dviju (ako se ne varam) knjiga. Nažalost nemam ih (planiram svakako nabaviti,tracer imaš koju viška?Belji se) pa ti nemogu reći kakve su.
Tracer čet 4.9.2008 22:59
tko sam ja? kaže...

Ima li koja knjiga na hr o C++ na hrvatskom osim demistificirani C++? Mršti se

 Mogu ti preporučiti svoju knjigu (C++ Analiza i primjena):


a možeš pogledati i kako će izgledati drugo izdanje. Ima i potpuno poglavlje o klasama:



Tracer je autor dviju (ako se ne varam) knjiga. Nažalost nemam ih (planiram svakako nabaviti,tracer imaš koju viška?Belji se) pa ti nemogu reći kakve su.
Vjerovao ili ne, nemam niti jednu. Rodbina i prijatelji su mi "izvukli" oko 50 komada. Sve mi neugodno ići kupiti primjerak za sebe :D

standard sri 11.3.2009 17:15

@Tracer

 

#include <iostream.h> // zasto stari header? #include <iostream> je tacno.
#include <string.h> // zasto stari header? #include <string> je tacno.
#define MAXPITANJA 3 // zasto ne const int? defines are evil.

 

struct Pitanje
{

   // zasto ne std::string ovdje?
   // ..
};

 

struct Pitanje MojePitanje[MAXPITANJA]; // zasto neuzmes std::vector il std::map ?

 

 

Neznam kako si mogao napisati knjigu za C++ ako vecinom koristis C stuff.

 

http://www.devx.com/tips/Tip/14447

 

Tracer sri 11.3.2009 18:37

Naravno da sam mogao. Kad ti budeš pisao knjigu onda ju piši kako tebi odgovara. I nije to bezveze tako rađeno već u dogovoru s ljudima koji C++ na fakultetima predaju već godinama tj. kako bi ljudima prelaz iz C-a u C++ bio što jednostavniji.

 

Što se tiče header-a, moja knjiga opisuje rad s Borlandovim (Codegear) C++ prevoditeljem i tamo nije pogrešno koristiti iostream.h umjesto iostream. Iako, zbog kompatibilnosti s ostalim prevoditeljima razmišljam se uvesti upotrebu imenika (namespace), te dodati puno detaljniji rad s standardnom bibliotekom, a tu svakako naglasak staviti na vektorima i listama. Tek u vrijeme izdavanja prvog izdanja se i počeo koristiti takav pristup tako da tad nije bilo vremena.

 

#define MAXPITANJA 3 // zasto ne const int? defines are evil.

 

Ne vidim zašto bi pretprocesorska naredba bila evil. Štoviše, konstanta troši memoriju i nema nikakvu bolju funkciju od ove pretprocesorske naredbe. Uostalom, česta je praksa da se broj elemenata statičkog polja upravo definira pomoću define.

 

struct Pitanje MojePitanje[MAXPITANJA]; // zasto neuzmes std::vector il std::map ?

 

Po samom autoru topica može se zaključiti da je riječ o početniku, i njemu svakako vector ili map za početak ne trebaju. Obična struktura zadovoljava sve njegove potrebe.

 

Ubuduće ako imaš kakvih primjedbi sve ih možeš poslati na zeljko.kovacevic@tvz.hr s punim imenom i prezimenom, a ne da se kao prošli put iza anonimnosti skrivaš pa pljuješ po tuđem radu i trudu. Ubuduće na takve tvoje komentare ne kanim niti odgovarati. Pozdrav

Private sri 11.3.2009 19:42
standard kaže...

Pises C++ knjigu, nepises knjigu "Prelaz iz C u C++"

 

Ako tamo nije Pogresno koristiti stare outdated stvari onda se treba promjenuti Compiler + IDE. MSVS Express il Code::Blocks je dosta, obadva su dzabe i netreba nista vise. Isto Stroustrup pise u svojoj knjizi da se nekoristi <iostream.h>.

 

http://www.parashift.com/c++-faq-lite/newbie.html

 

29.8

 

 

Baww, jel places. Plač

 

tl;dr use standard.

 Također Stroustrup piše u svojoj knjizi da baš i ne voli strukture ali eto mora radi C-a.
A bilo bi lijepo da u bilo kojoj hrvatskoj knjizi i napomene da je to stari standard kao u engleskim verzijama za C++,,jer gotovo sva novija izdanja uopće
ne koriste .h  !
itf4n sri 11.3.2009 20:06

Stroustrup ne voli strukture? Lol, otkud ti to?

 

Ako i ima neko posebno privatno mišljenje o strukturama, nije ih iznosio u knjizi (premda nekoliko njegovih primjera koristi stukture). Strukture nisu dobre za OOP dizajn a za to nisu niti namijenjene. I zašto pisati class x {public: ...} ako se može jednostavno struct x {} ? Štioviše, u takvom slučaju struct lijepo naglašava o kakvom se tipu radi (da netko ne očekuje oo apstrakciju kad ugleda naziv strukture).

Private sri 11.3.2009 20:44
itf4n kaže...

Stroustrup ne voli strukture? Lol, otkud ti to?

 

Ako i ima neko posebno privatno mišljenje o strukturama, nije ih iznosio u knjizi (premda nekoliko njegovih primjera koristi stukture). Strukture nisu dobre za OOP dizajn a za to nisu niti namijenjene. I zašto pisati class x {public: ...} ako se može jednostavno struct x {} ? Štioviše, u takvom slučaju struct lijepo naglašava o kakvom se tipu radi (da netko ne očekuje oo apstrakciju kad ugleda naziv strukture).

 Evo samo jedan njegov točan navod iz knjige a cijelo vrijeme kroz knjigu preferira klase iako koristi strukture ali sve okrene na OOP.

"A s t r u c t is a simple form of a c l a s s (Chapter 10).
For reasons that reach into the prehistory
of C,
"(iz njegove knjige).

Znači u kontekstu mu se baš strukture i ne sviđaju.A rekao sam "baš i ne voli" znači nisam rekao da ne koristi ili mrzi ili izričito ne voli.

itf4n sri 11.3.2009 21:08

Evo, kad već hoćeš, citat sa 234. strane:

 

"I usually prefer to use struct for classes that have all data public."

 

Prevedeno, preferira strukture nad klasama u slučaju kad su svi članovi javni. Dakle, strukture su savršeno C++ovski "koncept", koje i sam autor jezika preporuča.

Private sri 11.3.2009 21:23
itf4n kaže...

Evo, kad već hoćeš, citat sa 234. strane:

 

"I usually prefer to use struct for classes that have all data public."

 

Prevedeno, preferira strukture nad klasama u slučaju kad su svi članovi javni. Dakle, strukture su savršeno C++ovski "koncept", koje i sam autor jezika preporuča.

 Ako si čitao dalje na istom primjeru malo dalje komentira :

"In real code, where both the public interface and the implementation details typically are more
extensive than in tutorial examples, I usually prefer the style used for D a t e 3 .
Access specifiers can be used many times in a single class declaration. "

date3 je primjer u knjizi i na kraju okreće na klase.
...ali sad mi je već sasvim svejedno jer očito ima klanova na forumu...ali i C i C++ se preklapaju
a ja preferiram uglavnom C++ sintaksu nego C sintaksu i kad se piše da se to i naglasi.
Iako se i meni "omakne" C sintaksa ali to je povezano,više koristim MS alate gdje sam ne želim stavljati .h zaglavlja.
A u knjigama koje su izdane 2007,2008, o C++ -u ne vole .h zaglavlja baš.Naravno i to ćete pobiti ali mi se ne da
citirati navode gdje govore da je to old style jer opet ima vas više C "nastrojenih" iako i jedan i drugi volim.
itf4n sri 11.3.2009 21:40
Private kaže...
itf4n kaže...

Evo, kad već hoćeš, citat sa 234. strane:

 

"I usually prefer to use struct for classes that have all data public."

 

Prevedeno, preferira strukture nad klasama u slučaju kad su svi članovi javni. Dakle, strukture su savršeno C++ovski "koncept", koje i sam autor jezika preporuča.

 Ako si čitao dalje na istom primjeru malo dalje komentira :

"In real code, where both the public interface and the implementation details typically are more
extensive than in tutorial examples, I usually prefer the style used for D a t e 3 .
Access specifiers can be used many times in a single class declaration. "
 
Real code se odnosi na pravu aplikaciju kojoj je dizajn bitniji od onoga što je korišteno u jednostavnom primjeru. Po čemu se jednostavni primjer u knjizi razlikuje od jednostavnog primjera na forumu? Drugim riječima, zar je Tracer trebao dizajnirati klasu od 10ak funkcija i razrađenim sučeljem samo zato kako bi pohranio nekoliko podataka u polje? Naravno da ne. Štoviše, C++ nije striktno OO jezik, pa je potpuno ispravno i C++ovski čak i u pravom kodu koristiti strukture umjesto klasa (dakle, imati sve članovi javne).

I btw, lijepo sam rekao da strukture nisu nešto što bi trebalo igrati ključnu ulogu u OOP aplikacijama - što je i Bjarne rekao u citatu koji si sad dao. Pokušavaš dokazati nešto što sam i sam rekao? Nema potrebe, jer za razliku od tebe, pazim da ne pišem gluposti.
Private sri 11.3.2009 22:07
itf4n kaže...
Private kaže...

Ja ću nastaviti pisati svoje "gluposti" a vi svoje...i tako stalno....

 
Slobodno, samo čitatelje prethodno upozori, kako bi znali što ih čeka.
 Također....kao da si bez grijeha .........neka se bar upozore svi kad upotrebljavaš C ili C++ .
Jer vidim da vas nekolicina komentira ama baš sve ako nije po volji a kod u biti valja.
Sad je ovo offtopic..evo dosta od mene "gluposti".Trebao bih reći da ste svi u pravu i nagnuti se do
ne znam čega ......
itf4n sri 11.3.2009 22:19
Private kaže...
itf4n kaže...
Private kaže...

Ja ću nastaviti pisati svoje "gluposti" a vi svoje...i tako stalno....

 
Slobodno, samo čitatelje prethodno upozori, kako bi znali što ih čeka.
 Također....kao da si bez grijeha .........neka se bar upozore svi kad upotrebljavaš C ili C++ .
Jer vidim da vas nekolicina komentira ama baš sve ako nije po volji a kod u biti valja.
Sad je ovo offtopic..evo dosta od mene "gluposti".Trebao bih reći da ste svi u pravu i nagnuti se do
ne znam čega ......
Naravno da nisam, ali se trudim ispraviti greške, pogotovo kad pokušavam prenjeti znanje drugima.
Pišem isključivo u C++u, sve sličnosti sa Com proizlaze iz činjenice da je C++ baziran na Cu.
Nitko od tebe ne traži da kažeš da nisi u pravu - samo da provjeriš što govoriš. Barem kad objašnjavaš drugima.

Luuka sri 13.1.2010 10:27
XxBrokenCydexX kaže...

e jel zna itko mozda kod za zbrajanje stranica u raznostranicnom trokutu? plz ako moze sto prije odgovor...hvala unaprijed!

Pa ako su a,b,c stranice trokuta, onda opseg tog trokuta (pretpostavljam da to treba) dobiješ sa a+b+c. Ili sam ja krivo shvatio ovo "zbrajanje stranica"

XxBrokenCydexX sri 13.1.2010 10:32
Luuka kaže...
XxBrokenCydexX kaže...

e jel zna itko mozda kod za zbrajanje stranica u raznostranicnom trokutu? plz ako moze sto prije odgovor...hvala unaprijed!

Pa ako su a,b,c stranice trokuta, onda opseg tog trokuta (pretpostavljam da to treba) dobiješ sa a+b+c. Ili sam ja krivo shvatio ovo "zbrajanje stranica"

ma profa nam dao zadatak neki... neznam raditi u c++...:S

evo zadatak:

       program koji racuna opseg raznostranicnog trokuta- program u c++

                                                                                        - napraviti algoritam za racunanje opsega

 

i sada bi ja trebala kod neki napisati...

ili tako nesto...

a ja pojma nemam...:S

Luuka sri 13.1.2010 10:34

Evo ja ti napišem pseudo kod (možemo to nazvati i algoritmom) :D

 

1. učitamo duljine stranica a,b,c

2. izračunamo opseg, O=a+b+c

3. ispišemo opseg

 

Gotov kod ti neću davat, cilj je da naučiš, ali ovo bi trebalo biti dovoljno. Jedino što ti treba su naredbe za učitavanja i ispisivanje (cin i cout ako je c++, scanf i printf ako se radi od C-u)