Kezdőlap › Fórumok › Programozás › C++ kérdések
- This topic has 119 hozzászólás, 19 résztvevő, and was last updated 18 years, 8 months telt el by
tovis.
-
SzerzőBejegyzés
-
2006-09-23-13:00 #2023778
” tudom magamrol hogy szoktam roviditeni”
Az a baj, hogy más meg nem tudja… mármint, hogy mit mivel rövidítesz.
Na ezért:
„Ne haragudj, ma nagyon nem vagyok képben. „
(Csak túl finom volt. :)))))„es ott nem talalkoztam ehezz hasonlo hibauzenettel, void az miert nem teccik a main-nak ?? mi igy tanultuk egyetemen…”
Az „ISO/IEC 14882:1998” szabvány (ISO C++) szerint kötelező az int visszatérés… és a gcc (g++) követi ezt a szabványt, ahogy a borland C++ is.Az ISO/IEC 9899:1999″ szabvány (ISO C), viszont megengedi… és a gcc, vagy a borland C is.
„hogy miert nem jo a void, mikor az tudomasom szerint azt jelenti h barmi lehet tehat nincs tipus deklaralva nem”
A visszatárási érték az (E)AX regiszter értéke. (Ill. egyes esetekben egy másik regiszter is szerepet játszik, de ne bonyolítsuk.)
Pl. a 0 (int) visszatérési érték ezt jelenti:Code:…
mov eax, [barmi]
…
xor eax,eax
retTehát visszatéréskor az eax értéke meghatározott, kiolvasható.
void esetén:Code:…
mov eax, [barmi]
…
retTehát visszatéréskor az eax értékét, ugyan ki lehet olvasni, viszont meghatározhatatlan… bármi lehet. Na ezért abszolut nem mindegy, hogy mi a visszatérése a main-nek.
(Persze az, hogy egy normál függvénynek mi, az mindegy, hiszen annak a visszetérési értéke – a main-nel ellentétben – a fordító „kezében” marad.)„es a main-nak ez a lenyege mert return-olhat mast is nem”
Tehát nem.2006-09-23-13:14 #2023779Ez elég komolyan ki lett vesézve :cool1:
2006-09-23-14:44 #2023780kosz a felvilagositast vizsla…sokat tanultam a mai nap…amugy lenne egy kerdesem…windows alatt van oan h conio.h ami tartalmazza tobbekkozt a getch(), getche() parancsokat, ezeknek megfelelot linux alatt hol talalok? szoval meikek azok ? getchar() -t probaltam de nekem oan kene ameik beolvassa a karaktert es megjegyzi h mi volt az…pl. x=getche(); nem akarok tobbet irni h kevesebbet hibat kapjatok benne… 😛
2006-09-23-14:53 #2023781„windows alatt van oan h conio.h”
Nem windows alatt, hanem bc alatt… ennek szabványos c megfelelője nincs.
Persze attól függ, hogy mit akarsz megvalósítani, meg milyen környezetben (x (qt, gtk…), konzol), lehet így úgy (jobban/rosszabban) helyettesíteni.2006-09-23-15:19 #2023782azt akarom megvalositani hogy, inkabb leirom c-ben:
cout<<"Folytatni akarod a programot ? (y,n)";
x=getche();
if (x==’y’) …
if (x==’n’) break;lehet h van benne kis hiba, de szerintem kilehet venni hogy vegulis mit akarok…remelem 🙂
2006-09-23-15:46 #2023783Tehát konzolon?
Code:#include
#includeint getche ( void ) {
int i;
char ch;
struct termios old, new;tcgetattr ( 0, &old );
memcpy ( &new, &old, sizeof ( struct termios ) );
new.c_lflag = ~( ICANON | ECHO );
tcsetattr ( 0, TCSANOW, &new );
i = read ( 0, &ch, 1 );
tcsetattr ( 0, TCSANOW, &old );if ( i == 1 ) {
printf( „%c”, ch ); // enélkül int getch ()
return ch;
} else {
return -1;
}
}Majd átírod c++-ra, ha akarod.
2006-09-23-19:36 #2023784A cin.get() nem felel meg a célnak?
2006-09-24-05:25 #2023785„A cin.get() nem felel meg a célnak?”
Itt szerintem megfelelne, ahogy a scanf is, de mondjuk egy ciklusban, már lehet, hogy kellemetlen az entert nyomogatni…2006-09-24-08:16 #2023786Néhány apró tanács…
A Linux/UNIX nem vindóz – ez az okosság azt jelenti, hogy nagyon más a szemlélete a programozásnak. Sok általad megszokott eszköz nincs, vagy nehézkes (szokatlan), viszont cserébe egy sor olyan eszközöd van ami a vindózban nehézkes, nyakatekert és megbízhatatlan (pl. hálózat kezelés).
A konzollal pedig az a gond, hogy a konzol itt valóban konzol – akár helyi, akár a föld tulsó feléröl dolgozol az ugyan úgy működik – ez nem mutitasking hanem multiuser/multiprocess környezet, amit a vindózba csak „belecsaltak”.2009-12-04-19:57 #1880212Hi!
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz