Informatica-Programacion digital 1

231
1 L E N G U A J E C ING. JORGE. BUTLER B.

description

curso C de la facultad de ingenieria electrica y electronica de la UNI

Transcript of Informatica-Programacion digital 1

  • *L E N G U A J E C

    ING. JORGE. BUTLER B.

  • *INTRODUCCIONNaci en los laboratorios de Bell TelephoneEst inspirado en el lenguaje BCreado para recodificar el UNIXEn 1972 Dennis Ritchie modifica el BEs un lenguaje de propsito generalLenguaje de alto nivelLenguaje estructurado

  • *INTROD......Permite el manejo de datos: bits, bytes y de direccionesEs de fcil transportabilidad Ofrece una enorme librera en ejecucinSe emplea para escribir sistemas operativos, compiladores, manejadores de bases de datos, procesadores de textos, juegos, etc...

  • *OBJETOS DE UN PROGRAMA

    Forman un programa: objetos y separadoresObjetos:Smbolos especiales,identificadores etiquetas, nmeros, constantes, variables,etc....Identificadores.- Representan a constantes, variables, tipos de datos, funciones, etc......Secuencia de caracteres de cualquier tamao comenzando con letra, sin blancos.Diferencia las letras maysculas de las letras minscula

  • *

    LimiteValor1MENSAJEN3Numero-blancoSUMA-totalsuma-TOTALA

    123-varindex $Float$total

  • *OBJETOS .......Constantes.- Mantienen su valor, pueden ser de diferentes tiposVariables.- Cambian de valor mediante sentencias ejecutablesSentencias.- Conforman las instrucciones, funciones o definiciones. Son simples o compuestasCada sentencias simple termina en ;

  • *OBJETOS.....Directiva..- Acta como una orden especial al computador.

    Va precedida por un # e indica una accin especifica a ejecutar.

    En cualquier parte y a plica partir de all.

  • *TIPOS DE DATOSCarcter ( CHAR ).- Ocupa un byte.Entero ( INT ).- Ocupa 2 bytes.Largo ( LONG ).- Ocupa 4 bytesSin signo ( UNSIGNED ).- Para los enterosPunto flotante ( FLOAT ).- Ocupa 4 bytesPuntero.- Se antepone un * a los dos tipos fundamentales. Contiene la direccin de un objeto.

  • *OPERADORES ARITMETICOS+ Suma- Resta* Multiplicacin/ Divisin++ Incremento en una unidad-- Decremento en una unidad= Asigna el valor de la expresin

  • *

    += Suma la primera variable a la segunda.- = Resta a la segunda variable la primera.* = Multiplica la segunda por la primera./ = Divide la primera entre la segunda.% Da el resto de una divisin entera.( ) Para alterar la prioridad de ejecucin de las operaciones.

  • *OPERADORES LOGICOS! Niega el valor de la expresin derecha.= = Da verdad si las expresiones derecha e izquierda son iguales.! = Contrario al anterior.< Verdad si izquierda menor que derecha.> Contrario al anterior.< = Verdad si izquierda es menor o igual

  • *OPERADORES LOG.... Y OTROS> = Verdad si izquierda es mayor o igual.& & Operador AND.|| Operador OR.? Asigna un valor escogido entre dos. Por ejemplo: x=10 y=x>9 ? 100:20, Crear Operaciones de ejecucin secuencial Y= (x=10,x*2,x+9) Y = 29

  • *OPERADORES DE BITS&Operador and.Operador orOperador or exclusivoOperador complemento>>Desplazar un lugar a la derecha
  • *ESTRUCTURA DE UN PROGRAMAUn programa se compone de uno o ms bloques de sentencias llamados funciones.Cada funcin tiene un nombre seguido por parntesis entre los que hay o no, otros datos.FUNCION MAIN( ).- Todo programa debe contener al menos esta funcin.Gobierna la ejecucin del programa.

  • *ESTRUCTURADIRECTIVASmain ( ){ Declaracin de variables:Cuerpo de la funcin principal}main es el nombre de la funcin principal{ } Indica el comienzo y final del cuerpo de la funcin.

  • *En Declaracin de variables, se declaran las variables locales antes de ser usadas.Cuerpo de la funcin es un grupo de instrucciones ejecutables.Directivas, es para incluir otros archivos (# include) y definir constantes y macros ( # define).NOTA: Utilizar el tipo VOID (vaco) en las declaraciones de funciones y definiciones para especificar que la funcin no devuelve valor o no emplea parmetros.

  • *EJEMPLO DE PROGRAMA

    /*Programa de saludo*/ # define M1 Bienvenidos al C# define M2 Estas alegre main( ) { char nombre[30]; clrscr( ); /*funcin limpia pantalla*/ printf(Cul es tu nombre?:); gets(nombre); clrscr( ); printf (\a\z %s\n,nombre,M1,M2); printf(OK?\n); getch( );}

  • *INDICACIONES GENERALESUse /* para comentarios.Cada instruccin termina en punto y coma.Se puede agrupar instrucciones entre llaves.Puede existir sub-bloques de instrucciones:{/*comienzo del bloque*/{/*comienzo del sub-bloque*/ ..... /*fin del sub-bloque*/} //*fin del bloque*/}

  • *CONSTANTES

    Se declaran de dos formas: - # define identificador-dato ( antes del main)- Con la palabra CONST dentro del main Ejemplos:- # define MAX 200- # define car *- # define SUELDO 4578.6- # define lnea \n- const int max=200- const char x=a

  • *CONST........El identificador puede ser con maysculas o minsculas.El dato puede ser de cualquier tipo ya definido.Una const string debe estar entre comillas:ESTO ES UN EJEMPLO DE CADENAUna constante de tipo char debe estar entre apstrofes. a, 9, \n.

  • *VARIABLESEs un identificador que sirve para guardar valores de un tipo de datos en memoria.Se puede declarar e inicializar su valor en la declaracin, en forma opcional.Una variable se declara antes de ser usada. Puede ser local o global, si se declara dentro o fuera del main( ).

  • *EJEMPLO DE VARIABLESint a,b,cfloat altura,base,reachar carlong numero,mximochar texto[80]

  • *ENTRADA DE DATOSScanf: Lee datos desde el teclado:scanf(cadena de formato,lista de direcciones de variables) Cadena de formato :Lista de letras precedidas por % que indica el tipo de dato.d, Dentero decimalo, O entero octagonalienterolentero largo u, U entero sin signo

  • *X, xentero hexadecimale, Epunto flotantef, F realesScadena de caracteresCcarcter%% carcter (no hay conversin)nningunapnmero hexadecimal (punteros)Ejemplos:scanf(%d %f,&ca,&b)scanf(%c %s,car,nom)

  • *ENTRADA.....GETS Lee una cadena de caracteres desde el teclado.gets(cadena) char nombre[15]gets(nombre)Existe el GETCHAR y GETCH: Lee un carcter con o sin eco respectivamente .char carchar carcar=getcharcar=getch

  • *SALIDA (pantalla)PRINTF Escribe con formato una lista de datosprintf(cadena de formato, datos)La cadena de formato puede ser:dentero decimalienterouentero sin signooentero octal

  • * X,xentero hexadecimal.Ffloate, Efloat (notacin cientfica) g, Gfloat c carcter simplescadenanpuntero en un enteroppuntero (direccin de puntero)

  • *puts Escribe una cadena de caracteresputs(cadena)

    cputs Igual al anterior pero para videoputchar Escribe un carcter en pantalla.putschar(car)Donde car es una variable char o constante.putch Igual al anterior pero para vdeo.cprintf Igual a Printf pero para vdeo.

  • *SALIDA CON FORMATOprintf(%m.nf,var) var es tipo float.printf(%md,var)var es tipo intprintf(%-ms,var)var es de tipo cadenadonde:m espacios que ocupa la variablen cantidad de decimales+ por defecto ajusta imp a la derecha- ajusta la impresin a la izquierda.

  • *Ejemplo:# define suel 450.87569void main( ){ char nom[15]; clrscr( ); printf(ingrese nombre:); scanf(%s,nom); printf(\n); printf(Seor,%s su sueldo es = %10.2f\n,nom,suel); getch( );}

  • *OPERADORES DEL C++%Resto de una divisin entera>Desplazamiento de bits a la derecha.*=Asigna el producto/=Asigna el cociente%=Asigna el resto+=Asigna la suma-=Asigna la diferencia.

  • *SENTENCIA DE ASIGNACIONEs la que permite cargar un valor a una variable que ha sido definida anteriormente.identificador = valorint total;int j,precio = 15;total = 125;j = precio * 5;

    float r,s,m; m = r +s;

  • *LIBRERIAS DE INPUT/OUTPUTPara las operaciones de entrada y salida de datos se tienen que utilizar libreras para dichos procesos, las cuales deben incluirse al inicio del programa.#include para el C#include para el C++#include

  • *SENTENCIAS COUT Y CIN La sentencia cin permite leer datos que se cargarn en las variables. Esta sentencia se utiliza en el C++.Ejemplo: #include void main ( ){ int total,r s;cin>>r>>s;total = r + s;}

  • *Utilizar la sentencia cout cuando se desea provocar la salida del contenido de una variable o constante por pantalla en C++.Ejemplo:# include void main ( ){int p,q,r;coutp>>q;r = p * q;cout
  • *EJEMPLOSPrograma que lee un nombre y lo imprime:# include #include void main( ){char nombre[15];clrscr( );coutnombre;cout
  • *Programa que calcula el rea de un circulo:# include # include # define PI 3.141621void main ( void ){float radio, area;cout>radio;area = radio * radio * PI;cout
  • *Programa que lee un nombre y lo imprime al centro de la pantalla:# include #include void main ( ){char nombre[30];cout>nombre;clrscr ( );gotoxy(27,12);cout
  • *SENTENCIAS DE CONTROLEn un programa siempre es necesario alterar el orden de ejecucin de las instrucciones, ya sea en funcin de una condicin o por que se desea repetir un nmero de veces la ejecucin de un grupo de instrucciones. Para atender estros requerimientos se tiene:Sentencias Selectivas: IF, ELSE, SWITCHSentencias Repetitivas: WHILE, DO, FOR

  • *SENTENCIAS SELECTIVASSentencia IF.- Toma una decisin referente a la accin a efectuar en un programa, basandose en el resultado de la evaluacin ( V, F ) de una condicinif (expresin)sentencias;elsesentencias;

  • *Expresin, debe ser debe ser una expresin numrica, relacional o lgica, El resultado que se obtiene de la evaluacin es: verdadero (uno) o falso (cero).Sentencias, representan cualquier instruccin ejecutable.La sentencia ELSE es opcional.If(a>b)p = r * a;elsep = r / a

  • *IF ANIDADOS Las sentencias IF y ELSE pueden estar anidadas, quiere decir que una sentencia IF puede contener otro u otros IF dentro de su dominio. If (expresin)...........If(expresin)sentencias;elsesentencias;

  • *La opcin else siempre se refiere al if mas prximo que no tenga ya asociado un else. if (x= = 1) if (y = = 1) printf (1); else printf(2);else printf (3);if (x = =1){ if (y = = 1) printf(1); }else printf(2);

  • *EJEMPLOSPrograma que calcula el mayor de dos nmeros.# include void main ( ){int a,b,mayor;clrscr ( );couta>>b;if (a>b) mayor=a;else mayor=b;cout
  • *Programa que calcula el menor de 3 nmeros.#include #include void main ( ){float a,b,c,menor;clrscr ( );couta>>b>>c;if (a
  • *elsemenor = c;}else{if (b
  • *SENTENCIA SWITCHEsta sentencia permite ejecutar una de varias acciones en funcin del valor de una expresin.switch (expresin){case constante1:sentencia1;case constante2:sentencia2;........defaultsentencia por defecto;}

  • *Este sentencia busca el valor de la expresin entre todos los valores de las constantes; de encontrarla, ejecuta las sentencias correspondientes hasta encontrar un ruptura (sentencia BREAK).Si no existe un valor igual de constante igual al valor de la expresin, se ejecutan las sentencias a continuacin del DEFAULT.

  • *Ejemplo de un programa que lee un nmero entero entre 1 y 7 e imprime el da de la semana.#include #include void main ( ){int a;clrscr ( );cout a;switch(a)

  • *{case 1: cout
  • *Ejm: Programa que calcula el promedio de edades segn el sexo.

    #include #include #include void main ( ){int sexo,edad,nh=0,nm=0,seh=0,sem=0,nr=1,na=1;float peh,pem;if (na

  • *cin>>sexo>>edad;switch (sexo)

    {case 0:nh = nh + 1;seh = seh + edad; break;case 1:nm = nm +1;sem = sem + edad; break;} na=na+1;}if (nh>0){peh = seh / nh;cout

  • *cout
  • *Ejemplo de sentencias switch anidadas.switch (x){ case 1:switch (y){ case 0: printf(error);break; case 1: procesar(x,y);} break; case 2: procesar1 (x,y);} break;

  • *SENTENCIA REPETITIVA: WHILEPermite ejecutar una sentencia simple o compuesta, cero o ms veces, dependiendo del valor de una expresin, numrica, relacional o lgica.El funcionamiento es el siguiente:Se evala la condicinSi el resultado es cero, la sentencia no se ejecuta, y pasa a ejecutar la siguiente sentencia del programa.

  • *Si es distinto de cero, se ejecuta las sentencias dentro del WHILE y el proceso se repite comenzando en el punto 1.

    Ejm: El siguiente programa imprime nmeros impares entre 1 y 50.#include #include void main ( ){int i;clrscr ( );cout

  • *cout
  • *Ejm: Programa que calcula la suma de nmeros ingresados y termina cuando el nmero es cero.#include #include void main ( ){int num, total=0;coutnum;while (num){total = total + num;

  • *coutnum;}cout
  • *SENTENCIA DO-WHILEEjecuta una sentencia una o ms veces, dependiendo del valor de una expresin. Su formato es:dosentencia;while (expresin)Donde sentencia puede ser simple o compuesta.

  • *Expresin es cualquier expresin numrica, relacional o lgica.El funcionamiento es el siguiente:Se ejecuta la sentencia dentro del DO.Se evala la expresin. Si el resultado es cero la sentencia dentro del DO ya no se ejecutar.Si el resultado es diferente de cero, el proceso se repite comenzando por el punto 1.

  • *Este programa imprime el mensaje ADIVINASTE, si se ingresa un nmero entero entre 1 y 10, pero no acepta ningn otro nmero.#include #includevoid main ( ){int num;do{clrscr ( );coutnum; }

  • *while(n>0 && n
  • *{int num, fact,x;coutnum;fact=1;x=1;do{fact *= x;x++;}while(x
  • *Ejemplo de un programa que adivina un nmero mgico.#include void main (){ int magico = 123; int intento; printf(Adivina el nmero mgico); scanf(%d, &intento); if (intento = = magico){printf (**ADIVINASTE**);

  • *printf (%d es el numero magico, magico);}else{ printf (....... INCORRECTO......); if(intento>magico)printf (demasiado alto);else printf (demasiado bajo);}}OJO: intento>magico? printf(demasiado alto):printf(demasiado bajo);

  • *SENTENCIA FOREste comando generalmente se utiliza para ejecutar sentencias simples o compuestas, repetidamente un nmero de veces conocidofor ([exp1];[exp2];[exp3]) sentencia;- exp1 Se utiliza para inicializar el ndice.- exp2 El valor determina si el lazo se ejecuta o no.- exp3 Incrementa el ndice.

  • *Ejemplo: El siguiente programa hace aparecer en pantalla, de 0.5 en 0.5, todos los valores comprendidos entre 10 y 15 y un contador que indique el ordinal correspondiente de cada nmero.#include #include void main( ){float var=10;int con=0;clrscr; cout
  • *{ cout
  • *int k;clrscr;cout
  • *#include #include void main ( ){float x,y,z;int select=0;while (select!=5){clrscr( );cout
  • *cout
  • *cin>>y;z=x+y;cout
  • *cout
  • *case 4:clrscr( );coutx;couty;z=x/y;cout
  • *}elsebreak;}}Ejemplo de programa de conversin de segundos.#include #include void main ( )

  • *{int nmin,nhor,nseg,min,seg;char ope;do{clrscr ( );coutseg;nhor=seg/3600;min=seg % 3600;nmin=min/60;nseg=min % 60;

  • *cout
  • *SENTENCIAS DE TRANSFERENCIAExisten dos sentencias de transferencia BREAK y CONTINUE.La sentencia BREAK finaliza la ejecucin del while, do, for o switch ms interno que la contenga y se prosigue con el resto del programa.El CONTINUE transfiere la ejecucin a la parte final de la preposicin afectada por el ciclo while, do, for ms interno que la contenga.

  • *Ejemplos:#include void main ( ){int i;clrscr( );for (i=1;i
  • *}cout
  • *Ejermplo de un lazo que se ejecuta mientras no se digite la letra a.for (; ;){ cin>>c; if (c = = a) break;}printf(digit la letra a);

  • *FUNCIONESTodo programa en C, por definicin, consta de una ms funciones. Todos los subprogramas en C son funciones.Todos los programas en C deben llevar una y solo una funcin main, que es la primera funcin que se ejecuta (pero no necesariamente es la primera que aparece en la lista) y que llama a todas las otras funciones directa o indirectamente.

  • *ESTRUCTURA DE UNA FUNCIONEl Turbo C permite dos mtodos para definir funciones:La definicin clsica:tipo nom_f(lista de parmetros)declaratorias de parmetros{ declaracin de variables locales; cuerpo de la funcin}

  • *La definicin actual:tipo nom_f(declaracin de variables);{ declaracin de variables locales; cuerpo de la funcin;}Tipo: Declara el tipo de dato o valor que devuelve la funcin (es opcional), por defecto en int.Nom_f : Es el nombre de la funcin (obligatorio).Lista de parmetros puede ser vaca ( ), contiene una lista de nombre de variables, a travs de las cuales se espera pasar valores a la funcin.

  • *Declaracin de variables locales, se declaran que van a ser locales (validas dentro del cuerpo de la funcin).Cuerpo de la funcin, es el grupo de instrucciones ejecutables, incluye tambin la instruccin RETURN (opcional).#include void main( ){ int inum1=2, inum2=3, iresult; iresult = addt(inum1,inum2);

  • *cout
  • *DECLARACION DEL PROTOTIPO DE LA FUNCIONEs necesario indicarle al compilador la existencia de una funcin que lleva o no parmetros y cual es el tipo de ellos. Tambien es necesario indicarle que tipo de dato regresa al programa principal.Todo esto se especifica en un prototipo int ejem( int, int);

  • * #include //PROTOTIPOSint addt( int, int);void main( ){ int inu1=2, inum2=3, iresult; iresult = addt( inum1, inum2); cout
  • *int addt(int inumero1, int inumero2){int resultado;resultado = inumero1 + inumero2);return resultado;}Llamada de funciones.- Una llamada a una funcin consiste en la escritura del nombre de la funcin seguido de parmetros . Los parmetros pueden contener argumentos. Por ejemplo:clrscr( ) ..... Llama a una funcin sin argumentosgoto(10,5) .Llama a una funcin con argumentos

  • *Otras formas de llamar a una funcin:x=nom_f(a,b,c) Retorna un valor que se asigna a x.cout
  • *Ejemplo de un programa que utiliza la funcin escribir.#include void main( ){ int b=5, r; clrscr( ); r=escribir(b); cout
  • *int escribir(int y){return(y*3);}Ejemplo de un programa que utiliza la funcin rea#include #include float rea(x,y)float(x,y){

  • *float res;res= (x * y)/2;return(res);}void main( ){ float base,altura,r,area(float,float); clrscr( ); coutbase>>altura;r=area(base,altura);cout
  • *Programa que calcula el factorial:#include int fact(int n){ if (n
  • *cin>>n;cout
  • * cout
  • * clrscr( ); sum= suma(r,p); imprime(sum); cout
  • *Ejemplo de un programa que usa variables globales#include // Prototiposint addt( int, int);int multiplicacin( int, int);void squar( int );// Variables globalesint iglobal;void main( ){

  • *int inum1=2, inum2=3, iresult;squar (inum1);iresult = iglobal;cout
  • *{ int resultm; resultm = inumero1 * inumero2; return resultm;}void squar ( int k ){ iglobal = k * k;}

  • *Otro ejemplo de variables globales y locales.#include void func1(void), func2(void);int cuenta; /*variable global*/void main ( ){ cuenta = 100; func1 ( ); return 0; }

  • *void func1 ( ){ int temp; temp = cuenta; func2 ( ); printf(cuenta es %d, cuenta); /* imprime 100*/ }void func2 ( ){ int cuenta; for(cuenta=1;cuenta
  • *Ejemplo de un programa que imprime mensajes desde funciones condicionadas por ?.#include int f1(int), f2( );void main( ){ int t; printf ( : ); scanf(%d, &t); t? f1(t) + f2 ( ) : printf(digito en cero); /*si t=0 ejecuta el print con cualquier otro numero ejecuta las funciones*/

  • *}f1 (int n){ printf(%d, n);return 0; }f2 ( ){ printf (es lo digitado); return 0;}

  • *Ejemplo de una funcin que permite el ingreso por teclado hasta que se digite la letra z.void espera-c ( ){ char c; c = \0; /* inicializa a c*/ while (c != z)c = getch ( );

  • *Recursividad.- Una funcin puede llamarse a si misma.fact (int n){ int resp; if (n
  • *CADENASSe usan para guardar textos.El C++ no tiene un tipo de dato string.Se construyen las cadenas carcter por carcter.#include void main ( ){ char ejem[100]; strcpy(ejem, ABC); cout
  • *En la funcin strcpy especifica la cadena de destino, y en segundo lugar la informacin que se desea cargar.La funcin strcpy carga automticamente un \0 para indicar que es el final de la cadena.La funcin strcmp compara dos cadenasPara usar estas funciones se tiene que incluir la libreria string.h .

  • *Ejemplo de una funcin que copia el contenido de una cadena de atrs hacia delante, en otra cadena.void copia (char *s, char *r){ int i,j; for(i=strlen(s)-1, j=0; i>=0; j++, i--)r[j] = s[i]; r[strlen(s)-1] = \0;}

  • *Ejemplo de una funcin que valida una contraseavoid contenido( ){ char cad[30]; int x; for(x=0;x>cad; if(x= = 3) cerrar( );}Nota: strcmp devuelve 0 si son iguales.El siguiente for elimina los espacios en blanco de una cadena apuntada por cad. for(; *cad= = ;cad++)

  • *Ejemplo de un programa con cadenas.# include# include void main ( ){ char c1[80], c2[80]; cin >>c1; cin >> c2; printf(Longitudes:%d %d \n, strln(c1),strln(c2);if(!strcmp(c1,c2))printf (Las cadenas no son iguales;strcat(c1,c2); printf(%s \n, c1) }

  • *ARREGLOSUn arreglo es una estructura homognea de datos almacenados en forma consecutiva en la memoria.Para definir un arreglo se debe especificar el tipo de datos que contiene.Se debe especificar un nombre que identificara al arreglo.Se deber especificar el nmero de elementos que tendr el arreglo.

  • *Ejemplo de arreglo:int total[8]int j[25]Para hacer referencia a uno de los elementos del arreglo, bastar con poner el nombre, y colocar entre corchetes el nmero del elemento al que se desea hacer referencia.Total[4]=25j[20]=15

  • *Inicializacin de Arreglos.- int i[5] = { 1,2,3,4,5};char cad [5] = hola;char cad [5] = {h,o,l,a,\0};int cua [6][2]={1,1,2,4,3,9,4,16,5,25,6,36}; Es posible hacer que el C calcule automticamente la dimensin de un arreglo. Esto se logra no especificando el tamao del arreglo.char e1 [ ] = error de lectura ;char e2 [ ] = error de escritura;int cua [ ] [2] = {1,1,2,4,3,9};

  • *Ejemplo de un programa que ordena un conjunto de datos de mayor a menor:#include #include void main( ){ int num[10],i,n,j; coutn; for(i=0;i
  • *cin>>num[i];}clrscr( );cout
  • *int aux=num[i];num[i]=num[j];num[j]=aux;}cout
  • *Ejemplo de un programa que crea una matriz bidimencional en forma random o por ingreso de datos, la ordena y obtiene el mayor y el menor elemento.#include #include #include void leer( );void leer2( );

  • *void ver( );void ordenar ( );void buscar ( );int p[20][20];int i,j,m,n;void main( ){int p; char resp; cout
  • * sleep(2); do{ coutn; coutm; cout
  • *cin>>resp;if(resp==m){ leer( ); }if(resp==a){ leer2( ); }cout
  • *cout
  • *for(i=0;i
  • *cout
  • *void ver( ){ for(i=0;i
  • *{for(j=0; j
  • *void buscar ( ){ int max, min; max=min=p[0][0]; for (i=0;i
  • *cout
  • *{ int t [10], i; for (i=0; i
  • *Otras dos formas de la funcin mostrar son:void mostrar ( int num [10]){ int i; for ( i=0; i
  • *Ejemplo de un programa que carga e imprime un arreglo utilizando funciones, enviando como parmetros los arreglos.# include void carga (int x[ ]);void imp ( int x [ ]);void main ( ){ int x[ 3 ]; carga (x); imp (x); }

  • *void carga (int x [ ] ){ int i; for (i=0; i>x [i];}void imp ( int x [ ]){ int i; for (i=0; i
  • *Ejemplo de un programa que usa un arreglo como parmetro en una funcin.# include # include # define imax 10# define ilimite-sup 100void main ( ){ int iarray [imax]={1,2,3,4,5,6,7,8,9,10}; int i, ipeq; int iminimo(int iarray[ ], int imax);

  • *pritf(la lista original es: );for (i=0; i
  • *Array de cadenas.- Para este caso se utiliza un array bidimencional donde el ndice izquierdo determina el nmero de cadenas y el derecho la longitud mxima de las cadenas.Por ejemplo si se desea declarar un array de 30 cadenas, cada una de 79 caracteres:char array-cad[30][80] /*uno mas para el \o */Es simple acceder a una cadena individual, simplemente se debe especificar el ndice izquierdogets (array-cad[2])

  • *Ejemplo de un programa que lee lneas de texto hasta encontrar un blanco. Entonces vuelve a mostrar cada lnea carcter a carcter.# include # define max 100# define long 80char texto [max][long];void main ( ){ register int t, i, j; for(t=0;t
  • *{ printf (%d,t) cin>>texto[t]; if(! *texto[t]) break; /*termina si lnea en blc}/*muestra el texto carcter por carcter */for (i=0; i
  • *PUNTEROSUn puntero es una variable que contiene una direccin de memoria. Normalmente esa direccin es la posicin de otra variable de memoria.Por ejemplo, si una variable en la posicin 1004 est apuntada por otra variable situada en la posicin 1000, esa posicin 1000 contendr el valor 1004.VARIABLE PUNTERO.- Si una variable va a contener un puntero, entonces tiene que declararse

  • *como tal. Una declaracin de puntero consiste en un tipo base, un * y el nombre de la variable. El formato general de una variable puntero es:tipo* nombredonde tipo es cualquier tipo vlido de C y nombre es nombre de la variable puntero.El tipo base del puntero define el tipo de variables a las que puede apuntar el puntero.

  • *OPERADORES DE PUNTEROSExisten dos operadores especiales de punteros & y *. El & es un operador que devuelve la direccin de memoria de su operando. Por ejemplo:m = &cuentapone en m la direccin de memoria de la variable cuenta. La direccin no tiene nada que ver con el valor de la variable cuenta.Suponga que la variable cuenta utiliza la posicin

  • *de memoria 2000 para guardar su valor. Suponga tambin que cuenta tiene el valor 100. Despus de la asignacin anterior m tiene el valor 2000.El segundo operador de punteros, *, es el complemento de &. Es un operador que devuelve el valor de la variable localizada en la direccin que sigue. Por ejemplo, si m contiene la direccin de memoria de la variable cuenta, entonces:q = *mpone el valor de cuenta en q.

  • *#include void main( ){int cuenta, q;int *m;cuenta = 100;m = &cuenta /*recibe la direccin*/q = *m /*se asigna a q el valor de cuenta*/cout
  • *ARITMETICA DE PUNTEROSExisten slo dos operaciones aritmticas que se pueden usar, la suma y la resta.Sea p1 un puntero a un entero con valor actual de 2000 y asumamos que los enteros son de 2 bytes de longitud. Despus de la expresin p1++, p1 contiene 2002 y no 2001. Cada vez que se incremente p1, apunta al siguiente entero. Lo mismo ocurre en el decremento.

  • *void main ( ){ int inum1=2, inum2=3, iresult;int* pnum1;int* pnum2;pnum1 = &inum1;pnum2 = &inum2;iresult = *pnum1 + *pnum2;cout
  • *Ejemplo de un programa que carga un arreglo de caracteres con punteros y luego los convierte a maysculas.# include # include void mostrar-mayusc (char *cadena){ char c [80]; cin>>c; mostrar-mayusc ;}

  • *void mostrar-mayusc (char *cadena){ register int t; for ( t=0; cadena[t]; ++t) { cadena [t] = toupper (cadena[t]);printf(%c, cadena[t]); }}NOTA.- register solo se puede usar con variables locales y permite el acceso mas rpido a la misma

  • *Ejemplo de un programa que lee una cadena y despus lee un carcter . Si el carcter est en la cadena la imprime a partir de la coincidencia.# include # include char *encuentra (char c, char *s);void main ( ){ char s[80], *p, c; cin>>(s); c = getch( );

  • *p = encuentra (c, s);if (p) /* se ha encontrado*/printf (%s, p);else printf ( no se encontr);}char *encuentra(char c, char *s){ register int cont; cont=0; while (c!= s[cont] && s[cont]cont ++; return (& s[cont]); }

  • *Ejemplo de un programa que crea y mantiene una pila.# include # include # define tamano_pila 50void guarda (int i);int saca ( );int *p1, *top, pila[tamano_pila];void main ( ){ int valor;

  • *p1=pila; /*asigna a p1 el comienzo de la pila*/top = p1; /*top contiene el tope de la pila */docoutsacar;cin >>valor;if(valor !=0) guardar(valor);else cout
  • *void guarda (int i){ p1 ++; if (p1 = = (top+tamano_pila)){ cout
  • *{ cout
  • *Punteros y arrays.Char cad [80] , *p1;p1 = cad;p1 a sido asignado a la direccin del primer elemento del arreglo cad. Para acceder al quinto elemento se puede codificar:cad[4] o *(p1+4)Punteros y arrays de caracteres.- int strcmp (char *s1, char *s2){ while (*s1)

  • *if (*s1 - *s2)return (*s1 - *s2);else{s1++;s2++;}return 0;Recuerde que en C todas las cadenas terminan en cero, que es un valor falso, por lo que el while (*s1) es cierto mientras que no se llegue al final de la cadena

  • *ESTRUCTURASEl C/C++ permiten declarar sus propias tipos de datos.//Declaracin de la estructura.#include #include #includestruct mi-estructura{

  • *char snom[100];int edad; };void name( ){mi-estructura m-estruc;strcpy(m-struc.snom, David);m-struc.edad = 12;cout
  • *cout
  • *float costo;int saldo;} info_inv[max];void inicializa_lista(void), listar( ), borrar( );void introduce(void);int menu(void), busca_libre(void);void main( ){ char opcion; inicializa_lista( ); for(; ;) { opcion = menu ( ) switch (opcion) { case 1: introduce ( ); break;

  • *case 2: borrar ( ); break;case 3: listar ( ); break;case 4 : return 0;}}}void inicializa_lista ( ){ int t; sitio = busca_libre ( );

  • */*Prepara el array de estructuras para su uso posterior, poniendo un carcter nulo en el primer byte de cada campo nombre */void inicializa_lista(void){int t; for (t=0; t
  • *int c;cout
  • *} while (c4);return c;}void introduce (void){ int sitio; sitio = busca_libre( );

  • *if(sitio = = -1){ cout
  • */*Devuelve el indice de la primera posicin libre del array, si no lo hay devuelve -1 */int busca_libre ( ){ register int t; for(t=0; info_inv[t].item[0] && t
  • *char s[80];cout
  • *{ if (info_inv[t].nombre[0] {cout
  • *ARCHIVOSEs un concepto lgico que puede ser aplicado desde un archivo hasta un terminal.Se asocia un flujo con un archivo, realizando la apertura del archivo, De esta forma puede fluir la informacin entre ste y el programa.fopen ( ).- Permite abrir un flujo y asociarlo a un archivo. Por ejm si se desea abrir un archivo llamado totales de modo escritura:

  • *fp = fopen(totales, w)donde fp es una variable de tipo FILE y w es el modo.Para poder detectar un error al abrir un archivo se debe codificar de la siguiente manera:if ((fp=fopen(totales,w))= = NULL){ cout
  • *ModoSignificado rAbrir archivo texto para lectura. wCrea archivo texto para escritura. aAbre archivo texto para aadir. rbAbre archivo binario para lectura. wb Crea archivo binario para escritura. ab Abre archivo binario para aadir. r+Abre archivo texto para lectura/escrt. w+Crea archivo texto para lect/esc. a+Abre o crea arch. texto para lect/esc

  • *putc ( ).- Escribe caracteres en un flujo que ha sido abierto para operaciones de escritura.int putc(int c, FILE *pa) donde pa es el puntero al archivo devuelto por el fopen( ) y c es lo que se va ha escribir.getc( ).- Lee caracteres de un flujo abierto en modo lectura.int getc(FILE *pa)Esta funcin devuelve EOF cuando se ha llegado al final del archivo.

  • *Por ejemplo para leer un archivo texto hasta el final se puede utilizar:c = getc (pa );while (c != EOF) c = getc(pa);fclose( ).- Cierra un flujo que fue abierto mediante fopen.int fclose( FILE *pa) si devuelve 0 significa que la operacin se realiz, sino devuelve EOF.

  • *ferror ( ), rewind( ).- La primera determina si se ha producido un error en una operacin sobre el archivo.int ferror (FILE *pa)La segunda inicializa el indicador de posicin al principio del archivo.void rewind (FILE *pa)Ejemplo de un programa que lee caracteres del teclado y los escribe en el archivo hasta que el usuario introduzca un signo dlar.

  • *#include void main (int argc, char *argv[ ] ){ File *fp; char car; if(argc != 2) { cout
  • *do{ car = getchar ( ); putc (car, fp); } while (car != $);fclose (fp);return 0;}

  • *PROGRAMACION ORIENTADA A OBJETOSLa programacin orientada a objetos es una nueva forma de enfocar el trabajo de la programacin.La programacin orientada a objetos toma las mejores ideas de la programacin estructurada y las combina con nuevos y poderosos conceptos que animas o alientan una nueva visin de la programacin.OBJETOS.- Un objeto es simplemente una entidad lgica que contiene datos y un cdigo que manipula estos datos.

  • *Un objeto es una variable de un tipo definido por el usuario.POLIFORMISMO.- Permite usar un nombre para varios propsitos relacionados pero ligeramente diferentes.Permite el uso de un nombre para especificar una clase de accin general.HERENCIA.- Un objeto puede adquirir las propiedades de otro objeto.

  • *INTRODUCIR CLASES EN C++Para crear un objeto en C++, primero se tiene que definir su forma general usando la palabra reservada class. Una clase es sintcticamente similar a una estructura en C.class circulo{public:circulo( );

  • *void setra(void);void getra( void);-circulo( );private:void calcularea(void);int radio;};La palabrea reservada class es una indicacin para el compilador que lo que viene entre llaves pertenece a la declaracin de la clase.No olvide incluir ; al final de la declaracin. Esta declaracin debe contener la declaracin de los datos miembros

  • *por ejemplo int radio, y los prototipos de las funciones miembro de la clase.Toda declaracin de clase debe incluir el prototipo de la funcin constructor y del destructor .El nombre del constructor debe ser el mismo que el de la clase seguido por ( ) y debe estar bajo la palabra reservada public.El nombre del destructor debe ser el mismo que el de la clase precedido por ~.class rectangulo{public:rectangulo( ); (constructor)

    ~rectangulo( ) (destructor)

  • *Una clase puede contener partes privadas y pblicas. Por defecto todos los elementos de una clase son privados. Las palabras public y private le indican al compilador la accesibilidad de las funciones miembro y de los datos miembro.En el ejemplo anterior setra y getra son funciones que pueden ser llamadas por cualquier funcin del programa, en cambio la funcin calcularea solo puede ser utilizada por las funciones miembro de la clase circulo.

  • *EJEMPLO S DE PROGRAMAS CON CLASES #include class circulo{ public:circulo (int r); //CONSTRUCTORvoid setradio(int r);void disparea(void);~circulo( ); //DESTRUCTOR

  • *private:float calcularea(void);int radio;};// FUNCION CONSTRUCTORcirculo: : circulo( int r ){ radio = r; }// FUNCION DESTRUCTORcirculo: : ~circulo( ){ }

  • *//FUNCION DISPAREAvoid circulo: :disparea( void ){ float farea; farea = calcularea ( ); cout
  • *return f;}void main ( ){//CREA UN OBJETO DE LA CLASE //CIRCULO CON RADIO 10circulo micirculo( 10 );//DISPLAYA EL AREA DEL CIRCULOmicirculo.disparea( );}

  • *Cuando llega el momento de codificar una funcin que es miembro de una clase, se debe indicar al compilador a que clase pertenece la funcin. Por ejm, una forma de codificar la funcin meter( ) es;void cola::meter(int i){if (ppio= = 100) {cout
  • *Frecuentemente, a : : se le denomina operador de resolucin de mbito. Esencialmente indica al compilador que esa versin de meter pertenece a la clase cola. En C++ varias clases diferentes pueden utilizar el mismo nombre de funcin. El compilador sabe que funcin pertenece a que clase gracias al operador de resolucin de mbito y al nombre de la clase.Para llamar a una funcin miembro desde una parte del programa que no es parte de la clase, debe usar el nombre del objeto y el operador punto. Por ejm este fragmento llama a la funcin ini para el objeto a:cola a, b;a.ini ( );

  • *Es importante entender que a y b son dos objetos distintos, la nica relacin es que son objetos de un mismo tipoEl programa que se muestra a continuacin presenta todas las partes de la clase cola. # include class cola { private:int c[100];int ppio, fin; public:void ini(void);void meter(int i);int sacar(void); };

  • *void cola: : ini(void) {fin=ppio=0; }void cola: : meter(int i) {if(ppio= =100) { cout
  • *cout
  • *cout
  • *REUTILIZACION DE UNA CLASEUno de los parmetros del Visual C++ es la ruta Include, la cual asigna una ruta hacia el directorio en donde se encuentran varios archivos h. El iostream.h, por ejm reside en este directorio y por lo tanto se puede encerrar el nombre entre < >.Es posible que se tenga un archivo creado por el usuario, como por ejm circulo.h (con extensin h), el cual no se encuentra en la ruta del Include, sino en cualquier otro directorio.

  • *Esto significa que si desea incluir dicho archivo como parte de otro programa puede hacerlo utilizando el Include, pero encerrando el nombre del archivo entre , para que el compilador sepa que debe buscar dicho archivo en el directorio actual del proyecto.Si desea puede realizar la declaracin de una clase en un archivo xxx.h y puede utilizarla en otros programas utilizando include xxx.h.Para crear un archivo de este tipo siga estos pasos:1.- Con un proyecto abierto, seleccione NEW

  • * en el men File.2.- Seleccione C/C++ Header File en la lista de tipos de proyectos.3.- Digite un nombre en el cuadro File Name con extensin h.4.- Haga click en OK.5.- Se desplegara la ventana para digitar la declaracin de la clase y sus funciones miembro.

  • *//circulo.hclass circulo{public:circulo(int r);void setradio(int r);void disparea(void);~circulo( );private:float calarea(void);int radio;};

  • *circulo::circulo(int r){radio=r;}circulo::~circulo ( ){ }void circulo::disparea(void){float area;area=calarea( );cout
  • *Un programa que incluya dicha definicin de clase tendra la siguiente codificacin:#include #include circulo.hvoid main ( ){ //Crea objetos: micirculo,tucirculo,sucirculocirculo micirculo (10);circulo tucirculo (20);circulo sucirculo (30);// Muestra el rea de los crculos

  • *micirculo.disparea ( );cout
  • *PARAMETROS PREDETERMINADOSUna de las caractersticas del C++ es el de poder utilizar parmetros predeterminados en el prototipo de las funciones.Int totales(a=10,b=20,c=30,d=40)Desde el main se puede ejecutar esta funcin de las siguientes maneras:main( ){ .......... .........

  • *int resultado;resultado = totales;tambin podra ser de la siguiente manera:main( ){....... .......int resultado;resultado = totales(50, 80);En el primer caso asume los valores asignados en el prototipo, y en el segundo los completar con los dos ltimos.

  • *JERARQUIA DE CLASESEl C++ le permite crear una nueva clase a partir de una clase original.A la clase original se le llama clase base y a la que se crea se le llama clase derivada.La clase derivada hereda los datos y funciones miembro de su clase baseCuando se crea una clase derivada se puede adicionar otras funciones y datos miembro.

  • *#include class rectangulo{public: rectangulo(int b, int h); //Constructor void disparea(void ); ~rectangulo( );//Destructor int base; int altura;};//Declaracin de la clase derivada nrectanguloclass nrectangulo : public rectangulo

  • *{public: nrectangulo(int b, int h) void setbase (int b); void setaltura(int h); ~nrectangulo( );};rectangulo::rectangulo(int b, int h){base = b;altura = h; }rectangulo::~rectangulo( ){}

  • *void rectangulo::disparea(void){int area;area = base * altura;cout
  • *void nrectangulo::setaltura(int h){altura = h;}void main ( ){nrectangulo mirectangulo (10,20);mirectangulo.disparea( );mirectangulo.setbase(100);mirectangulo.setaltura(20);mirectangulo.disparea( );}

  • *La jerarqua de clases puede ser tan compleja como se desee.class nnrectangulo: public nrectanguloLa declaracin anterior permite construir la clase derivada nnrectangulo de la clase base nrectangulo, que es a su vez una clase derivada de la clase base rectangulo.Cuando se crean clases derivadas se debe tener en cuenta, al momento de su uso, que funciones o variables miembro de una clase pueden ser ejecutadas con un objeto de otra clase.

  • *Ejmabcdefg

  • *USO DE APUNTADORES A OBJETOSEn muchos casos es necesario utilizar apuntadores a objetos. Utilizando como base el programa anterior, vea como cambia la funcin main.void main( ){ nrectangulo mirectangulo (10,20); nrectangulo* pmirectangulo = &mirectangulo; pmirectangulo->setbase (100);

  • *pmirectangulo->setaltura (20);pmirectangulo->disparea ( );}Nota: El nombre de la funcin miembro est separado del apuntador al objeto con el carcter ->.En la instruccin: nrectangulo* pmirectangulo = &mirectangulola direccin del objeto mirectangulo es asignada al puntero pmirectangulo.

  • *CREACION DE PROYECTOS MFCIngrese al Visual C++.Seleccione la opcin New del men File.Seleccione la opcin Projets.Seleccione la opcin MFC AppWizard(exe).Asigne un nombre en Project name y a la opcin Localizacin y luego haga click en OK.El Visual responde con el primero de los cuatro pasos con que cuenta el MFC para asignar caractersticas del programa a crear.

  • *En el primer cuadro se debe especificar el lenguaje que desea utilizar para los recursos del programa.Haga click en:- Single document: para un solo documento.- Multiple document: cuando es mas de uno.- Dialog based: para pantalla de dialogo.En el segundo paso se asignan otras caractersticas y el nombre a dicha pantalla.En el paso 3 se debe responder a las preguntas, que si desea generar un archivo de comentarios y si desea utilizar una librera DLL (Dinamic link library) y no una esttica.

  • *El paso 4 muestra que clases y archivos crear el AppWizard. Haga click en el botn Finish para que se creen los archivos estructurales y de proyecto.Mostrar un cuadro resumen de todas las especificaciones , presione OK.Seleccione Set Active Configuration del men Build y escoja la opcin ....Win32 Debug para que se genere el Exe del proyecto con lneas de cdigo de depuracin, luego hacer click en OK.Para continuar con la especificacin del proyecto se tiene que hacer el diseo visual y la codificacin del cdigo.

  • *DISEO VISUALSeleccione la opcin Workspace del men View.Estando en la pantalla Developer Studio haga click en el botn Resource View (inferior izquierda).Haga click en el signo + de Resources que aparece acompaado con el nombre que le asigno al proyecto (izquierda de la pantalla). Mostrar los elementos que contiene.Haga click en el + del elemento Dialog.

  • *Hacer doble click en IDD-nombre del proyecto-Dialog.Al lado derecho de la pantalla mostrar dos botones: OK y Cancel, lo mismo que TODO: Pleace dialog controls here.En el caso de que necesite ver la pantalla a full screean, busque esta opcin en el men View. Para retornar al estado normal Esc.Borre el contenido de dicha pantalla haciendo click en cada elemento y luego supresin.Utilice la barra de herramientas Controls para colocar los controles que necesita definir.

  • *De no existir la herramienta Controls, haga clik en la opcin Customize del men Tools, seleccione Toolbars y luego marque la opcin Controls.Para colocar cada control que desee en su pantalla solo busquela en la herramienta Controls, hagale click y luego haga click en el lugar de su pantalla en donde desee ubicarla. Por ejemplo escoja Buttom para definir un botn ok, escape, saludo, etc.Para cambiar el texto que contiene dicho botn, haga click con el botn derecho del mousse sobre dicho botn y seleccione la opcin Properties

  • *La pantalla que muestra contiene una opocin Caption, haga click en ella y cambie su contenido por el que desee. Por ejm. EXIT, Saludo, etc.Para poder asignarle una identificacin a un botn que permita identificarlo posteriormente, utilice el recuadro ID de la opcin Caption.Si desea adicionar los botones para maximizar o minimizar su pantalla, seleccione la opcin Styles de Properties y marque las opciones Minimeze box y Maximize box.

  • *

    Para guardar su trabajo utilice la opcin Save All.Para ejecutar su trabajo utilice Build.

  • *CODIFICACION DEL CODIGO PARA EL DISEO VISUALSelecione la opcin Class Wisard del men View con lo que se mostrar la ventana MFC Class Wizard, el cual es un asistente que permite agregarle cdigo a los diferentes controles que se han definido en el diseo visual.Selecione la opcin Message Maps.Tenga presente que Class Name debe identificar la clase asociada con el cuadro de dilogo definido.

  • *Selecione del cuadro Object Ids, el nombre del objeto al que se le va asignar el cdigo.El cuadro Messages muestra los eventos que estn asociados a dicho objeto.Selecione del cuadro Messages el evento al que desea asignarle una funcin.Haga click en Add Funtion, se desplegara la ventana Add Menber Fuction sugiriendole un nombre, si desea aceptelo o cambielo.Haga click en el botn Edit Code con lo que se abrir un archivo que contiene la funcin.

  • *Adicione en dicha funcin la o las sentencias necesarias para que dicho evento cumpla con lo que se desea.Si desea que se produsca un texto como salida utilice MessageBox y entre parentesis y comillas el texto que desea que muestre. Ejm:void caja::onsaludobuttom( ){MessageBox (Este es un ejemplo);

    }

  • *Si ha creado en su diseo visual, un botn para poder salir de esa pantalla debe incluir como instruccin en la funcin que el sistema crea para dicho botn: OnOK( );Si desea asignar codigo a otros botones que ha definido, simplemente seleccione Class Wizard del men View y siga los pasos indicados anteriormente.

  • *APERTURA DE UN PROYECTO YA EXISTENTEIngrezar al C++.Seleccione Open Workspace del men File.Utilizar el cuadro de dialogo del Open para seleccionar el archivo que contiene el proyecto.Haga click en el botn Resource View.Una forma alternativa de abrir un proyecto en el que se est trabajando recientemente es selecionando Recent Workspace(File) y seleccionar el que desee.

  • *CONTROLES EDIT Y CHECKEl control Edit permite incluir un txto esttico en una pantalla (Static text).Tambien es posible incluir una caja de edicin (Edit Box), el cual es un lugar donde el usuario tiene que digitar algo, como por ejemplo el password o el usuario.En el caso de que desee, es posible definir las caractersticas de la letra que se utilizar en la pantalla, para eso haga lo siguiente:

  • *-Click con el botn derecho en cualquier parte libre de la pantalla y seleccione Properties.- Seleccione la opcin General, luego haga click en Font, y luego escoja las caractersticas deseadas.Para definir una caja que se puede marcar con un check o una x, debe utilizar el objeto Check box.Si desea que la accin de un botn se active presionando una letra de su nombre, se debe colocar el signo & delante de la letra correspondiente en el momento en que defini la Caution en Properties.&EXIT T&EST

  • *

    Utilizar la opcin Extended Styles de la opcin Properties, para variar la apariencia visual de un botn haciendo click en Client edge, Static edge y Modal frame.

  • *ADICION DE VARIABLES A CONTROLES EDIT Y CHECKEstas variables se utilizan para la lectura y escritura de datos desde y hacia los controles.Seleccione Class Wizard del men ViewSeleccione Member Variables.Seleccione de Conntrol Ids, el objeto con el que va ha trabajarHaga click en el botn Add Variable

  • *Coloque como Member variable name, un nombre al botn el cual termine en Edit o Check para identificar el tipo.m_TestEditm _AbrirCheckComplete la informacin especificando la categora y el tipo de variable, y haga click en ok.Cuando la caja sea de Edit, el tipo ser cstring y en el caso de que sea una de chequeo ser tipo Bool.

  • *INICIALIZACION DE CONTROLESEn algunos casos es necesario que algunos controles estn inicializados, es decir que muestren en la pantalla un check o una x, para lograrlo efecte lo siguiente:Seleccione Class Wizard del men View.Seleccione Message Maps.Seleccione en Objects Ids el objeto con el que va ha trabajar.

  • *Escoja de Messages la opcin WM_INITDIALOG.Haga click en el botn Edit Code.Agregue en la funcin la inicializacin a verdadero (TRUE), o falso (FALSE) de las cajas de chequeo (Check box) que ha definido en su pantalla.m_visibleCheck = true;Para transferir dichos valores de las variables y se representen en la pantalla debe incluir la instruccin UpdateData(FALSE).Si se desea transferir las condiciones de la pantalla a las variables: UpdateData(TRUE).

  • *De esta forma se pueden cargar valores a los diferentes objetos de una pantalla. Por ejm. Si ha definido si ha definido un Edit Box y se quiere que en ella aparezca un texto a presionar un botn (Push Buttom) , se debe seguir los 7 pasos anteriores para el (Push Buttom) y agregar en la funcin:m_verEdit = Este es un ejemplo;donde m_verEdit es el Member variable name de un control Edit Box.Si se tiene una caja de edicin (Edit Box) y se desea controlar que est activa o desactiva con un botn

  • *(Push Buttom), siga los pasos anteriores para dicho botn y en la funcin debe codificar lo siguiente:UpdataDate(TRUE);if (m_vcheck = = TRUE)Get

    **************************************************************