c++

M.M.L.

Primećen član
Poruka
786
#include <stdio.h>

main (){
int fahr;
for (fahr=0;fahr<=300;fahr=fahr+20)
printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
}

Ja napisem ovo i kompajliram i kliknem na EXECUTE, otvori mi se neki prozor i odmah zatvori.
 
master_'92:
#include <stdio.h>
main (){
int fahr;
for (fahr=0;fahr<=300;fahr=fahr+20)
printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
}

Ja napisem ovo i kompajliram i kliknem na EXECUTE, otvori mi se neki prozor i odmah zatvori.

pribaj :


#include <stdio.h>
#include <stdlib.h>
main (){
int fahr;
for (fahr=0;fahr<=300;fahr=fahr+20)
printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
system("pause");
}
 
Da bi radila system() funkcija.

Obzirom da je u pitanju pgram koji ima tekstualni interfejs, možeš da pokreneš program iz komand prompt prozora i onda nećeš imati problema sa automatskim zatvaranjem prozora u kome porgram ispisuje.
 
#include <stdio.h>
#include <stdlib.h>
int power(int m,int n);
main (){
int i;
for (i=0;i<10;++i)
printf("", i, power(2, i), power(-3, i));
return 0;
}
int power(int base, int n){
int i, p;
p=1;
for (i=1;i<=n;++i)
p=p*base;
return p;
system("pause");
}



ovde isto otvori prozor i zatvori ga. U cemu sam pogresio
 
Znaci ovako


#include <stdio.h>
#include <stdlib.h>
int power(int m,int n);
main (){
int i;
for (i=0;i<10;++i)
printf("", i, power(2, i), power(-3, i));
system("pause");
return 0;
}
int power(int base, int n){
int i, p;
p=1;
for (i=1;i<=n;++i)
p=p*base;
system("pause");
return p;

}
 
Posto vidim da jos nisi vest u programiranju, da te podsetim na veoma vaznu stvar koju si ocigledno propustio da vidis.
Svaka funkcija, pa i Main() funkcija se zavrsava sa nekom "return" komandom. Kod mnogih jezika ako se "return" izvrsi na kraju Main() funkcije, on moze da "spoljasnjem svetu" vrati neku vrednost, tako da onome ko je pozvao program, vrati neki broj, slovo ili neki podatak, kojeg moze posle upotrebiti kao rezultat izvrsavanja tvog programa. recimo da program (preko funkcije Main()) vrati 0 ili 1, sto bi znacilo, "nema greske u radu" ili "greska u radu" (za 0 i 1 respektivno)
Ako komentarisemo "return" na kraju funkcije, tada se moze vratiti neki podatak na mesto gde smo tu funkciju iz programa pozvali. A i ne mora ako nam ne treba (return X ili return)

Obrati paznju da se naredba "return" moze nalaziti na bilo kom mestu u programskoj funkciji, tako da ne znaci da mora biti samo na kraju.

I na kraju, ako nesto hoces da uradis dok si jos u funkciji (kao sto si hteo da prikazes neki ekran sa podatkom), moras to svakako uraditi PRE komande "return", u suprotnom, imaces problem kao sto si ga imao na pocetku. Moze se cak desiti da nakon komande "return" napises citav niz komandi i kojecega, sve sto si pis'o "za djabe" si pis'o, ako se nalaze nakon komande "return"
Upravo to se tebi desilo

Ajd', navali dalje na rad i ucenje, neces zazaliti :)
 
bojan p:
Ne tako. Lepo sam napisao ispred svakog returna u main funkciji. Dakle, onaj poziv system funkcije u okviru power funkcije ti ne treba.
U pravu si.
Samo da jos preciziramo:
Moze taj poziv system() funkcije da ima ILI u Power() funkciji ILI u Main() funkciji. Nema NIKAKVE potrebe da ga ima u OBE.
 
