Dilema između jezika C, C++, Java, C#, ...

poruka: 59
|
čitano: 22.928
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
protjeran
offline
Re: Dilema između jezika C, C++, Java, C#, ...

u pravu si 3 god u osnovama a tako mi i treba kad sam krenuo sa pokazivačima i dadotekama,

SENAID
16 godina
neaktivan
offline
Dilema između jezika C, C++, Java, C#, ...

Mišljenja sam da će mu učenje programiranja biti zanimljivije ako vidi tamo neke trokute da se vrte nego pusta slova na crnoj pozadini.

 

Od knjigovodstvenih aplikacija teško do kruha.

 
1 0 hvala 0
14 godina
protjeran
offline
Re: Zabuna oko jezika c,c++,java,c#,......
captain_soap_McTawish kaže...
Senaid_gates kaže...

vijerovali ili ne već sam naišao na problem oko varijabli

//05.05.2011-Senaid Maksumić-Računske operacije//
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int a,b;
cout<<"Unesi dva cijela broja"<<endl;
cin>>a>>b;
cout<<"OK,unijeli ste "<<a<<" i "<<b<<endl;
cout<<"Program će ispisati zbir,razliku,prozvod,kolicnik brojeva "<<a<<" i "<<b<<endl;
cout<<"Zbir "<<a<<" i "<<b<<" je "<<a+b<<endl;
cout<<"Razlika "<<a<<" i "<<b<<" je "<<a-b<<endl;
cout<<"Proizvod "<<a<<" i "<<b<<" je "<<a*b<<endl;
double c=a/b;
cout<<"Kolicnik "<<a<<" i "<<b<<" je "<<c<<endl;
system("PAUSE");
return 0;
}

  Nisi rekao u čemu je problem.

 

EDIT: Mislim da sam shvatio. Pretpostavljam da ti je problem u tome što će ti kao rezultat dijeljenja uvijek ispisati cijeli broj iako si c definirao kao double. Problem je u tome što su i a i b cijelobrojni pa će rezultat njihova dijeljenja uvijek biti cijelobrojan rezultat. Da bi to riješio moraš ili i ili b ili oboje definirati kao double ili float. Ili umjesto:

c=a/b;

  staviti:

c=static_cast<double>(a)/b;

  aha znači cast služi za pretvaranje iz povratnog tipa u drugi,ali što static oprosti na peglanju ali programiranje mi je živ.cilj

SENAID
14 godina
protjeran
offline
Re: Dilema između jezika C, C++, Java, C#, ...
Tom69 kaže...

Mišljenja sam da će mu učenje programiranja biti zanimljivije ako vidi tamo neke trokute da se vrte nego pusta slova na crnoj pozadini.

 

Od knjigovodstvenih aplikacija teško do kruha.

naprotiv open gl i sl mene neinteresira interesuju me ozb.jezici a za gui ću koristiti vb za početak i c# ako ikad shvatim j***nu logiku

SENAID
16 godina
neaktivan
offline
Re: Zabuna oko jezika c,c++,java,c#,......

Ja bih te pitao što tvoj program kaže ako uneseš b=0 ?

 

A static cast je onaj najobičniji cast jednog tipa u drugi, on neće ništa provjeravati, samo će konvertirati varijablu u tip koji si naglasio. Ako su tipovi nekombatibilni može biti svega, on pretpostavlja da znaš što radiš i da ta konverzija ima smisla.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
14 godina
protjeran
offline
Re: Zabuna oko jezika c,c++,java,c#,......
Luuka kaže...

Ja bih te pitao što tvoj program kaže ako uneseš b=0 ?

 

A static cast je onaj najobičniji cast jednog tipa u drugi, on neće ništa provjeravati, samo će konvertirati varijablu u tip koji si naglasio. Ako su tipovi nekombatibilni može biti svega, on pretpostavlja da znaš što radiš i da ta konverzija ima smisla.

ok hvala znači static cast- ako konverzija ima smisla

SENAID
14 godina
protjeran
offline
Re: Zabuna oko jezika c,c++,java,c#,......
Senaid_gates kaže...
Luuka kaže...

Ja bih te pitao što tvoj program kaže ako uneseš b=0 ?

 

A static cast je onaj najobičniji cast jednog tipa u drugi, on neće ništa provjeravati, samo će konvertirati varijablu u tip koji si naglasio. Ako su tipovi nekombatibilni može biti svega, on pretpostavlja da znaš što radiš i da ta konverzija ima smisla.

ok hvala znači static cast- ako konverzija ima smisla

