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

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

Uopste nije stvar u kodu al evo :D

 

 

Nije stvar u kodu al evo 

 

 

#include<stdio.h>

void main ()

int a,b,c ;

printf("Unesi jedan broj");

scanf("%d", &a );

printf("Unesi jedan broj");

scanf("%d", &b );

 

c=a+b;

printf("%d",c);

return 0;

system("pause");

 Console.ReadLine(); 

}

 

Prva druga peta ;) ;)
Poruka je uređivana zadnji put pet 16.3.2012 16:18 (aneLL).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
nux21 kaže...

Bio sam probo nije pomoglo :(

A jesi probao stavljati putanju pod navodnike?

 

char *putanja="\"C:\\Documents and Settings\\Admin\\Desktop\\txt\\datoteka.txt\""

My computer once beat me at chess, but we got even after a round of boxing.
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...

Uopste nije stvar u kodu al evo :D

 

Nije stvar u kodu al evo 

 

#include<stdio.h>
int main ()

main ti je void funkcija, a treba biti int :P

 

Krivo, nije u tome problem, iako je standard da se piše int main zato što tako znaš je li program uspješno izvršen ili ne -- ako nije uspješno izvršen, program neće vratiti 0.

 

No da se vratim na problem:

 

return 0; ti mora biti iza system("pause") naredbe.

 

EDIT: još jedna stvar... system naredba je iz biblioteke <stdlib.h> u C-u ili <cstdlib> u C++. Kompajler koji koristiš ne zahtjeva da includeaš biblioteke pa ti program radi, ali ubuduće includeaj tu biblioteku ako ćeš koristiti system naredbu jer možeš naletit na kompajler koji će tražiti da uključiš biblioteku.

~~~ You know, half these gook whores are serving officers in the Vietcong. The other half have got TB. Be sure you only fuck the ones that cough. ~~~
Poruka je uređivana zadnji put pet 16.3.2012 16:36 (i_rambo_plache).
16 godina
offline
Programiranje u C++-u - pitanja i odgovori

Čudno mi je to što on kaže za Visual Studio 2010, on ima opciju Start Without Debugging u manu-u Debug, ili jednostavno stisne tipkovnički prečac Ctrl + F5

Nikakva zaustavljanja konzolnog programa nisu potrebna, VS ga ovom opcijom kod izvođenja zaustavi sam.

Nikakvi prekid nije potrebno pisati, treba stisnuti Ctrl + F5 i konzola ostaje sa standardnom porukom Press any key to continue . . .

 

 

#include<stdio.h>

int main ()

{

int a,b,c ;

printf("Unesi jedan broj");

scanf("%d", &a );

printf("Unesi jedan broj");

scanf("%d", &b );

 

c=a+b;

printf("%d",c);

return 0;

 

}
Evo, unio sam ovaj njegov kod u svoj Visual Studio 2010, stisnuo Ctrl + F5 i sve radi dobro, konzola ostaje vidljiva uz poruku Press any key to continue . . .

Na ovaj način rade i sve Express verzije 2010.

Poruka je uređivana zadnji put pet 16.3.2012 16:59 (Floki).
 
0 0 hvala 1
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
nux21 kaže...

Bio sam probo nije pomoglo :(

 

Ako želiš otvorit neku datoteku ili program možeš ovako. Leon zamjeniš sa svojim usernameom ili %USERNAME%.

 

system("C:\\Users\\Leon\\Desktop\\dfg.txt");

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

Ta opcija mi jedino i radi ... Na sve nacine sam probao nemoze samo moze start without debugging ..

 

 

Hvala ti 

Prva druga peta ;) ;)
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

pošto se prebacujem s pascala na c++, fale mi neke naredbe. zanimam me kako dobim cijelobrojni broj kod djeljena (u paskalu je: z:=x div y) te također kod djeljenja trebam broj iza dec. točke (paskal: z:=x mod y). također bi vas zamolio da ako je moguće u jednom retku napišete samo jedan primjer od obje naredbe.

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

operator "/" označava cijelobrojno dijeljenje ako su svi operandi cijeli brojevi

z = x / y
operator "%" daje ostatak

z = x % y 

P.S. kad sam se prebacivao s pascala na cpp učio sam ti s ove stranice http://www.learn-programming.za.net/ 

