MODULE 10
---------------------------- --------------------- #include //pour le système () {... #include codes C ++ ...} --------- ---------------------------------------- devrait être remplacé par: ----- -------------------------------------------- #include //utilisation C ++ wrapper pour appeler des fonctions C à partir des programmes de C ... #include using namespace std; ... {Codes C ++ ...} ---------------------------------------- --------- Dans VC ++ /VC ++ .NET l'iostream.h (tête avec .h) ne sera plus valable.
Il devrait être C de la tête, de sorte qu'il se conforme à la norme. En plus âgé compilateur C ++ Borland, ça fonctionne toujours, mais pas bon, pas plus ... et pour la norme C /C ++ de la portabilité devrait poser aucun problème ou mieux vous lire Module23 au https://www.tenouk.com/Module23.html pour obtenir la grande image ... Pour les codes, ils ont encore des codes C C: o) ================================= ======================================== ========== ================================================== ============= //Pour VC ++ /VC ++ .NET, chnage à l'//headers...
change suivante conséquence pour les autres exemples //# include //# include //using namespace std ; #include #include #define THREETIMES (x) (x) * (x) * (x) #define CIRAREA (y) (PI) * (y) * (y) #define REC (z, a) (z) * (a) PI #define 3,14159 int main (void) {float p = 2,5; flotter r = 3,5, s, t, u = 1,5, v = 2,5; cout
cout s = CIRAREA (r + p); t = cout REC (u, v); Cout return 0; } ------------------------------------------------- ------------------------------------ #define Module 10 #define MyVersion 1.
1 #include #include int main ( void) {cout cout cout #ifdef Module 10 cout #else #endif cout #ifndef MyVersion cout #else cout #ifdef MyRevision cout cout #undef MyVersion #ifndef MyVersion cout cout système («pause»); return 0; } ------------------------------------------------- ------------------------------ //programme utilisant le défini par l'utilisateur //fichier d'en-tête, boolean.h #include #include //remarquer ce ... #include "boolean.h" int main (void) {//nouveau type stocké dans boolean.h ... HappyTime booléen; HappyTime = TRUE; //si TRUE = 1, faire ...
si (HappyTime) cout autre cout return 0; } ------------------------------------------------- ---------------------------- //# directive d'erreur ... #include #include #if MyVal! = 2 #error MyVal doit être défini à 2 #endif int main () {system ("pause"); return 0; } //Aucun message de sortie, erreur lors de la compilation de //------------------------------------- --------------------------------------- //# directive d'erreur ...
#include # inclure MyVal #define 2 #if MyVal = 2 #error MyVal doit être défini à 2 #endif int main () {system ("pause!"); return 0; } //Aucune sortie --------------------------------------------- ---------------------------- //# directive d'erreur ... #include #include #if MyChar! = #error 'X' Le caractère MyChar est pas 'X' #endif int main () {system ("pause"); return 0; } //Pas de sortie, avec un message d'erreur lors de la compilation //------------------------------------ ------------------------------------- //# directive pragma ...
#include #include //affiche soit "Vous compilez en utilisant //la version xxx BC ++" (où xxx est le numéro de version) //ou "Ce compilateur est pas Borland C ++", date, heure //console ou pas ... en utilisant plusieurs connexes //macro prédéfinie comme __DATE__ etc #ifdef __BORLANDC__ #pragma un message vous compilez en utilisant Borland C ++ version __BORLANDC__. un message #pragma #else ("Ce compilateur est pas Borland C ++") #endif temps de message #pragma: __TIME__. #pragma Date de votre message: __DATE__. #pragma console de message: __CONSOLE__.
int main () {système («pause»); return 0; } //Aucune sortie --------------------------------------------- --------------------------- //# directive pragma ... #include #include //affiche soit "vous compilez en utilisant //Version xxx BC ++ "(où xxx est le numéro de version) //ou" Ce compilateur est pas Borland C ++ ", date, heure //console ou pas ... en utilisant plusieurs //macro prédéfinie connexes tels que __DATE__ etc #ifdef __BORLANDC__ message #pragma Vous compilez en utilisant Borland C de la version la __BORLANDC__.
message d'#pragma #else ("Ce compilateur est pas Borland C ++") #endif message #pragma ("de temps:" __TIMESTAMP__) message #pragma («date:" __DATE__) message #pragma ("file:" __FILE__) int main ( ) {système («pause»); return 0; } ------------------------------------------------- --------------------- //# directives pragma ...
#include #if _M_IX86! = 500 #pragma message ("non processeur Pentium build") #endif #if _M_IX86 == 600 #pragma message ("mais Pentium II ci-dessus processeur build") #endif message #pragma ("Compilation" __FILE__) #pragma message ("Dernière modification le" __TIMESTAMP__) int main () {return 0; } ------------------------------------------------- -------------------- #include #include #define BONJOUR (x) printf ("Bonjour," #x "\\ n"); #define SHOWFUNC (x) Utilisez ## Func ## x int main (void) {//nouvel identifiant enchaîné, UseFuncOne char * SHOWFUNC (One); //nouvel identifiant enchaîné, UseFuncTwo char * SHOWFUNC (deux); SHOWFUNC (One) = "Nouveau nom, UseFuncOne"; SHOWFUNC (Deux) = "Nouveau nom, UseFuncTwo"; BONJOUR (Birch); printf ("SHOWFUNC (One) ->% s \\ n", SHOWFUNC (One)); printf ("SHOWFUNC (One) ->% s \\ n", SHOWFUNC (Deux)); système («pause»); return 0; } ------------------------------------------------- ----------------- #include #include int main (void) {cout du système ("pause"); return 0; } ------------------------------------------------- ------------------------------------------------- # comprennent #include #include TestString void (char * string); void main () {//première série de test de char, 10 caractères .
.. //devrait être OK pour les conditions d'essai 3 ... test1 char [] = "abcdefghij"; //deuxième pointeur de test pour la chaîne, 9 caractères ... //devrait être OK pour le 3 conditions d'essai ... char * test2 = "123456789"; //troisième test tableau char, vide ... //devrait échouer sur la 3e condition, ne peut pas être vide ...
test3 char [] = ""; printf ("Test de la chaîne n ° 1 \\"% s \\ "\\ n", test1); TestString (test1); printf ("Test de la chaîne n ° 2 \\"% s \\ "\\ n", test2); TestString (test2); printf ("Test de la chaîne n ° 3 \\"% s \\ "\\ n", test3); TestString (test3); } TestString void (char * string) {//définir les conditions d'essai ... //chaîne doit plus de 8 caractères ... assert (strlen (string)> 8); //chaîne ne peut pas être NULL assert (chaîne! = NULL); //chaîne ne peut pas être vide .... //test3 devrait échouer ici et programme avorter ...
assert (string = '\\ 0'!); } ------------------------------------------------- ----------------------------------------------- //affirmer macro et DEBUG, NDEBUG //NDEBUG désactivera assert (). //DEBUG permettra assert (). #define DEBUG #include #include #include int main () {int x, y; //Indique utilisateur si NDEBUG et ne valoir. #if defined (NDEBUG) cout #else cout #endif //user invite certaines données de test ...
cout cin >> x >> y; cout //si x assert (x if (x {cout y, affirmation sera appelé «autre cout return 0;!} ----------------------- --------- gcc ---------------------------------------- ////////testassert.cpp///////////DEBUG permettra assert () #define DEBUG #include #include using namespace std;. int main () {int x, y; //Indique utilisateur si NDEBUG et faire valoir #if defined (NDEBUG) cout #else cout #endif //user invite certaines données de test ... cout cin >> x >>