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

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

Imam problem sa CodeBlocks na windowsu dok mi na laptopu na kojem je linux radi dobro.

 

Kada pokusam napisati ] kliknem na Alt Gr i slovo G da bi dobio ] no izbaci mi sljedecu poruku:

"No functions parsed in this file"

 

Dali zna netko mozda gdje da to sredim u postavkama?

 

EDIT:

 

rijeseno, problem je bio u "Code completion" plugin-u...

Poruka je uređivana zadnji put sri 30.1.2013 20:28 (Makavelii).
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Makavelii kaže...

Imam problem sa CodeBlocks na windowsu dok mi na laptopu na kojem je linux radi dobro.

 

Kada pokusam napisati ] kliknem na Alt Gr i slovo G da bi dobio ] no izbaci mi sljedecu poruku:

"No functions parsed in this file"

 

Dali zna netko mozda gdje da to sredim u postavkama?

 

EDIT:

 

rijeseno, problem je bio u "Code completion" plugin-u...

Šteta je onemogućiti kompletan code completion samo zbog jednog konfliktnog key bindinga. Napravi slijedeće:

 

settings -> editor -> skrolaj dolje do "keyboard shortcuts" i klikni na to. U "commands"  dijelu klikni na "+" pored "search", pa onda odaberi "goto function" u dijelu koji ti se otvori.

 

Pod current shortcuts će ti stajati "Ctrl+Alt+G" klikni na "remove" pa onda na "ok" i problem riješen.

 

Zašto se to događa? Zato što se pritisak na "Alt gr" zapravo registrira kao "Ctrl+Alt", netko tko je pisao code completion plugin nije vodio puno računa o tome.

0xBADC0DE
Poruka je uređivana zadnji put sri 30.1.2013 21:04 (rustweaver).
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav svima. Zna li itko kako u c++ mogu definirajti funkciju koja omogućava unos zaposlenika i ispis zaposlenika. A da u galvnom dijelu bude definiran niz od max 1000 zaposalenika te koji ce omoguciti njihov unos i ispis. Hvala!

Poruka je uređivana zadnji put ned 3.2.2013 20:43 (Informaticarka).
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Informaticarka kaže...

Pozdrav svima. Zna li itko kako u c++ mogu definirajti funkciju koja omogućava unos zaposlenika i ispis zaposlenika. A da u galvnom dijelu bude definiran niz od max 1000 zaposalenika te koji ce omoguciti njihov unos i ispis. Hvala!

Evo primjer:

 

#include <iostream>

using namespace std;

struct Zaposlenik
{
    char ime[20];
    char prezime[30];
    char adresa[64];
    char oib[12];
};

void uredi(Zaposlenik *z)
{
    cout<<"Unesi ime: ";
    cin.getline(z->ime, 20);
    cout<<"Unesi prezime: ";
    cin.getline(z->prezime, 30);
    cout<<"Unesi adresu: ";
    cin.getline(z->adresa, 64);
    cout<<"Unesi OIB: ";
    cin.getline(z->oib, 12);
}

void ispis(Zaposlenik z)
{
    cout<<z.ime<<endl;
    cout<<z.prezime<<endl;
    cout<<z.adresa<<endl;
    cout<<z.oib<<endl;
}

int main()
{
    Zaposlenik zaposlenici[1000];

    uredi(&zaposlenici[0]);
    ispis(zaposlenici[0]);

    return 0;
}

 

Vjerojatno trebaš prilagoditi neke detalje, ali ovo je da skužiš osnovnu ideju.

0xBADC0DE
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Zanima me zašto se kod opterećenja operatora ako mi je u klasi pod private int x i int y, i sada umjesto a.x pisem a.GetX (kao u primjeru dolje) dok u drugim primjerima imam varijable pod private i koristi se a.x i a.y za isti operator ???

 

bool operator == (const Tocka& a, const Tocka& b){

if( a.GetX() != b.GetX() || a.GetY() != b.GetY() ){

return false;

}

else {

return true;

}

}

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