količnik 5 i 0 je Infinity

SENAID
16 godina
neaktivan
offline
Re: Zabuna oko jezika c,c++,java,c#,......
Senaid_gates kaže...

količnik 5 i 0 je Infinity

A to nije baš dobro, jel ? Sa nulom ne bismo smjeli dijeliti koliko ja znam ;-)

Idući korak je popravit program tako da se dijeljenje ne izvršava ako unesemo b=0 nego se samo ispiše "Ne smijemo dijeliti s nulom".

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
14 godina
protjeran
offline
Re: Zabuna oko jezika c,c++,java,c#,......

if(b==o){

cout<<"Nemozemo dijeliti sa nulom"<<endl;

}

else{

.......}

SENAID
15 godina
offline
Re: Zabuna oko jezika c,c++,java,c#,......
Senaid_gates kaže...

if(b==o){

cout<<"Nemozemo dijeliti sa nulom"<<endl;

}

else{

.......}

  Dobro! No sad malo nadogradi kod tako da korisnik ima izbor hoće li zbrajati, oduzimati, dijeliti ili množiti.

Mrzim svoj nadimak!!!
14 godina
protjeran
offline
Re: Zabuna oko jezika c,c++,java,c#,......

switch(i){

case 1:

.....break;

...

default:

cout<<"Unesite 1,2,3,4 meni će se ponovo pokrenuti"<<endl;

system("PAUSE");

goto L1;

}

SENAID
15 godina
offline
Re: Zabuna oko jezika c,c++,java,c#,......
Senaid_gates kaže...

switch(i){

case 1:

.....break;

...

default:

cout<<"Unesite 1,2,3,4 meni će se ponovo pokrenuti"<<endl;

system("PAUSE");

goto L1;

}

  Ovu naredbu goto moraš obavezno izbjegavati. Ona se ne preporučuje za programiranje i općenito predstavlja loš način programiranja.

Mrzim svoj nadimak!!!
14 godina
protjeran
offline
Re: Zabuna oko jezika c,c++,java,c#,......

čitao sam to ali eto tu nisam znao ništa drugo upotrijebiti

SENAID
15 godina
offline
Dilema između jezika C, C++, Java, C#, ...

Probaj sa while i do-while petljama.

Mrzim svoj nadimak!!!
 
1 0 hvala 0
14 godina
protjeran
offline
Re: Dilema između jezika C, C++, Java, C#, ...

neka počeo sam ispočetka jer vidiš kako sam znao c++ "znam" switch,strukture i unije a neznam varijable

SENAID
14 godina
protjeran
offline
Re: Dilema između jezika C, C++, Java, C#, ...

Ja ponovo dosađujem sa junior problemima ,al evo nakon debug-iranja ovog koda nakon unosa 0 ispiše samo Press Any Key To Continue.

//06.05.2011-Maksumić Senaid-Apsolutna vrijednost//
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
float a;
cout<<"Unesi neki broj"<<endl;
cin>>a;
if(a<0){
cout<<"Apsolutna vrijdnost broja "<<a<<" je "<<-a<<endl;
}
if(a>0){
cout<<"Apsolutna vrijednost broja "<<a<<" je "<<-a<<endl;
}
if(a=0){
cout<<"Broj nula nema svoju apsolutnu vrijednost"<<endl;
}
system("PAUSE");
return 0;
}

Probao sam i mijenjat povratnu vrijednost a static castom ali ponovo nece u int ali neće.

SENAID
16 godina
offline
Re: Dilema između jezika C, C++, Java, C#, ...

treba ići if(a==0)

to je operator s kojim provjeravaš je li vrijednost varijable s lijeve strane jednaka vrijednosti s desne

 

i šta ne bi onda kod slučaja (a>0) trebalo ispisati a, a ne -a

Atomska bubamara
Poruka je uređivana zadnji put pet 6.5.2011 12:25 (jurluk).
14 godina
protjeran
offline
Re: Dilema između jezika C, C++, Java, C#, ...
jurluk kaže...

treba ići if(a==0)

to je operator s kojim provjeravaš je li vrijednost varijable s lijeve strane jednaka vrijednosti s desne

 

i šta ne bi onda kod slučaja (a>0) trebalo ispisati a, a ne -a

hvala ,a probao sam sve varijante ali samo ova izbaci tačno

SENAID
14 godina
neaktivan
offline
Re: Zabuna oko jezika c,c++,java,c#,......
Senaid_gates kaže...

u zabuni sam koristio sam c i c++ do saznanja o c#,javi,python-u,vb-u.......