codemaker:
U pravu si.
Samo da jos preciziramo:
Moze taj poziv system() funkcije da ima ILI u Power() funkciji ILI u Main() funkciji. Nema NIKAKVE potrebe da ga ima u OBE.
Naravno, ali je logičnije da ga ima u okviru main() funkcije, jer ostale funkcije može da iskoristi i za nešto drugo pa bi samo imao dodatni posao da briše pozive system() funkcije iz njih.
 
bojan p:
Naravno, ali je logičnije da ga ima u okviru main() funkcije, jer ostale funkcije može da iskoristi i za nešto drugo pa bi samo imao dodatni posao da briše pozive system() funkcije iz njih.

Zavisi od koncepcije programa.
Ja cak mislim da je logicnije da je poziv u drugim funkcijama sem Main(). razlog je sto mozemo iz Main() izaci a da nismo ni "posetili" doticnu funkciju, jer nam nije trebalo a ipak bi naisli na ne uvek zeljeni system() poziv pre zavrsetka rada programa, sto bi moglo smetati.
Ovako, funkciju gde zelimo da imamo i system() poziv, mozem pozivati sa dodatnim parametrom (1, 0 na primer) koji ce reci da li na kraju te funkcije zelimo ili ne i poziv system() pre izlaska iz nje.

Kazem, sve zavisi od koncepcije programa. Mislim tu i naravno na malo komplikovanije programe od ovog primera. I naravno govorim o slucajevima kad nismo stavili poziv system() na kraj svake funkcije u programu, sto jos nisam sreo, ali i da hocemo iznekog razlogau svakoj funkciji da imamo system(), i tada se moze resiti sa dodatnim parametrima poziva.
Ima mnogo kombinacija i mogucnosti. Covek je tek zakoracio u svet programiranja, ima jos vremena za sve to.
 
codemaker:
Zavisi od koncepcije programa.
Ja cak mislim da je logicnije da je poziv u drugim funkcijama sem Main(). razlog je sto mozemo iz Main() izaci a da nismo ni "posetili" doticnu funkciju, jer nam nije trebalo a ipak bi naisli na ne uvek zeljeni system() poziv pre zavrsetka rada programa, sto bi moglo smetati.
Ovako, funkciju gde zelimo da imamo i system() poziv, mozem pozivati sa dodatnim parametrom (1, 0 na primer) koji ce reci da li na kraju te funkcije zelimo ili ne i poziv system() pre izlaska iz nje.

Kazem, sve zavisi od koncepcije programa. Mislim tu i naravno na malo komplikovanije programe od ovog primera. I naravno govorim o slucajevima kad nismo stavili poziv system() na kraj svake funkcije u programu, sto jos nisam sreo, ali i da hocemo iznekog razlogau svakoj funkciji da imamo system(), i tada se moze resiti sa dodatnim parametrima poziva.
Ima mnogo kombinacija i mogucnosti. Covek je tek zakoracio u svet programiranja, ima jos vremena za sve to.
Ne bih se složio s tim, jer mislim da je osnovni razlog pozivanja funkcije system() da se omogući uvid u ispis programa pre uklanjanja automatski otvorenog text prozora. Za sve ostalo postoji debugger i ostali programersko-razvojni alati, tako da system funkciji tu zaista nema mesta.

No, ovo sada počinje da odlazi isuviše daleko od teme, pa da ne nastavim da unosim zabunu ovde ću da završim.
 
Dosadan sam sam sebi

Imam 2 greske a neznam koje su.

Kod:
#include <stdio.h> 
#include <conio.h> 
#include <stdlib.h>
int main()