Operatorske funkcije s dva parametra nisu članske pa stoga ne mogu direktno pristupati privatnim članovima, već to moraju preko javnih get i set metoda.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

Operatorske funkcije s dva parametra nisu članske pa stoga ne mogu direktno pristupati privatnim članovima, već to moraju preko javnih get i set metoda.

Zar se takve funkcije obično ne deklariraju kao friend funkcije te klase ?

Poruka je uređivana zadnji put pon 4.2.2013 21:36 (captain_soap_McTawish).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...

Zar se takve funkcije obično ne deklariraju kao friend funkcije te klase ?

Moje misljenje je da ne. Zapravo, smatram da bi friend klase/funkcije trebalo sto manje upotrebljavati i to tek u slucajevima gdje bolje rjesenje nije moguce. Jer friend klase/funkcije narusavaju OOP nacela i ako tako strogo gledamo, onda su jedna od gresaka u dizajnu C++-a.

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
Poruka je uređivana zadnji put pon 4.2.2013 21:42 (1domagoj1).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Upotreba friend deklaracije direktno narušava načela enkapsulacije te ju je stoga preporučljivo izbjegavati. Međutim, u rijetkim slučajevima ipak može biti potrebna.

 

Npr. neka postoje klase Ravnatelj, Profesor i Ucenik. Iako su u klasi Ucenik svi podaci (npr. ocjene) privatni ipak to ne smije vrijediti za profesore ili ravnatelja koji moraju imati pristup tim ocjenama. Pomoću friend-a moguće je riješiti i neke probleme s virtualnim nasljeđivanjem klasa itd.. Ima ono svojih rijetkih "svijetlih" trenutaka, no u pravilu bolje je to izbjegavati.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put pon 4.2.2013 22:09 (TracerCPP).
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ispricavam se sto ovako saljem zadatak ali jednostavno mi ne zeli drugacije nikako objaviti poruku. Ovo je 1 dio zadtka tj koda...

Poruka je uređivana zadnji put sri 6.2.2013 14:11 (Informaticarka).
 
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori
Ovo je zadatak
 
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

I drugi dio koda. Zanima me kako mogu promijeniti varijable a da i dalje rade tj imaju istu funkciju? Hvala.

Poruka je uređivana zadnji put sri 6.2.2013 14:09 (Informaticarka).
 
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Postoje li kakvi tutorijali za početnike u pisanju konzolnih aplikacija, bilo na našem ili na engleskom svejedno ?

 

Moj PC  
1 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Kas0 kaže...

Postoje li kakvi tutorijali za početnike u pisanju konzolnih aplikacija, bilo na našem ili na engleskom svejedno ?

 

Ajoj, da samo pukneš u google "c++ tutorial" dobio bi toliko rezultata da bi se mjesecima mogao zabavljati.

 

evo nešto

http://www.learncpp.com/

 

nije c++ ali zgodno za one koji se prvi puta susreću sa programiranjem

http://www.codecademy.com/

 

Pa onda tracerov udžbenik:

http://www.skolskaknjiga.hr/hrv/page.asp?item=021154&act=add2basket

 

jedna druga knjiga isto mnogo spominjana na ovom forumu

http://free-zg.htnet.hr/jsribar/

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

I drugi dio koda. Zanima me kako mogu promijeniti varijable a da i dalje rade tj imaju istu funkciju? Hvala.

Ja se zbilja nadam da ne koristiš notepad za pisanje koda. Kada kopiraš kod na forum imaš skroz desno ikonu "poništi oblikovanje" koja ukloni skriveno formatiranje iz označenog teksta.

 

Što se pitanja tiče, pa samo izmijeniš ime varijable svugdje gdje se spominje. Ili sam te krivo shvatio?

0xBADC0DE
Poruka je uređivana zadnji put sri 6.2.2013 21:20 (rustweaver).
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