u c i c++ nisam loš strukture,pomalo klase i pokazivači,pomalo nizovi i dadoteke, i slično
u c#
using system;

public static void main()

{

out.writeln("*********************");

}

mislim da je ovako

pomozite šta da radim da učim nevedene osim pythona i koji ili da nastavim sa c/c++ i kako

MOLIM POMOĆ

aj ti ljepo pocmi ispocetka s jednim jezikom a ne ih 5 odjednom i uci od pocetka knjige, detaljno.....

17 godina
offline
Dilema između jezika C, C++, Java, C#, ...

@senaid

 

jednostavno moraš detaljno čitati knjigu ako želiš programirati, ne smije ti se desiti da brkaš dodjelu (a=0) i operator usporedbe (a==0)

operatore usporedbe moraš znati kao tablicu množenja.

 

na to moraš nadograditi programersko razmišljanje

u konkretnom primjeru to izgleda ovako:

ako je a = -5, apsolutna vrijednost je suprotna od tog broja - dakle 5

programerski to postigneš tako da napišeš:

if(a<0)

{

     -a; // ako je a manje od 0 varijabli a pridružujemo suprotnu vrijednost od broja a tj. -a

}

 

ako je a = 5, apsolutna vrijednost je također 5 tj:

if(a>0)

{

     a; // ne mijenja se vrjednost, tj. predznak varijable a

}

 

Ovim si pretočio matematičku relaciju u programski jezik.

 

Kao što možeš vidjeti i sam da bi dobio apsolutnu vrijednost promjenu predznaka vršiš samo kod brojeva manjih od 0.

To otvara mogućnost da cijelu matematičku relaciju riješiš jednom jedinom if else uvjetnom naredbom, pošto imaš dva stanja, a ne tri.

Dakle:

if(a>=0)

{

     a;     // ako je broj veći od nula ili nula ostavljaš predznak

}

else

{

    -a;    // ako je broj manji od 0 mijenjaš predznak

}

Poruka je uređivana zadnji put pet 6.5.2011 13:18 (Floki).
 
0 0 hvala 0
14 godina
protjeran
offline
Dilema između jezika C, C++, Java, C#, ...

ok,ali kad stavim else  i sa zagradama  i bez zagrada on ispiše i ono pod else ali mogu stavit

else{

if{

----

}

}


zar ne?

edit:a ustvari to nije ni potrebno ali nema veze ja ću ovako a tebi hvala na savjetu.

SENAID
Poruka je uređivana zadnji put pet 6.5.2011 18:26 (Senaid_gates).
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Dilema između jezika C, C++, Java, C#, ...
Senaid_gates kaže...

ok,ali kad stavim else  i sa zagradama  i bez zagrada on ispiše i ono pod else ali mogu stavit

else{

if{

----

}

}


zar ne?

edit:a ustvari to nije ni potrebno ali nema veze ja ću ovako a tebi hvala na savjetu.

budes li pilo po forumima neces nikad nis naucit nego sam moras isprobavat

14 godina
protjeran
offline
Re: Dilema između jezika C, C++, Java, C#, ...

ali probam sve osim ovoga što je bilo znam teoretski da je operator jednakosti == a pridruživanje =

ali džaba kad to neznam primjeniti.

SENAID
14 godina
neaktivan
offline
Re: Dilema između jezika C, C++, Java, C#, ...
Senaid_gates kaže...

ali probam sve osim ovoga što je bilo znam teoretski da je operator jednakosti == a pridruživanje =

ali džaba kad to neznam primjeniti.

kazes da ucis 3g ako se nevaram a jos neznas osnove osnova.....mozda ovo ipak i nije bas za tebe

17 godina
offline
Dilema između jezika C, C++, Java, C#, ...

Mora ti if else raditi (jesi probao uopće?)

 

#include <iostream>
using namespace std;

int main()
{
    int broj;
    cout<< "Unesi cijeli broj: ";
    cin>> broj;
    if(broj>=0)
    {
       cout<< "|" << broj << "|" << " = " << broj << endl;
    }
    else
    {
       cout<< "|" << broj << "|" << " = " << -broj << endl;
    }
    cin.get();
    return 0;
}

Poruka je uređivana zadnji put pet 6.5.2011 21:55 (Floki).
 
0 0 hvala 0
17 godina
moderator
online
Re: Dilema između jezika C, C++, Java, C#, ...
Floki kaže...
Kao što možeš vidjeti i sam da bi dobio apsolutnu vrijednost promjenu predznaka vršiš samo kod brojeva manjih od 0.

