MÓDULO 10
---------------------------- --------------------- #include //para el sistema () # include ... {códigos C ++ ...} --------- ---------------------------------------- debe ser cambiado a: ----- -------------------------------------------- #include //uso de C ++ envoltorio para llamar a funciones de C de los programas en C ++ ... #include using namespace std; ... {Códigos C ++ ...} ---------------------------------------- --------- En VC ++ /VC ++ .Net la iostream.h (encabezado con .h) ya no es válida. Debe ser cabecera de C ++, de manera que cumpla con el estándar.
En mayor compilador Borland C ++ esto todavía funciona, pero no adecuado más ... y por estándar de C /C ++ de la portabilidad debe ser ningún problema o mejor que leer Module23 en https://www.tenouk.com/Module23.html llegar el panorama ... Para los códigos C, todavía códigos C: o) ================================= ======================================== ========== ================================================== ============= //Para VC ++ /VC ++ .Net, chnage a la siguiente //headers...
change consecuencia para otros ejemplos //#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; flotar r = 3,5, s, t, u = 1,5, v = 2,5; cout
cout s = CIRAREA (r + p); cout t = REC (u, v); cout return 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 sistema ("pausa"); return 0; } ------------------------------------------------- ------------------------------ //Programa utilizando el //archivo de encabezado definido por el usuario, boolean.h #include #include //cuenta de esto ... #include "boolean.h" int main (void) {//nuevo tipo almacenada en boolean.h ... HappyTime boolean; HappyTime = TRUE; //si es TRUE = 1, hacer ...
si (HappyTime) cout demás cout volver 0; } ------------------------------------------------- ---------------------------- //# Directiva errores ... #include #include #if myVal! = 2 #error myVal debe definir a 2 #endif int () {sistema principal ("pause"); return 0; } //No hay ningún mensaje de salida, error durante la compilación //------------------------------------- --------------------------------------- //# Directiva errores ...
#include # incluir myVal #define 2 #if myVal = 2 #error myVal debe definirse a 2 #endif int () {sistema principal ("pause"); return 0; } //Ninguna salida --------------------------------------------- ---------------------------- //# Directiva errores ... #include #include #if MyChar! = #error 'X' El carácter MyChar no es 'X' #endif int main () {del sistema ("pause"); return 0; } //No hay salida, con el mensaje de error durante la compilación //------------------------------------ ------------------------------------- //# directiva pragma ...
#include #include //pantallas ya sea "Usted está compilando utilizando //versión xxx del BC ++" (donde xxx es el número de versión) //o "Este compilador no es Borland C ++", fecha, hora //consola o no ... mediante el uso de varios relacionados //macro predefinida como __DATE__ etc #ifdef __BORLANDC__ pragma mensaje está compilando utilizando Borland C ++ versión __BORLANDC__. mensaje pragma #else ("Este compilador no es Borland C ++") #endif momento mensaje # pragma: __TIME__. #pragma fecha mensaje: __DATE__. #pragma Consola mensaje: __CONSOLE__.
int main () {del sistema ("pausa"); return 0; } //Ninguna salida --------------------------------------------- --------------------------- //# directiva pragma ... #include #include //muestra bien "está compilando utilizando //versión xxx del BC ++ "(donde xxx es el número de versión) //o" Este compilador no es Borland C ++ ", fecha, hora //consola o no ... mediante el uso de varios //macro predefinida relacionados tales como __DATE__ etc #ifdef __BORLANDC__ mensaje pragma Usted está compilando utilizando Borland C ++ versión __BORLANDC__.
mensaje pragma #else ("Este compilador no es Borland C ++") #endif mensaje pragma ("el tiempo:" __TIMESTAMP__) mensaje pragma ("fecha:" __DATE__) mensaje pragma ("file:" __FILE__) int main ( ) {del sistema ("pausa"); return 0; } ------------------------------------------------- --------------------- //directivas # pragma ...
#include #if _M_IX86! = 500 mensajes pragma ("procesador Pentium para no construir") #endif #if _M_IX86 mensaje == 600 pragma ("pero Pentium II anterior acumulación procesador") #endif mensaje pragma ("Compilación" __FILE__) mensaje pragma ("última modificación" __TIMESTAMP__) int main () {return 0; } ------------------------------------------------- -------------------- #include #include #define HOLA (x) printf ("Hola", #x "\\ n"); #define SHOWFUNC (x) Utilizar ## Func ## x int main (void) {//nuevo identificador concatenados, UseFuncOne char * SHOWFUNC (uno); //nuevo identificador concatenados, UseFuncTwo char * SHOWFUNC (dos); SHOWFUNC (Uno) = "Nuevo nombre, UseFuncOne"; SHOWFUNC (Dos) = "Nuevo nombre, UseFuncTwo"; HOLA (Abedul); printf ("SHOWFUNC (Uno) ->% s \\ n", SHOWFUNC (Uno)); printf ("SHOWFUNC (Uno) ->% s \\ n", SHOWFUNC (dos)); del sistema ("pausa"); return 0; } ------------------------------------------------- ----------------- #include #include int main (void) {cout sistema ("pause"); return 0; } ------------------------------------------------- ------------------------------------------------- # incluyen #include #include void TestString (char * cadena); void main () {//primera matriz de ensayo de char, 10 caracteres .
.. //debería estar bien para las 3 condiciones de prueba ... test1 char [] = "abcdefghij"; //segundo puntero prueba para cuerda, 9 caracteres ... //debería estar bien para el 3 condiciones de prueba ... char * test2 = "123 456 789"; //tercera prueba de matriz de caracteres, vacío ... //debe fallar en la tercera condición, no puede estar vacío ...
test3 char [] = ""; printf ("Prueba de la cadena # 1 \\"% s \\ "\\ n", test1); TestString (prueba1); printf ("Prueba de la cadena # 2 \\"% s \\ "\\ n", test2); TestString (test2); printf ("Prueba de la cadena # 3 \\"% s \\ "\\ n", test3); TestString (test3); } Void TestString (char * cadena) {//establece las condiciones de la prueba ... //cadena debe más de 8 caracteres ... afirmar (strlen (cadena)> 8); //cadena no puede ser afirman NULL (cadena = NULL!); //cadena no puede estar vacío .... //test3 falla aquí y programa de abortar ...
assert (cadena = '\\ 0'!); } ------------------------------------------------- ----------------------------------------------- //afirmar macro y DEBUG, NDEBUG //NDEBUG desactivará assert (). //DEBUG permitirá assert (). #define DEBUG #include #include #include int main () {int x, y; //Dile usuario si NDEBUG se define y no valer. #if defined (NDEBUG) cout #else cout #endif //preguntar al usuario alguna prueba data ...
cout cin >> x >> y; cout //si x assert (x si (x {cout y, afirmación se invocará "else cout return 0;!} ----------------------- --------- gcc ---------------------------------------- ////////testassert.cpp///////////DEBUG permitirá assert () #include #include #define DEBUG using namespace std;. int main () {int x, y; //Dile usuario si se define NDEBUG y hacer valer #if defined (NDEBUG) cout #else cout #endif //preguntar al usuario alguna prueba data ... cout cin >> x >>