ima tko da ima volje pa da mi rijesi zadatak: treba izracunati a je godina prijestupna ili ne,prijestupna je ako je dijeljiva sa 4 ali ne i sa sto bez ostatka.

 

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

ima tko da ima volje pa da mi rijesi zadatak: treba izracunati a je godina prijestupna ili ne,prijestupna je ako je dijeljiva sa 4 ali ne i sa sto bez ostatka.

A stvarno, zadatka li, par racunskih operacija i koji if uvjet... Daj se malo potrudi, ovo je minimum minimuma, ako nisi sam probao sumnjam da ce ti netko ovdje to napisati.

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
tarantula6 kaže...

ima tko da ima volje pa da mi rijesi zadatak: treba izracunati a je godina prijestupna ili ne,prijestupna je ako je dijeljiva sa 4 ali ne i sa sto bez ostatka.

Algoritam za računanje prijestupne godine imaš ovdje:

http://en.wikipedia.org/wiki/Leap_year#Algorithm

 

I još ti samo treba poznavanje modulo operatora koji koristiš za dobivanje ostatka kod cijelobrojnog dijeljenja. C i C++ koriste znak "%" za modulo operator.

 

npr:

 

int n = 5 % 2;

varijabla "n" je 1 zato što je 5 / 2 = 2 i ostatak 1

 

int n = 9 % 3;

varijabla "n" je 0 zato što je 9 / 3 = 3 i ostatak 0

0xBADC0DE
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav ekipa, htio bih Vas zamoliti ako bi ste mi htjeli pomoći u rješavanju jednog zadatka, bio bih Vam jako puno zahvalan!

 

Treba napisati program koji unosi prirodne brojeve do najvise 40 brojeva, sve dok njihova suma ne premasi 40 i u posebnim funkcijama izracunava broj onih koji ne sadrze znamenku 4 i sumu onih koji su djeljivi sa 4. Rezultati se ispisuju u funkcijama.  

Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
maxy86 kaže...

Pozdrav ekipa, htio bih Vas zamoliti ako bi ste mi htjeli pomoći u rješavanju jednog zadatka, bio bih Vam jako puno zahvalan!

Pomoći ili servirati gotov kod?

 

Nije vrag da ne znaš napisati program koji od korisnika traži unos najviše 40 brojeva, ili dok zbroj unesenih brojeva ne premaši 40? Za to trebaš samo znati koristiti "cin" i petlje.

 

Napiši dio koji znaš pa ćemo ti pomoći sa onim što ne znaš.

0xBADC0DE
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Sorry ak zezam početnik sam, nemojte zamjeriti na kodu... uspio sam napraviti da se učita 40 brojeva, izbaci mi sumu i najmanji broj... ali ovaj bit zadatka stvarno neznam...evo kod...

 

#include <stdio.h>
#include <cstdlib>
#include <iostream>
#define MAX 40

using namespace std;