14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
etnes kaže...

pošto se prebacujem s pascala na c++, fale mi neke naredbe. zanimam me kako dobim cijelobrojni broj kod djeljena (u paskalu je: z:=x div y) te također kod djeljenja trebam broj iza dec. točke (paskal: z:=x mod y). također bi vas zamolio da ako je moguće u jednom retku napišete samo jedan primjer od obje naredbe.

U c++ ako hoces cjelobrojno dijeljenje onda ti obadvije varijable moraju biti tipa nekoga cjelobrojnoga tipa(int,long,long long,short...), a operand ostaje isti kao i pri normalnome dijeljenju:

int a=4,b=5;
int c=a/b; //c je 0 jer su obadvije varijable cjelobrojne

float d=4,float e=5;
fload f=d/e; //f je 0.8 jer je barem jedan od djeljitelja decimalnoga tipa.

No moras paziti da ako hoces decimalno dijeljenje, onda ti barem jedna decimalnoga tipa bez obzira na varijablu u koju pohranjujes.

int a=4,b=5;
float c=a/b;// c je 0 jer su i a i b tipa int
float c=static_cast<float>(a)/b // c je 0.8 jer smo c castali u float


float e=4/5 //e je 0 jer c++ defaultno cjelobrjone konstante smatra cjelobrjonim tipom
float e=4./5 // e je 0.8 jer smo pomocu tocke naznacili da cetvroku smatra tipom double odnosno float

 

Trebao bi malo pruciti pravila uobicajene aritmeticke pretvorbe da ti bude jasnije.

 

Za operand mod u c++ koristis operat %.

int a=5,b=4;
int c=a%b; // c je 1
Naravno obe varijable moraju biti cjelobrjonoga tipa.

Twitter- @capttawish Linux/GNU live forever.
Poruka je uređivana zadnji put pet 16.3.2012 20:10 (captain_soap_McTawish).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
etnes kaže...

pošto se prebacujem s pascala na c++, fale mi neke naredbe. zanimam me kako dobim cijelobrojni broj kod djeljena (u paskalu je: z:=x div y) te također kod djeljenja trebam broj iza dec. točke (paskal: z:=x mod y). također bi vas zamolio da ako je moguće u jednom retku napišete samo jedan primjer od obje naredbe.

Ovo ce te zanimati:

http://www.cplusplus.com/doc/tutorial/operators/

My computer once beat me at chess, but we got even after a round of boxing.
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
etnes kaže...

pošto se prebacujem s pascala na c++, fale mi neke naredbe. zanimam me kako dobim cijelobrojni broj kod djeljena (u paskalu je: z:=x div y) te također kod djeljenja trebam broj iza dec. točke (paskal: z:=x mod y). također bi vas zamolio da ako je moguće u jednom retku napišete samo jedan primjer od obje naredbe.

 

Moja preporuka ti je da bolje pređeš sa Pascala na C, prirodnije je, a kada pohvataš sintaksu Ca tada se prebaci na C++.

Osim ako nisi radio u objective pascalu.

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
woodgamesfx kaže...
etnes kaže...

pošto se prebacujem s pascala na c++, fale mi neke naredbe. zanimam me kako dobim cijelobrojni broj kod djeljena (u paskalu je: z:=x div y) te također kod djeljenja trebam broj iza dec. točke (paskal: z:=x mod y). također bi vas zamolio da ako je moguće u jednom retku napišete samo jedan primjer od obje naredbe.

 

Moja preporuka ti je da bolje pređeš sa Pascala na C, prirodnije je, a kada pohvataš sintaksu Ca tada se prebaci na C++.

Osim ako nisi radio u objective pascalu.

Zapravo, prvo sam sam počeo programirati u cpp-u, onda sam u školi počeo učiti pascal pa sa zapustio cpp i sad se opet vraćam na njega, tako da sad zapravo samo ponavljam sintaksu cpp pošto sam svatio da je puno bolji programski jezik od pascala. a c mi se neda opet sve ispočetka učiti (iako pretpostavljam da nije puno drukčije od cpp-a)

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

