Greška u C++

2

Greška u C++

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4542

Ne, ne prijavljuje mi nikakvu grešku. Koristim Visual C++ 2010 Express. Na ovo sam mislio:

return ::
system("PAUSE");
return 0;



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

1.
using "conio.h"
Ovo ne moze biti ispravan C++ izraz. Pokazi ceo kod koji koristis.

2. Dok si jos na pocetku, predlozio bih ti da batalis tu system("pause") abominaciju jer je nepotrebna.
Ako hoces da ti konzola ostane na ekranu, dovoljno je da stavis breakpoint na zadnju zagradu.



offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4542

Hvala na savetima. Jedna stvar mi nije jasna.

cout >> "Tekst" >> endl; std::cout >> "Tekst" >> endl; printf("Tekst");

Sva tri slučaja su pravilna, zar ne?

Izvini moja greška. Kod je:

#include "conio.h"

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Napisano: 22 Feb 2013 13:00

1. Sve je pravilno, s'tim da za cout ide left shift "<<" a ne desni ">>" kao sto si napisao.
printf je C funkcija, ako vec hoces da ucis C++ onda i koristi njegove IO mehanizme, mada mozes da mixujes C u C++ projektima.

Kad si vec na pocetku predlazem ti i da batalis uvodjenje celog namespace-a:
using namespace std;
Ovo samo pokazuje da te mrzi da kucas, sto ne bi trebalo da ima kao naviku ni jedan programer, a uz to moze da dovede do raznih problema.

Mozes slobodno da uvedes "imena" koja koristis ako ti to bas treba:
#include <iostream> #include <string> int main() {    using std::cout;    using std::cin;    using std::string;    using std::endl;    cout << "Please enter your name..." << endl;    string myName;    cin >> myName;    cout << "Hello " << myName << endl;    return 0; }

namespaces

Why is 'using namespace std;' considered a bad practice in C++?

Dopuna: 22 Feb 2013 13:04

Programiranje odnosno pisanje koda ti je kao droga, jednom kad se naviknes da pises nesto na neki nacin (pogotovo ako je potencijalno "opasno") tesko je to kasnije ispraviti.

offline
  • Fil  Male
  • Legendarni građanin
  • Pridružio: 11 Jun 2009
  • Poruke: 16486

Postoji i jos jedan argument za nacin koji predlaze Morando, a to je stil "defanizivnog programiranja".
Ako programiramo defanzivno, povecava se sansa da vrlo brzo nadjemo bug u kodu (bilo sintaksne, bilo logicke prirode).

offline
  • Pridružio: 05 Maj 2010
  • Poruke: 112

morando ::1.
using "conio.h"
Ovo ne moze biti ispravan C++ izraz. Pokazi ceo kod koji koristis.

2. Dok si jos na pocetku, predlozio bih ti da batalis tu system("pause") abominaciju jer je nepotrebna.
Ako hoces da ti konzola ostane na ekranu, dovoljno je da stavis breakpoint na zadnju zagradu.



Nadam se da ti nije problem da mi objasnis zasto treba izbegavati system("pause");
Nisam dugo u C jeziku, pa me zanima.

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

^ Imas lepo objasnjeno na linku zasto treba izbegavati.

Kod je cistij, kod je profesionalniji (govori o osobi koja ga je pisala), kod je sigurniji, kod je standardniji (ako razmisljate o buducnosti kad budete radili u nekom timu)...
Ako je za cilj da konzolni prozor ostane aktivan, logicnije je a i bolje resenje umesto nje samo postaviti breakpoint, posto se ionako (tokom razvoja) vec debaguje program pa se usput mogu i videti status promenljivih, sto stvara dobru naviku i brzo pronalazenje gresaka.

Problem je sto je internet preplavljen sa primerima gde se koristi ova funkcija (kao i jos neke druge stvari) pa se vremenom ovo prihvatilo kao ispravna stvar za koristiti.

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4542

morando ::

Ovo samo pokazuje da te mrzi da kucas, sto ne bi trebalo da ima kao naviku ni jedan programer, a uz to moze da dovede do raznih problema.

Mozes slobodno da uvedes "imena" koja koristis ako ti to bas treba:
#include <iostream> #include <string> int main() {    using std::cout;    using std::cin;    using std::string;    using std::endl;    cout << "Please enter your name..." << endl;    string myName;    cin >> myName;    cout << "Hello " << myName << endl;    return 0; }


Ne mrzi me da kucam uopšte, da me mrzi ja bih sve zabatalio već odavno, ali sa tim što si mi ti dao sada uopšte nisam upoznat, koristio sam jedino neku literaturu sa http://tutoriali.org u kojoj su objašnjeni osnovni koncepti i malo istraživao odavde http://www.stroustrup.com.

offline
  • Pridružio: 05 Maj 2010
  • Poruke: 112

E.L.I.T.E. ::morando ::

Ovo samo pokazuje da te mrzi da kucas, sto ne bi trebalo da ima kao naviku ni jedan programer, a uz to moze da dovede do raznih problema.

Mozes slobodno da uvedes "imena" koja koristis ako ti to bas treba:
#include <iostream> #include <string> int main() {    using std::cout;    using std::cin;    using std::string;    using std::endl;    cout << "Please enter your name..." << endl;    string myName;    cin >> myName;    cout << "Hello " << myName << endl;    return 0; }


Ne mrzi me da kucam uopšte, da me mrzi ja bih sve zabatalio već odavno, ali sa tim što si mi ti dao sada uopšte nisam upoznat, koristio sam jedino neku literaturu sa tutoriali.org u kojoj su objašnjeni osnovni koncepti i malo istraživao odavde stroustrup.com.


Ne znam skoro uopste C++, ali ako se ne varam on ovde koristi imenski prostor std, u C postoji <stdio.h>, pa kapiram da se std koristi za IO operacije u C++ i poziva klase ili mozda metode? cout za ispis, cin za unos, string za kolekciju karaktera, endl ne znam za sta sluzi, verovatno predstavlja mesto gde ces kucati unos u konzoli...

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

U "imenskom prostoru" std je obuhvacena cela standardna bibloteka: IO (input-output), algoritmi, konteneri, iteratori...

endl == \n

using keyword
Citat:
The using declaration introduces a name into the declarative region in which the using declaration appears.

Znaci uvodi/upoznaje neko "ime" u okviru nekog regije/skopa gde je sama deklaracija.
Primer:
#include <iostream> int main() {    { // pocetak "regije/skopa"       using std::cout;       using std::endl;       cout << "Hello 1" << endl; // ok    } // kraj    cout << "Hello 2" << endl; // error    return 0 ; }

using sa clanovima klasa

using type alias

Ko je trenutno na forumu
 

Ukupno su 684 korisnika na forumu :: 29 registrovanih, 5 sakrivenih i 650 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., aramis s, crnitrn, darkangel, dolinalima, Dorcolac, Dragan1998, gzoki, havoc995, kljift, Koca Popovic, krlebgd77, laki_bb, Marko Marković, Miskohd, Mixelotti, naki011, nebkv, nedjabanderas, pavle_pzs, pein, Polemarchoi, RJ, Sale.S, saputnik plavetnila, Toper, VJ, Warhawk, zajcev1