To otvara mogućnost da cijelu matematičku relaciju riješiš jednom jedinom if else uvjetnom naredbom, pošto imaš dva stanja, a ne tri.

Dakle:

if(a>=0)

{

     a;     // ako je broj veći od nula ili nula ostavljaš predznak

}

else

{

    -a;    // ako je broj manji od 0 mijenjaš predznak

}

Ako ne mora čuvati upisanu vrijednost, onda zapravo može i sa samo jednom if-naredbom:

 

Znači, if (a < 0) a = -a;

 

 

Floki kaže...

#include <iostream>
using namespace std;

int main()
{
    int broj;
    cout<< "Unesi cijeli broj: ";
    cin>> broj;
    if(broj>=0)
    {
       cout<< "|" << broj << "|" << " = " << broj << endl;
    }
    else
    {
       cout<< "|" << broj << "|" << " = " << -broj << endl;
    }
    cin.get();
    return 0;
}

Iako je ovo ispravno, bolje bi to bilo izbjegavati - da u if-else u oba uvjeta guraš praktički istu naredbu. Za to bi bilo bolje ili a) rascijepati taj cout na prije i poslije uvjeta ili b) uvesti dodatnu varijablu. Znači, ovako:

 

a)

 

#include <iostream>
using namespace std;

int main()
{
    int broj;
    cout<< "Unesi cijeli broj: ";
    cin>> broj;
   
    cout<< "|" << broj << "|" << " = ";
   
    if (broj < 0) broj = -broj;
   
    cout << broj << endl;
   
    cin.get();
    return 0;
}

 

b)

 

#include <iostream>
using namespace std;

int main()
{
    int broj, absbroj;
    cout<< "Unesi cijeli broj: ";
    cin>> broj;

    if (broj>=0) absbroj = broj;
    else absbroj = -broj;
   
    cout<< "|" << broj << "|" << " = " << absbroj << endl;

    cin.get();
    return 0;
}

14 godina
protjeran
offline
Dilema između jezika C, C++, Java, C#, ...

ok

ali što program stopirate sa cin.get(); get()-jeli to funkcija iz c gets(); samo što tu nemora varijabla biti string

SENAID
 
0 0 hvala 0
17 godina
moderator
online
Re: Dilema između jezika C, C++, Java, C#, ...
Senaid_gates kaže...

ok

ali što program stopirate sa cin.get(); get()-jeli to funkcija iz c gets(); samo što tu nemora varijabla biti string

Nemoj se opterećivati sa stvarima koje ti u ovom trenutku nisu bitne. Ako ako baš moraš - jel znaš što je cin? Objekt klase istream. Klasa istream ima metodu (funkciju) get - Get unformatted data from stream. Više o istreamu imaš ovdje: http://www.cplusplus.com/reference/iostream/istream/

 

Programi inače se ne "stopiraju" - nisam obraćao pažnju na to. Ne stopiraju se zato što u cin-u ostane onaj Enter koji pritisneš nakon što ukucaš broj. To se može spriječiti tako da ispred cin.get(); zadaš naredbu cin.ignore();, kojom će se ignorirati svi znakovi koji se u tom trenutku nalaze u bufferu.

14 godina
protjeran
offline
Re: Dilema između jezika C, C++, Java, C#, ...
mbaksa kaže...
Senaid_gates kaže...

ok

ali što program stopirate sa cin.get(); get()-jeli to funkcija iz c gets(); samo što tu nemora varijabla biti string

Nemoj se opterećivati sa stvarima koje ti u ovom trenutku nisu bitne. Ako ako baš moraš - jel znaš što je cin? Objekt klase istream. Klasa istream ima metodu (funkciju) get - Get unformatted data from stream. Više o istreamu imaš ovdje: http://www.cplusplus.com/reference/iostream/istream/

 

Programi inače se ne "stopiraju" - nisam obraćao pažnju na to. Ne stopiraju se zato što u cin-u ostane onaj Enter koji pritisneš nakon što ukucaš broj. To se može spriječiti tako da ispred cin.get(); zadaš naredbu cin.ignore();, kojom će se ignorirati svi znakovi koji se u tom trenutku nalaze u bufferu.

ok,hvala ali eto zato ja i neznam programirat što me uvjek interesuje nešto što netreba.

Ali kako ste vi svi naučili programirati,ustvari šta programirate console,gui,win api,qt,i kako ste vi naučili programirati.

SENAID
Nova poruka
E-mail:
Lozinka:
 
vrh stranice