Zapravo, prvo sam sam počeo programirati u cpp-u, onda sam u školi počeo učiti pascal pa sa zapustio cpp i sad se opet vraćam na njega, tako da sad zapravo samo ponavljam sintaksu cpp pošto sam svatio da je puno bolji programski jezik od pascala. a c mi se neda opet sve ispočetka učiti (iako pretpostavljam da nije puno drukčije od cpp-a)

 

Različit je za sintaksu vezanu uz nove metode vezane uz klase i objekte.

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

ako se odlučiš za C evo jedna knjiga koju upravo čitam http://web.math.pmf.unizg.hr/~singer/Prog_Add/c.pdf

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
srky.du kaže...

ako se odlučiš za C evo jedna knjiga koju upravo čitam http://web.math.pmf.unizg.hr/~singer/Prog_Add/c.pdf

Hvala, al mislim da ću ostat na cpp-u

12 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

To sve ovisi o tvojim potrebama...
Ja ti savjetujem da pređeš na C# i držiš se GUI-a, ili eventualno u C++ da koristiš VLC ili MFC kontrole, ali moj savjet ti je C#. Kasnije, ako bude potrebe za web developementom lako pređeš na ASP.NET.
Ali osnovne koncepte pohvataj u C++u, on je kao stvoren za to.

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

Evo mene opet sa novim tipom problema :D 

 

Naravno ovdje najvise volim pronaci pomoc jer mogu rec da mi bolje ovdje date odgovor nego profesori na faxu :D

 

Pitanje : Ukoliko napisem fukcije prije glavne main funkcije u "Code Blocksu" nece program radit a ukoliko ih navedem ispod hoce radit .. Do editora ili do mene ??

 

Dali je moguce realizovati ovaj Cod ovako kako sam ja krenuo 

 

 

#include<stdio.h>

 

 

int sabiranje (int broj1, int broj2)

{

 

   return broj1+broj2;

}

 

void Unos_broja ()

{

   int a,b,c;

   printf("Unesi jedan broj: ");

   scanf("%d", & a);

   printf("Unesi drugi broj  ");

scanf("%d", & b);

 

}

 

int main ()

{

   int c;

   Unos_broja() ;

 

   c = sabiranje (a,b);

   printf("%d",c);

 

 

Ukoliko u funkciji main deklarisem varijable a,b onda mi da neki potpuno netacan rezultat 

Prva druga peta ;) ;)
Poruka je uređivana zadnji put sub 17.3.2012 11:53 (aneLL).
12 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ne!, u funkciji unos_broja, su lokalne varijable, moraš ih referencom vratiti mainu...

I ta ti funkcija ne može biti void tipa.

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

 

Hvala na pomoci ispravio sam gresku .. Dal je moguce ove dvije funkcije Unos_Broja_a i unos_broja_b  editovati tako da to bude jedna funkcija 

 

 

  #include<stdio.h>

 

int a,b,c;

int sabiranje (int broj1, int broj2)

{

 

   return broj1+broj2;

}

 

int Unos_broja_a ()

{

   do

    {

   printf("Unesi broj: ");

   scanf("%d", & a);

    }

   while ((a<=0 || a>=20));

return a;

 

}

int Unos_broja_b ()

{

   do

    {

   printf("Unesi broj: ");

   scanf("%d", & b);

    }

   while ((b<=0 || b>=20));

return b;

}

 

int main ()

{

   Unos_broja_a() ;

   Unos_broja_b() ;

 

   c = sabiranje (a,b);

   printf("%d",c);

}

 

Prva druga peta ;) ;)
Poruka je uređivana zadnji put sub 17.3.2012 12:29 (aneLL).
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...

 

Hvala na pomoci ispravio sam gresku .. Dal je moguce ove dvije funkcije Unos_Broja_a i unos_broja_b  editovati tako da to bude jedna funkcija 

 

 

  #include<stdio.h>

 

int a,b,c; //Ovo sam ti deklarirao kao lokalne varijable u main funkciji

int sabiranje (int broj1, int broj2)

{

 

   return broj1+broj2;

}

 

int Unos_broja_a ()

{

   do

    {

   printf("Unesi broj: ");

   scanf("%d", & a);

    }

   while ((a<=0 || a>=20));

return a;

 

}

int Unos_broja_b ()//spojio sam a i b unos u jednu funkciju i vrednosti a i b varijable pridodao u mainu

