CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 1
PRIMERA APLICACION : SALUDO
PARTE I: CREAR LA APLICACIN
1. Abrir Microsoft Visual Studio 2010. 2. Ir al men Archivo (File), Nuevo (New), Proyecto(Project) o simplemente presionar las teclas Ctrl+Mays+N.
3. En el dilogo Nuevo Proyecto: En Tipos de proyecto, elegir Visual C++. En Plantillas, elegir Aplicacin MFC y en Nombre (Name), escribir Saludo, como nombre de la aplicacin. Luego dar clic en el botn Aceptar (OK).
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 2
4. En el Asistente para aplicaciones MFC hacer clic en el botn Siguiente (Next).
5. En Tipos de aplicacin seleccionar Dialog based (Basada en cuadros de dilogo) y dar clic en el botn Siguiente (Next).
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 3 6. En la ventana User Interface Features (Caractersticas de la interfaz de usuario) hacer clic en el botn de Siguiente.
7. En la Ventana Advanced Features (Caractersticas avanzadas), dar clic en el botn Siguiente.
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 4 8. En la ventana Generated Classes (Clases generadas) dar clic en Finish (Finalizar).
PARTE II: DISEO DE LA APLICACION
1. Preparar el siguiente diseo para nuestra aplicacin.
Para ello utilizamos el cuadro de herramientas de Microsoft Visual Studio 20010. Con l, usted puede utilizar los diferentes controles que necesitara para su aplicacin.
Static Text Edit Control Button UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 5 2. Las propiedades de los controles se presentan en la tabla siguiente.
CONTROL PROPIEDAD Static Text Caption: SALUDO Align Text: Center Center Image: True Client Edge: True Edit Control 1 ID: IDC_EDIT_SALUDO Button 1 Caption: SALUDAR ID: IDC_BTN_SALUDAR Button 2 Caption: SALIR ID: IDC_BTN_SALIR
3. Creacin de la variable miembro de la aplicacin.
Para que el control de edicin de texto exhiba un mensaje al hacer clic en el botn SALUDAR, se debe crear una variable miembro.
Seleccionar el IDC_EDIT_SALUDO y hacer clic derecho, luego clic en Add Variable (Agregar variable...)
Id. de control Categora Tipo de Variable Nombre de la variable IDC_EDIT_SALUDO Value CString m_saludo UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 6
Clic en Finish
4. Asociar cada uno de los botones con el evento clic del mouse. Clic derecho en el botn SALUDAR y seleccionar Add Event Handler (Agregar controlador de eventos...)
En el Asistente para controladores de eventos, clic en el botn Add and Edit (Agr./Editar).
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 7 Nota: Repetir este paso para aadir el control de eventos para el botn SALIR.
Con esto estamos listos para aadir cdigo a nuestra aplicacin.
PARTE III: CODIGO PARA LA APLICACION
1. PARA EL BOTON SALUDAR.- Aadir slo el cdigo presentado en negritas
void CSaludoDlg::OnBnClickedBtnSaludar() { // TODO: Agregue aqu su cdigo de controlador de notificacin de control UpdateData(true); m_saludo = "Bienvenido a Microsoft Visual C++ 2010"; UpdateData(false); }
2. PARA EL BOTON SALIR
void CSaludoDlg::OnBnClickedBtnSalir() { // TODO: Agregue aqu su cdigo de controlador de notificacin de control PostQuitMessage(0); // El Codigo 0 indica cerrar con exito la aplicacin }
3. EJECUTAR LA APLICACION Ir al men principal, seleccionar la opcin Generar, luego Generar solucin o presionar la secuencia de teclas Ctrl. + Mayus. + B. Con esto Visual Studio 2010 genera la aplicacin. Si tiene errores debe corregirlos.
Para ejecutar la aplicacin, hacer clic en el icono Start Debugging (Iniciar depuracin)
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 8
Al hacer clic en el botn SALUDAR, se exhibe el mensaje en el control de edicin de texto.
Hacer clic en el botn SALIR para cerrar la aplicacin.
SEGUNDA APLICACION : SALUDO PERSONALIZADO
PARTE I: CREAR LA APLICACION
Revisar la primera aplicacin
PARTE II: DISEO DE LA APLICACION
1. Preparar el siguiente diseo de la aplicacin
Las propiedades de estos controles que se van a cambiar se presentan en la tabla siguiente
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 9 CONTROL PROPIEDAD Static Text Caption: Escriba su nombre Edit Control ID: IDC_EDIT_NOMBRE Button 1 ID: IDC_BTN_SALUDO Caption: Saludo Button 2 ID: IDC_BTN_SALIR Caption: Salir
2. Crear las variables miembros:
3. Asociar el evento del mouse a cada uno de los botones: Clic derecho en el botn Saludo y luego seleccionar Add Event Handler (Agregar controlador de eventos...)
Proceder de modo similar para aadir un evento del mouse para el botn Salir.
PARTE III: CODIGO PARA LA APLICACION
El cdigo para los eventos del mouse es:
2. Botn Saludo void Cprog1Dlg::OnBnClickedButtonSaludo() { // TODO: Add your control notification handler code here UpdateData(true); MessageBox(_T("Hola ")+m_nombre+_T("\nBienvenido a Visual C++")); UpdateData(false); }
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 10 EJECUCIN DE LA APLICACIN
Pulse directamente la tecla F5.
TERCERA APLICACION : PROMEDIO DE NOTAS
PARTE I: CREAR LA APLICACION
Revisar la primera aplicacin
PARTE II: DISEO DE LA APLICACION
1. Preparar el siguiente diseo de la aplicacin
2. Aplique las propiedades correspondientes de caption, id para las cajas de texto y para los botones.
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 11 3. Cree las variables miembros:
PARTE III: CODIGO PARA LA APLICACION
El cdigo para los eventos del mouse es:
Botn Promediar void Cprog2Dlg::OnClickedButtonPromediar() { // TODO: Add your control notification handler code here CString msg; UpdateData(true); m_promedio= (m_nota1 + m_nota2+m_nota3)/3.0; if(m_promedio>=10.0) msg=_T("Aprobado"); else msg=_T("Desaprobado"); UpdateData(false); MessageBox(msg); }
Botn Limpiar
void Cprog2Dlg::OnClickedButtonLimpiar() { // TODO: Add your control notification handler code here UpdateData(true); m_nota1=0; m_nota2=0; m_nota3=0; m_promedio=0; UpdateData(false); }
EJECUCIN DE LA APLICACIN
Pulse directamente la tecla F5.
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 12 PROPUESTOS: Para cada una de los problemas propuestos disee y desarrolle la aplicacin visual correspondiente.
Problema 01: Elabore una aplicacin que convierta una temperatura en grados Celsius (C) a grados Fahrenheit (F) y a grados Kelvin (K). Considere: C / 5 = ( F 32 ) / 9.
Problema 02: Las races reales de una ecuacin de segundo grado 0 2 c bx ax se obtienen utilizando la frmula a ac b b x 2 4 2 , si 0 4 2 ac b
Desarrolle una aplicacin tal que calcule e imprima las races reales de una ecuacin de segundo grado si es que existen, si no existen debe mostrarse el mensaje no existen raices reales!
Problema 03: Desarrolle una aplicacin tal que solicite un entero que tenga entre 1 y 4 cifras y luego imprima el dgito mayor y el dgito menor de dicho nmero.
Problema 04: Desarrolle una aplicacin tal que solicite un nmero entero y luego lo imprime en forma inversa. Por ejemplo si se ingresa el entero 1375, el programa imprime 5731.
Problema 05: Desarrolle una aplicacin que solicite un nmero entero N y luego calcule el resultado de la siguiente serie: N 1 ... 4 1 3 1 2 1 1
Problema 06: La tabla siguiente ilustra la aplicacin del algoritmo ruso del producto.
Primer Factor Segundo Factor Acumulador 25 50 100 200 6 3 1 0 0 50 150 150 Respuesta!
Desarrolle una aplicacin tal que solicite dos nmeros enteros e implemente el algoritmo ruso del producto
Problema 07: Dado el polinomio 8 2 4 7 x x x fx escriba una aplicacin que permita evaluarlo en valores comprendidos en el intervalo B A, con incrementos de 0.1. La aplicacin debe imprimir el valor mnimo y el valor mximo de la funcin fx .
Problema 08: Desarrolle una aplicacin que permita convertir una cantidad dada en soles a dlares, marcos y euros.
Problema 09: Dos mviles P y Q se dirigen uno al encuentro del otro desde los puntos A y B que distan 2000 Kms. Las distancias recorridas son dadas por:
t t P 100 ) ( , t t t Q 2 / 3 ) ( , en donde t es dado en horas. UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Mecnica CURSO: POO - MB545 Semana 10 Visual C++ 2010, aplicaciones basado en Dialogo Elaborado por I ng. J ulio Vsquez Paragulla 13
Utilizando incrementos de minutos (1/60 de hora), desarrolle una aplicacin que calcule e imprima el tiempo en horas y minutos cuando ambos se cruzan. Imprima la posicin, respecto de A, del punto de encuentro.
Problema 10: Se dice que un nmero es capica cuando invertido se lee el mismo nmero, por ejemplo 12721 es capica. Desarrolle una aplicacin que solicite dos enteros a y b ( b a ) y luego imprima y cuente todos los nmeros capica que existen entre a y b .
Referencias 1. Horton Ivor Beginning Visual C++ 2010 Willey Publishing Inc. 2010. USA 1231pp. 2. Deitel & Deitel Visual C++ 2008 How To Program Second Edition. Pearson Education 2008. USA 1497pp.