{
float x;
float a;
printf("Ukucaj stranicu a"; scanf("%6f",&x);
printf("\n Unesite H"; scanf("%5f",&a);
printf("\n Povrsina: %10.2f\n", x*a);
printf("\n Za kraj programa pritisnite bilo koji taster\n");
getch();
system("pause");

}
 
Pa druze ao u tako kratkom programu imas cak 2 greske i ne umes da ih nadjes, onda ces izgleda morati da krenes sve iz pocetka, uzmi knjigu pa okreni prvu stranu, skuvaj caj,kafu sedi i kreni sa citanjem...
 
bojan p:
Ne bih se složio s tim, jer mislim da je osnovni razlog pozivanja funkcije system() da se omogući uvid u ispis programa pre uklanjanja automatski otvorenog text prozora. Za sve ostalo postoji debugger i ostali programersko-razvojni alati, tako da system funkciji tu zaista nema mesta.

No, ovo sada počinje da odlazi isuviše daleko od teme, pa da ne nastavim da unosim zabunu ovde ću da završim.
Ne slazem se sa time cime se ti ne slazes sa onim cime bih se ja slozio, jer se ne slazem sa slozenim prilogom .... :)
Mogli bi sad da udjemo u diskusiju, ali to bi razvodnilo diskusiju a momka jos vise zbunilo.
Neka prvo nauci nesto vise pa cemo posle lako.
 
Ako imaš dve greške, znači da prevodioc nije bio mutav već ti je nešto "rekao". Pogledaj šta je rekao/napisao i kreni da ispravljaš greške na osnovu tih informacija.
 
Uze mi rec iz usta.
Primetio sam da mnogi pocetnici maltene totalno ignorisu poruke o greskama koje kompajler izbacuje. Odmah panicno traze pomoc jer "ne radi". Ubedjen sam da se skoro sve greske mogu resiti uz pregled poruka kompajlera, konsultovanje literature nakon toga ako treba. A kad bas zagusti, neka pitaju.

Doduse, imam i primera iz prakse, kad mi klijent sav u panici salje poruku da "ne radi". Treba mi barem razmena 3 poruke da shvatim STA ne radi. Nakon toga jos 2 poruke da mi TACNO kaze sta se desilo - a to se svodi na citanje poruka koje progam izbacuje na ekran! A sve to da bih ustanovio da pokusava da stampa podatke o na primer radnicima jednog klijenta a program "nece"! Katastrofa! I na kraju se ispostavi da ga je program korektno pred stampu inoformisao da radnici za tog klijenta uopste nisu definisani, dakle nema sta da stampa. Ali ko ce citati poruke. Vazno je da neko drugi pronadje problem... Vazno je napisati ono sveobuhvatno i jako opisno - "nece"
 
Neće to ići lako. Moje klijente sam utrenirao, tako da na poruke tipa "ne radi", "neće" i slično više uopšte ne odgovaram. Ili mora tačno da kaže šta je uradio i koju je poruku dobio ili što je mnogo bolje, ako je zaista u pitanju neka greška, da pošalje log ako mi već automatski nije stigao. Ukoliko nešto od ta dva nije ispunjeno, moj standaran odgovor je "Žao mi je, ali ne mogu da Vam pomognem." Izgleda da je zavladala neka epidemija nečitanja, šta li.
 
Eeee, prepoznao sam se ovde :)
Prvo sam ucio C koristeci neki Miracleov kompajler. Poruke kompajlera su bile skroz sture, pa ko da ih i nije bilo :(
Pa onda jednog dana otvorim VS... Istog trenutka ga zatvorih( uplasile me silne slike koje navaljuju sa svih strana, valjda )
Sledeceg dana otvorim ga ponovo... Pocnem da kucam u "velikom belom text editoru" koji sam odmah ugledao.... Vidim da nece(poruka: main nije nadjen idr...) ... Uplasim se i opet zatvorim VS :D
U narednom pokusaju sam uspeo da napravim projekat... Medjutim nisam znao da ubacim C fajl u nj, pa sam "rucno" na HD-u pravio txt fajl pa mu menjao extenziju... Sad se sam sebi smejem...
Na kraju sam shvatio i kako da direktno ubaci C fajl u projekat( muka me naterala :) )...

A to sto ste rekli da necitaju poruke je tacno-> u mom odeljenju ima neka budala koja proba da uradi zadatak pa ako ima greska, on obrise sve i pise iz pocetka... Doduse ima keca... Valjda ne stigne da uradi to'lko zadataka...
 
E,ja sma pre par meseca kupio knjigu jos na prosli bozic! Ajde sada ste me nekako navukli na taj C++ idem sebi skuvam caj, i pocinjem sa radom :) imam Dev-C++ kompajler.
 

Back
Top