{

   do

    {

   printf("Unesi broj: ");

   scanf("%d", & b);

    }

   while ((b<=0 || b>=20));

return b;

}

 

int main ()

{

   Unos_broja_a() ;

   Unos_broja_b() ;

 

   c = sabiranje (a,b);

   printf("%d",c);

}

 

mogao bi ovako:

 

#include<stdio.h>

int sabiranje (int broj1, int broj2)

{

  return broj1+broj2;

}

 

int Unos_broja()

{

  int broj;

  do

   {

  printf("Unesi broj: ");

  scanf("%d", &broj);

   }

  while ((a<=0 || a>=20));

return broj;

}

 

int main ()

{

  int a,b,c;

  a = Unos_broja();

  b = Unos_broja();

 

  c = sabiranje (a,b);

  printf("%d",c);

 

 

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

Stvarno si mi pomogao. Puno ti hvala ... Ovaj dio nebih skontao nikad :D :D  

 

 

 a = Unos_broja();

 b = Unos_broja();

 

 

Dal neko zna zbog ceg mi ubaci ove smajlije na kraju 

 

http://www.zaslike.com/files/h37va8qlqsr3zysidv2x.jpg

 

Kak bi se mogla izvesti organizacija da bude br ovih zvjezdica po pet podjeljen npr :

 

16  *****  *****  *****  *  

Prva druga peta ;) ;)
Poruka je uređivana zadnji put sub 17.3.2012 14:52 (aneLL).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...
Pitanje : Ukoliko napisem fukcije prije glavne main funkcije u "Code Blocksu" nece program radit a ukoliko ih navedem ispod hoce radit .. Do editora ili do mene ??

Nisam li ti objasnio na prosloj stranici kako se funkcija unaprijed deklarira? Mogu li vidjeti neki primjer u kojem ti to neka funkcija ne radi ako stoji prije maina?

 

aneLL kaže...
Dal neko zna zbog ceg mi ubaci ove smajlije na kraju 

Pojma nemam, ne vidim uopce kôd u kojem ispisujes te zvijezdice. Vjerojatno se neka petlja izvrsava jedan korak previse.

 

aneLL kaže...
Kak bi se mogla izvesti organizacija da bude br ovih zvjezdica po pet podjeljen npr :

 

16  *****  *****  *****  *  

pomocu modulo operatora, na svakoj petoj zvijezdici ispises razmak, ovako:

 

#include <stdio.h>

int main()
{
    int n, broj=16;
   
    for (n=1; n<=broj; n++)
    {
        printf("*");
       
        if (!(n%5))
           printf(" ");   
    }
    printf("\n");
   
    return 0;
}

My computer once beat me at chess, but we got even after a round of boxing.
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

 

#include<stdio.h>

int a,b,c,i;

int sabiranje (int broj1, int broj2)

{

  return broj1+broj2;

}

 

int Unos_broja()

{

  int broj;

  do

  {

  printf("Unesi broj: ");

  scanf("%d", &broj);

  }

  while ((broj<=0 || broj>=20));

return broj;

}

char ispis_zvjezdice (int broj_zvjezdica)

{

  printf("   %d    ",broj_zvjezdica);

   for (i=1; i<=broj_zvjezdica; i++)

   {

     printf("*");

 

     if (i%5==0)

      printf(" ");

   }

  printf("%c \n",broj_zvjezdica);

}

 

int main ()

{

 

  a = Unos_broja();

  b = Unos_broja();

 

  ispis_zvjezdice (a);

  printf("+ \n");

 

  ispis_zvjezdice(b);

  printf("= \n");

 

  c=sabiranje (a,b);

  ispis_zvjezdice(c);

 

}

Prva druga peta ;) ;)
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

čemu služi linija?

printf("%c \n",broj_zvjezdica);

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

 

char ispis_zvjezdice (int broj_zvjezdica)
{
  printf("   %d    ",broj_zvjezdica);
   for (i=1; i<=broj_zvjezdica; i++)
   {
     printf("*");

     if (i%5==0)
      printf(" ");
   }
 printf("%c \n",broj_zvjezdica);
}

