MODUULI 10
---------------------------- --------------------- #include //järjestelmän () #include ... {C ++ koodit ...} --------- ---------------------------------------- olisi muutettava: ----- -------------------------------------------- #include //käyttö C ++ kääre soittaa C funktioiden C ++ ohjelmia ... # include using namespace std; ... {C ++ koodit ...} ---------------------------------------- --------- VC ++ /VC ++ Net iostream.h (otsikon kanssa .h) ei kelpaa enää. Sen pitäisi olla C ++: otsikko niin, että se noudattaa standardia.
Vanhemmilla Borland C ++ compiler tämä toimii edelleen, mutta ei oikea enää ... ja vakio C /C ++ siirrettävyyttä ei pitäisi olla ongelma tai parempi luet Module23 klo https://www.tenouk.com/Module23.html saada iso kuva ... For C-koodit, he silti C koodit: o) ================================= ======================================== ========== ================================================== ============= //VC ++ /VC ++ Net, chnage seuraaviin //headers...
change vastaavasti muita esimerkkejä //# ovat //# ovat //using namespace std ; include include #define THREETIMES (x) (x) * (x) * (x) #define CIRAREA (y) (PI) * (y) * (y) #define REC (z) (z) * () #define PI 3,14159 int main (void) {float p = 2,5; float r = 3.5, s, t, u = 1.5, v = 2,5; cout
cout s = CIRAREA (r + s); cout t = REC (u, v); cout palata 0; } ------------------------------------------------- ------------------------------------ #define Module10 #define MyVersion 1,1 #include #include int main ( void) {cout cout cout ifdef Module10 cout #else cout #endif #ifndef MyVersion cout #else cout ifdef MyRevision cout cout #undef MyVersion #ifndef MyVersion cout cout järjestelmä ("tauko"); palata 0; } ------------------------------------------------- ------------------------------ //ohjelman avulla käyttäjän määrittelemän //header-tiedosto, boolean.
h # include # include //huomaa ... # include "boolean.h" int main (void) {//uudentyyppinen tallennettu boolean.h ... boolean HappyTime; HappyTime = true; //Jos TOSI = 1, do ... jos (HappyTime) cout muu cout palata 0; } ------------------------------------------------- ---------------------------- //# virheen direktiivin ... # include # include #if MyVAL! = 2 #error MyVAL must määritellään 2 # endif int main () {järjestelmä ("PAUSE"); palata 0; } //Ei ääntä, virheilmoitus aikana //kokoelma ------------------------------------- --------------------------------------- //# virheen direktiivin ...
# include # ovat #define MyVAL 2 #if MyVAL! = 2 #error MyVAL on määriteltävä 2 # endif int main () {järjestelmä ("PAUSE"); palata 0; } //Ei lähtö --------------------------------------------- ---------------------------- //# virheen direktiivin ... # include # include #if MyChar! = X #error MyChar merkki ei ole "X" # endif int main () {järjestelmä ("PAUSE"); palata 0; } //Ei ääntä, virheilmoituksen aikana //kokoelma ------------------------------------ ------------------------------------- //# Pragma direktiivi ...
# include # include //näyttää joko "Olet kokoamiseen käyttäen //versio XXX BC ++" (jossa xxx on numero) //tai "Tämä kääntäjä ei Borland C ++", päivämäärä, kellonaika //konsoli tai ei ... käyttämällä useita toisiinsa liittyviä //ennalta makro kuten __DATE__ jne ifdef __BORLANDC__ #pragma viesti Et kootaan käyttäen Borland C ++ versio __BORLANDC__. #else #pragma viesti ("Tämä kääntäjä ei Borland C ++") # endif #pragma viesti aika: __TIME__. # pragma viesti päivämäärä: __DATE__. # pragma viesti Console: __CONSOLE__.
int main () {järjestelmä ("PAUSE"); palata 0; } //Ei lähtö --------------------------------------------- --------------------------- //# Pragma direktiivi ... # include # include //näyttää joko "Olet kokoamiseen käyttäen //versio XXX BC ++ "(jossa xxx on numero) //tai" Tämä kääntäjä ei Borland C ++ ", päivämäärä, kellonaika //konsoli tai ei ... käyttämällä useita liittyviä //ennalta makro kuten __DATE__ jne ifdef __BORLANDC__ #pragma viesti Et kootaan käyttäen Borland C ++ versio __BORLANDC__.
#else #pragma viesti ("Tämä kääntäjä ei Borland C ++") # endif #pragma viesti ("aika" __TIMESTAMP__) #pragma viesti ("date:" __DATE__) #pragma viesti ("file:" __FILE__) int main ( ) {järjestelmä ("PAUSE"); palata 0; } ------------------------------------------------- --------------------- //# Pragma direktiivit ...
# include #if _M_IX86! = 500 #pragma viesti ("Non Pentium-suoritin rakentaa") # endif #if _M_IX86 == 600 # pragma viesti ("mutta Pentium II edellä prosessori rakentaa") # endif #pragma viesti ("kääntäminen" __FILE__) #pragma viesti ("Viimeksi muutettu" __TIMESTAMP__) int main () {return 0; } ------------------------------------------------- -------------------- #include #include #define HELLO (x) printf ("Hei," #x "\\ n"); #define SHOWFUNC (x) Käytä ## Func ## x int main (void) {//uusi ketjutettua tunniste, UseFuncOne char * SHOWFUNC (One); //Uusi ketjutettu tunniste, UseFuncTwo char * SHOWFUNC (kaksi); SHOWFUNC (One) = "Uusi nimi, UseFuncOne"; SHOWFUNC (kaksi) = "Uusi nimi, UseFuncTwo"; HELLO (Birch); printf ("SHOWFUNC (One) ->% s \\ n", SHOWFUNC (One)); printf ("SHOWFUNC (One) ->% s \\ n", SHOWFUNC (kaksi)); järjestelmä ("PAUSE"); palata 0; } ------------------------------------------------- ----------------- #include #include int main (void) {cout järjestelmä ("PAUSE"); palata 0; } ------------------------------------------------- ------------------------------------------------- # sisältää #include #include mitätön TestString (char * merkkijono); void main () {//ensimmäinen testi joukko char, 10 merkkiä .
.. //pitäisi olla OK 3 testiolosuhteissa ... char test1 [] = "ABCDEFGHIJ"; //Toisen testin osoitin merkkijono, 9 merkkiä ... //pitäisi olla OK 3 testiolosuhteissa ... char * test2 = "123456789"; //Kolmas testi array char, tyhjä ... //epäonnistuu 3. kunnossa, ei voi olla tyhjä ... char test3 [] = ""; printf ("testaaminen merkkijono # 1 \\"% s \\ "\\ n", test1); TestString (test1); printf ("testaaminen merkkijono # 2 \\"% s \\ "\\ n", test2); TestString (test2); printf ("testaaminen merkkijono # 3 \\"% s \\ "\\ n", test3); TestString (test3); } Void TestString (char * merkkijono) {//asettaa koeolosuhteissa .
.. //merkkijonon on yli 8 merkkiä ... puolustaa (strlen (merkkijono)> 8); //Merkkijono voi olla tyhjä väittävät (merkkijono! = NULL); //Merkkijono voi olla tyhjä .... //test3 epäonnistuu täällä ja ohjelma keskeyttää ... väittävät (string! = '\\ 0'); } ------------------------------------------------- ----------------------------------------------- //assert makro ja debug, NDEBUG //NDEBUG poistaa käytöstä assert (). //Debug mahdollistaa assert (). #define Debug #include #include #include int main () {int x, y; //Kerro käyttäjälle, jos NDEBUG määritellään eivätkä puolustaa.
#if määritelty (NDEBUG) cout #else cout # endif //nopea käyttäjän joitakin testituloksia ... cout cin >> x >> y; cout //jos x väittävät (x jos (x {cout y, väite on vedota! "muuten Cout return 0;} ----------------------- --------- gcc ---------------------------------------- ////////testassert.cpp///////////Debug avulla assert (). #define DEBUG # include # include using namespace std; int main () {int x, y; //Kerro käyttäjälle, jos NDEBUG määritellään ja tehdä väittävät. #if määritelty (NDEBUG) cout #else cout # endif //nopea käyttäjän joitakin testituloksia ...
cout cin >> x >>