int main(){
    int n, i, zbroje_znamenki, suma, min;
   
    do{
    cout << "Upisite brojeve? " << endl;
    }
    while (zbroje_znamenki>40);
    for (i=1;i<=40;i++)
     {cout << "Unesi "<< i << ". element niza ";
      cin >> n;
     
      suma=suma+n;        //izračunava sumu unesenih brojeva
       
      if (n<min)
                 min=n;     // izbacuje najmanji uneseni broj
         }
        

   
    cout << "Suma iznosi " << suma << endl;
    cout << "Najmanji broj je " << min << endl;

   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Poruka je uređivana zadnji put čet 7.2.2013 18:05 (maxy86).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
maxy86 kaže...

Sorry ak zezam početnik sam, nemojte zamjeriti na kodu... uspio sam napraviti da se učita 40 brojeva, izbaci mi sumu i najmanji broj... ali ovaj bit zadatka stvarno neznam...evo kod...

Nitko ti neće zamjeriti, tu smo da bi učili.

 

maxy86 kaže...

     do{
    cout << "Upisite brojeve? " << endl;
    }
    while (zbroje_znamenki>40);

Zašto si u petlju stavio ispis "Upisite brojeve?"? Pa nećeš to više puta ponavljati. Ovo što ta petlja radi je: ispisuje "Upisite brojeve?" dokle god je 'zbroje_znamenki' manji od 40. Ima li ti to smisla?

 

maxy86 kaže...

     for (i=1;i<=40;i++)
     {cout << "Unesi "<< i << ". element niza ";
      cin >> n;
     
      suma=suma+n;        //izračunava sumu unesenih brojeva
       
      if (n<min)
                 min=n;     // izbacuje najmanji uneseni broj
         }

Ovaj dio je ok, iako je grozno formatiran. Nedostaje ti dio kojim izlaziš iz petlje kada "suma" prijeđe 40.

 

možeš npr. na sam kraj petlje dodati:

if (suma>40)
{
    break;
}

 

ili uvjet petlje modificirati ovako:

for (i=1; i<=40 && suma<=40; i++)

 

Sada ti samo nedostaju dvije stvari u petlji. Zadatak traži od tebe da zbrojiš sve unesene brojeve koji su djeljivi sa 4, i posebno zbrojiš sve unesene brojeve koji sadrže znamenku 4. Znači trebaju ti dvije varijable koje će sadržavati ove zbrojeve.

 

Prvo je lagano, koristiš modulo operator kako bi vidio imaš li ostatak kada podijeliš upisani broj sa 4. Ako nemaš odnosno ako je ostatak 0, onda je broj djeljiv sa 4, pa ga dodaš zbroju brojeva djeljivih sa 4. Provjera sadrži li broj znamenku 4 je malo zeznutija. Pomoću modulo operatora i dijeljenja krešeš znamenku po znamenku sa broja i provjeravaš je li jednaka traženoj znamenki.

 

Evo tvoj kod malo prilagođen:

#include <cstdlib>
#include <iostream>
#define MAX 40

using namespace std;

//funkcija vraća '1' ako je znamenka pronađena,
//ili '0' ako nije pronađena
int trazi_znamenku(int broj, unsigned int znamenka)
{
    if (znamenka>9)
       return 0;
      
    while (broj!=0)
    {
        if (broj%10==znamenka)
            return 1;
        else
            broj/=10;
    }

    return 0;
}

int main()
{
    int i=0, zbroj_brojeva=0, zbroj1=0, zbroj2=0, broj;
  
    cout << "Upisite brojeve? " << endl;
    for (i=0; i<40 && zbroj_brojeva<=40; i++)
    {
        cin>>broj;
        zbroj_brojeva+=broj;
       
        //sadrži li broj znamenku '4'?
        if (trazi_znamenku(broj, 4)==1)
        {
            zbroj1+=broj;
        }
       
        //je li broj djeljiv sa 4?
        if (broj%4==0)
        {
            zbroj2+=broj;
        }
    }
   
    cout << "Zbroj brojeva koji sadrze znamenku '4' je: " << zbroj1 << endl;
    cout << "Zbroj brojeva djeljivih sa 4 je: " << zbroj2 << endl;

    system("pause");
    return EXIT_SUCCESS;
}

 

Dio koda koji provjerava sadrži li broj neku znamenku sam izdvojio u posebnu funkciju. Varijabla zbroj1 bilježi zbroj svih upisanih brojeva koji sadrže znamenku '4', a varijabla zbroj2 bilježi zbroj svih upisanih brojeva koji su djeljivi sa 4.

0xBADC0DE
Poruka je uređivana zadnji put čet 7.2.2013 19:09 (rustweaver).
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Puno ti hvala na pomoći ! {#}

Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori
Pozdrav

Da li bi mi mogao neko uraditi ovaj zadatak bio bih mu jako zahvalan,jer mi je jako potreban za skolu a nezz ni odakle bih poceo :)

Napisati program koji za unešene duži (koordinata početka i veličina duži) ispisuje koordinate tačaka
koje dijele unešene duži na 3 jednaka dijela.
Sa standardnog ulaza učitava se cjeli broj duži N, nakon čega se unosi N uređenih parova (X, D). X je
cijeli broj i predstavlja X koordinatu početka duži; D je cijeli broj i predstavlja dužinu te duži. Svaka
naredna X koordinata je veća od prethodne X koordinate. Na izlazu se ispisuju dvije X koordinate
tačaka (zaokružene na dvije decimale) koje djele unešene duži na tri jednaka dijela.

Primjer izvršavanja:
Ulaz:
2
1 100
200 100
Izlaz:
67,67
233,33

Napomena: U programu je neophodno implementirati f‐ju koja računa ukupnu dužinu unešenih
duži:int ukupnaDuzinaDuzi(int *duzi, int d). Za dati primjer funkcija vraća 200. U
funkciji treba voditi računa o preklapanju duži, tj. ukupna dužina ne mora striktno da znači da je suma
unešenih dužina.
 
0 0 hvala 0
17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Mislim da ti nitko nece servirati kod, procitaj malo zadnjih par postova. I opcenito kad god netko trazi gotov kod.

Otkud poceti? Od pocetka mozda?

Prvo napises includeove, onda main funkciju. Trebas unositi brojeve, onda to napravis, to valjda znas napraviti? Gradis, malo po malo.

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
 
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Dali tko zna u C kako napraviti da aplikacija kopira tekst sa web stranice koj je u php/txt i doda ga u sting.Npr on bi trebo sa moje stranice koju mu zadam npr www.example.com/time.php kopirat sadrzaj i dodat ga u sting.

 

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

Dali tko zna u C kako napraviti da aplikacija kopira tekst sa web stranice koj je u php/txt i doda ga u sting.Npr on bi trebo sa moje stranice koju mu zadam npr www.example.com/time.php kopirat sadrzaj i dodat ga u sting.

 

Tebe zanima web scraping. Izgooglaj malo. Pogledaj ovdje:

http://stackoverflow.com/questions/834768/options-for-web-scraping-c-version-only

Imas puno drugih nacina. Recimo, napisati skriptu u Pythonu koja ce sve to rijesiti, pa ti samo ucitas string - imas Scrapy-a, BeautifulSoup u kombinaciji s urllib-om. Na Linuxu mozes koristiti hrpu alata u bashu - curl, sed, awk... - da skines sadrzaj poparsiras i onda ucitas.

U C++-u mozes koristiti htmlcxx, a mozes probati i wxHTML - za to trebas wxWidgetse. Imas dosta za zabavljat se.

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
Poruka je uređivana zadnji put pet 8.2.2013 17:23 (1domagoj1).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ovo čudo od programa trebalo bi da ispiše parne članove niza koji su veći od artimetičke sredine, međutim to ne radi. Može pomoć? :)

 

 

 

#include <cstdlib>

#include <iostream>

 

using namespace std;

 

int main()

{

 

   int niz[5];

   int zbirclanova=0;

 

 

   cout << "Unesite clanove niza\n";

   for(int i=0; i<5; i++)

   {

   cin >> niz[i];

 

   }

 

   cout << "\n\n******* PARNI CLANOVI NIZA KOJI SU VECI OD ARTIMETICKE SREDINE*******\n";

 

 

   for(int i=0; i<5; i++){

   zbirclanova=zbirclanova+niz[i];

 

   float artimeticka=zbirclanova/5.0;

 

   if( niz[i]%2==0 && niz[i] > artimeticka )

    {

     cout <<niz[i]<<endl;

    }    

   }

 

 

   system("PAUSE");

   return 0;

}

 

Poruka je uređivana zadnji put sub 9.2.2013 20:00 (iTrako).
 
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Druga for petlja ti je zahvatila previše koda.

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

Ne kontam?

 
0 0 hvala 0
E-mail:
Lozinka:
 
vrh stranice