{#}

Pa zar nisi vidio?

 

Smijem li pitati zasto ti je funkcija ispis_zvijezdice deklarirana da vraca char kada u biti ne vraca nista, nemas cak niti return?

 

Isto vrijedi i za main. Deklarirao si ga kao int, ali ne vracas nista iz njega...

My computer once beat me at chess, but we got even after a round of boxing.
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...

[kôd]

  • Prvo i osnovno, kôd ti je vrlo neuredno napisan.
  • Drugo, čemu ti služi ovaj zadnji printf koji ispisuje broj zvjezdica i to još tipa char jer ti se zbog toga pojavljuju čudni znakovi iza zvjezdica. Zašto ne bi jednostavno zapisao ovako:
    printf("\n");pošto vidim da želiš ispisati znakove '+' i '=' u novi red.
  • Treće, funkcija ispis_zvjezdice bi trebala biti void pošto ne vraća nikakvu vrijednost.
  • Četvrto, varijable a,b,c,i su ti deklarirane izvan funkcija. To je generalno ok (jer ti program radi), no ako imaš programiranje na faksu, obično naznače da su extern varijable (koje omogućuju deklariranje varijabli izvan funkcija) nedopuštene pa onda svaku varijablu trebaš definirati u funkciji u kojoj ju koristiš.
  • Peto, main funkcija ti ne vraća 0.
~~~ You know, half these gook whores are serving officers in the Vietcong. The other half have got TB. Be sure you only fuck the ones that cough. ~~~
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Pridruzit cu se rambovim kritikama i reci da izbjegavas globalne varijable. Pogotovo zato sto su, za ovo sto si radio, potpuno nepotrebne.

My computer once beat me at chess, but we got even after a round of boxing.
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Dakle ako nevraca nista pisem kao void zar  a gle ukoliko napisem

 

void main ()  javi mi error   http://www.zaslike.com/files/gglkd2q73qyzrsthn55h.jpg a ukoliko napisem int radi bez problema :D

 

 

Volim sto ste direktni sa komentarima popravit cu ja se ipak sam pocetnik u osnovama programiranja :D 

Prva druga peta ;) ;)
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...

Dakle ako nevraca nista pisem kao void zar  a gle ukoliko napisem

 

void main ()  javi mi error   http://www.zaslike.com/files/gglkd2q73qyzrsthn55h.jpg a ukoliko napisem int radi bez problema :D

 

Pa tako i treba biti. Funkcija main mora biti tipa int i mora na kraju imati naredbu return 0 kojom salje os-u poruku da je program zavrsio. Pisati void main je pogresno.

Twitter- @capttawish Linux/GNU live forever.
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...

Dakle ako nevraca nista pisem kao void zar  a gle ukoliko napisem

 

void main ()  javi mi error   http://www.zaslike.com/files/gglkd2q73qyzrsthn55h.jpg a ukoliko napisem int radi bez problema :D

Main funkcija je posebna, ona je ulazna tocka u program i ima predefinirane argumente, i vrstu povratne vrijednosti. Tako da, sto se te funkcije tice, nemas potpunu slobodu deklarirati ju kako ti se prohtje.

 

Svaki program u DOS-u i Windowsima po svom zavrsetku postavlja errorlevel vrijednost koju drugi programi ili skripte mogu provjeravati, te prema tome zakljuciti je li se program uspjesno izvrsio. Errorlevel 0 oznacava uspjesno izvrsavanje programa, a svaki drugi errorlevel oznacava neku posebnu gresku koju programer odredi.

 

Povratna vrijednost main funkcije sluzi upravo da obavjestis OS o uspjesnosti izvrsavanja programa. Funkcija main vraca integer cak i ako ti izostavis return izraz na kraju programa, na taj nacin ce OS po zavrsetku programa dobiti nekakvu nasumicnu vrijednost, slicno kao sto neinicijalizirane varijable imaju nekakvu nasumicnu vrijednost koja se nasla u memoriji u tom trenutku. Da bi OS-u proslijedio pravi izlazi kod, a ne nekakvo smece, trebas dodjeliti nekakav broj return izrazu.

 

Neki kompajleri dozvoljavaju main da bude void, buduci da je to davno prije bio nepisani standard, cak i GCC/Mingw mozes natjerati da prihvati void main koristeci odredene switcheve, ako to bas situacija iziskuje.

My computer once beat me at chess, but we got even after a round of boxing.
E-mail:
Lozinka:
 
vrh stranice