martes, 27 de septiembre de 2011

Ejercicios Windows Forms en Visual Basic

Ejercicios Visual Basic Windows Forms (Practicas de Size y Location)

Se proponen vários ejercicios para practicar el uso de las propiedades Size (Left y Top) y Location (X, Y) en aplicaciones Windows Forms realizadas mediante Visual Basic 2010.

Enlace presentación enunciados ejercicios
https://docs.google.com/present/edit?id=0AaWlzM8W-gAEZGY0ZHM1cWNfMTIzMmdramRoc2Zq&hl=en_US

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


TOP, LEFT, WIDTH, HEIGHT

Para posicionar cualquier control es preciso modificar los valores de las siguientes variables.

Posición:
TOP -> Distancia desde la parte superior del control a la parte superior del formulario.
LEFT -> Distancia desde la parte izquierda del control a la parte izquierda del formulario.

Tamaño:
WIDTH -> Ancho del control.
HEIGHT -> Alto del control.



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ejercicio 1

Cambiar tamaño de control

Realizar una aplicación que mediante dos botones permita cambiar el tamaño de un control.

Se utilizará un control Label o TextBox al que se la incrementará o reducirá el tamaño mediante la pulsación de dos botones.

Modificacion A: Aplicar las propiedades Minimunsize y Maximunsize para asignar un valor mínimo y máximo respectivamente al tamaño del control.

Modificacion B: Simular la aplicación de las propiedades Minimunsize y Maximunsize para asignar un valor mínimo y máximo respectivamente al tamaño del control, mediante código, evaluando el valor de la propiedad Width mediante una sentencia IF.








- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 2

Cambiar posición de control

Realizar una aplicación que mediante dos botones permita cambiar la posición de un control.

Ejercicio similar al anterior en el que se utilizará un control Label o TextBox al que se la incrementará o reducirá el valor de la propiedad LEFT mediante la pulsación de dos botones, consiguiendo de esta manera moverlo a derecha e izquierda sobre el formulario.







- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 3


Cambiar posición y tamaño de control

Realizar una aplicación que mediante dos botones permita cambiar la posición y el tamaño de un control.



Ejercicio similar al anterior en el que se utilizará un control Label o TextBox al que, en este caso, se le incrementará o reducirá el valor de las propiedades LEFT y WIDTH mediante la pulsación de dos botones, consiguiendo de esta manera moverlo a derecha e izquierda sobre el formulario, y cambiar su tamaño.

Deberá comenzar siendo pequeño, comenzar a crecer hasta su tamaño final, para luego desplazarse hasta el otro borde del formulario y una vez alcanzado el extremo, reducir nuevamente su tamaño. Se realizarán las operaciones en orden inverso para el recorrido de derecha a izquierda.













- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 4

Orden de tabulación y uso de Label, Textbox y Button

Realizar una aplicación que mediante permita  calcular el total de iva de un articulo, indicando el Precio Neto y el Importe de Iva.

Debe permitir acceder a cada cuadro de texto mediante combinaciones de teclas.

El resultado debe poder copiarse pero no modificarse.






- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 5

Orden de tabulación y uso de Label, Textbox y Button


Realizar una aplicación que mediante permita  calcular el total de iva de un articulo, indicando el Precio Neto y el Importe de Iva, o el porcentaje de IVA, según el valor del checkbox.

Debe permitir acceder a cada cuadro de texto mediante combinaciones de teclas.

El resultado debe poder copiarse pero no modificarse.









- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 6



Uso de Label, Textbox, Checkbox y Button

Realizar una minicalculadora que permita la selección entre las cuatro operaciones básicas mediante el uso de controles Checkbox.

Al seleccionar un checkbox, se deberán desmarcar los demás, así como modificarse el símbolo de la operación a realizar.






- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 7

Uso de Label, gestión de evento click y sentencias If Else

Realizar el juego del tres en raya, para dos jugadores.

Al pulsar en un control Label se cambiará el texto del mismo, poniento X o O según le toque el turno al jugador 1 o al jugador 2.


El siguiente vídeo muestra como se juega al 3 en raya.






- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 8


Uso de Label, TextBox, RadioButton, gestión de evento click y sentencias If Else

Realizar una aplicación que se pueda utilizar en un entorno táctil, para seleccionar entre diversos platos del menú, y que nos indique el importe total.




El funcionamiento deseado se muestra en el siguiente vídeo:




- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 9



Uso de TextBox, Button, gestión de evento click y menús.

Crear una aplicación equivalente a la calculadora de Windows, en su variante estándar, tal cual se ve en la foto.

Deberá implementarse el menú Ayuda con dos opciones, Ayuda y Acerca de, que muestren un nuevo formulario.




- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 10


Uso de diálogos y contenedores.

Crear una aplicación equivalente a la mostrada, en un contenedor de tipo pestaña, incluirá en la primera pestaña un cuadro de texto en el que poder escribir, y en la segunda pestaña, opciones de configuración para la selección de los colores de fondo y texto del cuadro de texto.








En el siguiente vídeo se puede comprobar el funcionamiento deseado:






- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Ejercicio 11


Uso de menús y control box.

Crear una aplicación equivalente a la mostrada, que muestre un menú con un cuadro desplegable que permita modificar el tamaño de la fuente de un cuadro de texto, debe permitir aplicar tamaños que no estén disponibles en el listado.


NOTA:
Para cambiar el tamaño de la fuente será preciso utilizar la siguiente instrucción

TextBox1.Font = New Font(TextBox1.Font.FontFamily, CSng(ToolStripComboBox1.Text))





En el siguiente vídeo se puede comprobar el funcionamiento deseado:



miércoles, 21 de septiembre de 2011

Ejercicios de tablas y operadores Visual Basic

Ejercicios de tablas y operadores Visual Basic

A continuación se proponen vários ejercicios para la práctica del uso de arrays (tablas) en Visal Basic.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ejercicio 1:

Redimensionar tablas en Visual Basic

Solicitar un número indefinido de datos enteros por teclado, mostrar el número de datos almacenados y la media de los datos almacenados.

Nota:
Al no conocer de antemano el tamaño de la tabla, será preciso utilizar la orden ReDim para modificar el tamaño de la tabla para poder guardar todos los datos.

Para poder calcular la media, será preciso conocer el número de valores almacenados en la tabla, para lo que se podrá utilizar la función Ubound (), que devuelve el índice superior de la tabla.

Ejemplo:
Introduzca datos enteros por pantalla, para finalizar escriba fin:
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2

Has introducido 24 datos y la media es 1,5


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ejercicio 2:

Media de notas de alumnos de un examen

Solicitar la cantidad de alumnos por teclado, crear una tabla en la que almacenar las notas de un examen.

Solicitar las notas.

Mostrar por pantalla la mejor y la peor nota, así como la media.

Nota:
Será preciso utilizar la instrucción New para crear la tabla en tiempo de ejecución, a partir del dato indicado por el usuario.

Ejemplo:
Indique el número de alumnos: 6
Introduzca las notas: 5 4 6 9 2 3.2
La mejor nota es 9, la peor nota es 2 y la media es 4.866

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ejercicio 3:

Media de notas de alumnos de una clase

1 - Solicitar la cantidad de alumnos por teclado, crear una tabla en la que almacenar el nombre del alumno y las notas de los tres trimestres de una asignatura.
2 - Solicitar los datos.
3 - Mostrar por pantalla las notas finales de los alumnos, indicando nombre del alumno, nota final y si ha aprobado o no.

Nota:
Será preciso utilizar la instrucción New para crear una o varias tablas en las que almacenar los datos.

Ejemplo:
Indique el número de alumnos: 6
Indique el nombre del alumno: Vicente Arosa
Introduzca la nota del primer trimestre de Vicente Arosa: 8
Introduzca la nota del primer trimestre de Vicente Arosa: 3
Introduzca la nota del primer trimestre de Vicente Arosa: 5
Indique el nombre del alumno: ...

Salida a pantalla:
El alumno Vicente Arosa ha sacado una nota media de 5,33 y está APROBADO

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ejercicio 4:

Separar parte entera y parte decimal

1 - Solicitar dos valores por teclado.
2 - Separar la parte entera de la decimal utilizando la división entera.
3 - Mostrar por pantalla el valor original , la parte entera, la parte decimal y el resto de la división entera.


Ejemplo:

MOSTRAR "Introduce el dividendo"
9
MOSTRAR "Introduce el divisor"
2
MOSTRAR "El resultado de la división es 4.5"
MOSTRAR "La parte entera es 4"
MOSTRAR "La parte decimal es 0.5"
MOSTRAR "El resto de la división entera es 1"

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ejercicio 5:

Solicitar un número de NIF y comprobar la sintaxis

1 - Solicitar un número de NIF por teclado.
2 - Comprobar que se ha introducido correctamente según es siguiente ejemplo, incluyendo puntos y guiones, y con la letra en mayúsculas.
12.345.678-A
3 - Mostrar por pantalla el valor leído o un mensaje solicitándolo de nuevo si la sintaxis no se ha escrito correctamente.

Ejemplo:
Introduzca un número de NIF (incluyendo los puntos y el guión)
44123456-A
El dato introducido es incorrecto vuelva a introducirlo:
44.123.456-a
El dato introducido es incorrecto vuelva a introducirlo:44.123.456-A
El dato introducido es 44.123.456-A



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ejercicio 6:


Función tangente

Crear una función que reciba como parámetro un double correspondiente al angulo en grados, y que devuelva el valor de la tangente.

Dentro de la función se calculará el valor de la tangente mediante el uso de las funciones Math.Sin() y Math.Cos()

El resultado se debe mostrar con solo dos decimales.

Enlace MSDN información Math.sin

Nota: El angulo que se le pasa a la función Sin() debe estar en radianes.
La tangente de un ángulo se calcula dividiendo el seno entre el coseno.

Ejemplo:
Introduzca el valor del ángulo en grados y se mostrará la tangente:
30
La tangente de 30º es 0,57

martes, 20 de septiembre de 2011

Ejercicios en pseudocódigo para Visual Basic

Ejercicios en pseudocódigo para Visual Basic

Nuevamente realizaremos los ejercicios para los cuales habíamos creado el pseudocódigo, y que posteriormente habíamos realizado en C/C++.

Enlace a la presentación con los pseudocódigos
https://docs.google.com/present/edit?id=0AaWlzM8W-gAEZGY0ZHM1cWNfMTUwZ2ZydGNmYzc&hl=en_US

Se trata de los ejercicios típicos preparados para comprender el uso de bucles y estructuras de control, entre ellos se encuentran:
Mayor y menor.
Introducir un número por teclado y mostrar el siguiente
Positivo, negativo
Positivo, negativo, nulo
Valores iguales o diferentes
Introducir un valor numérico y mostrarlo en texto
Introducir el número de mes e indicar cuantos días tiene
Listar números de cero al indicado por teclado
Sumatorio
Listar los números de tres en tres
Listar impares desde un número solicitado hasta el 1
Factorial
Dado un año mostrar si es bisiesto
Números romanos
Nota numérica a texto
Calcular el área de un triángulo
Calcular el área y el perímetro de una circunferencia
Transformar velocidad en km/h a m/seg
Dado un número indicar si es primo




lunes, 19 de septiembre de 2011

Ejercicios Consola Visual Basic

Ejercicios Visual Basic

Presentación cos enunciados de Ejercicios Consola Visual Basic
https://docs.google.com/present/edit?id=0AaWlzM8W-gAEZGY0ZHM1cWNfMTIyN2RuaGo3ZmZw&hl=en_US

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ejercicio 1:

Meses en texto

Realizar una aplicación en modo consola que según el valor de una variable entera, muestre por pantalla el Nombre del mes correspondiente.

Nota:
Usar la instrucción Choose

Para mostrar por pantalla un texto, se usará.

Console.WriteLine(nombre_variable)

Para que se quede en pantalla y no se cierre la aplicación de consola, incluir como última instrucción:
Console.ReadKey()

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ejercicio 2:

Listar números desde 0 hasta 100

Realizar una aplicación en modo consola que muestre por pantalla los números del 0 al 100 ambos inclusive.

Nota:
Usar la instrucción While

Para mostrar por pantalla un texto, se usará.

Console.WriteLine(nombre_variable)

Para que se quede en pantalla y no se cierre la aplicación de consola, incluir como última instrucción:
Console.ReadKey()


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ejercicio 3:

Listar números desde el valor de una variable hasta 100

Realizar una aplicación en modo consola que muestre por pantalla los números del valor almacenado en una variable al 100 ambos inclusive.

Siempre se debe mostrar al menos el valor inicial de la variable.

Nota:
Usar la instrucción Do While

Para mostrar por pantalla un texto, se usará.

Console.WriteLine(nombre_variable)

Para que se quede en pantalla y no se cierre la aplicación de consola, incluir como última instrucción:
Console.ReadKey()



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ejercicio 4:

Listar números pares del 100 al 0

Realizar una aplicación en modo consola que muestre por pantalla los números pares del 100 al 0, ambos inclusive.

Nota:
Usar la instrucción For

Para mostrar por pantalla un texto, se usará.

Console.WriteLine(nombre_variable)

Para que se quede en pantalla y no se cierre la aplicación de consola, incluir como última instrucción:
Console.ReadKey()



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ejercicio 5:

Listar números que integran una tabla de enteros

Realizar una aplicación en modo consola que muestre por pantalla todos los números enteros que conforman una tabla de enteros.

Nota:
Usar la instrucción For Each

Para declarar la tabla usar:
Dim tabla (4) As Integer
tabla = {8, 4, 5, 7, 6}

Para mostrar por pantalla un texto, se usará.

Console.WriteLine(nombre_variable)

Para que se quede en pantalla y no se cierre la aplicación de consola, incluir como última instrucción:
Console.ReadKey()

viernes, 16 de septiembre de 2011

Conversor Temperaturas

Conversor de temperaturas realizado en Visual C++.
Permite la conversión entre grados Centígrados, Farenheit y Kelvin.
También permite la selección de idioma.

Se muestra el uso de bucles, RadioButton, GroupBox, Botones, Múltiples Formularios, Messagebox, etc.














- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Código Fuente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


private: System::Void abriToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	mensaxe();	 
}

private: System::Void salirToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	this->Close(); 		 
}

private: System::Void acercaDeToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	Formulario2().ShowDialog();
}

private: System::Void bt_convertir_Click(System::Object^  sender, System::EventArgs^  e) {
	double valor_origen, valor_destino;

	//Se usa TryParse para comprobar si es posible convertir el valor
	//En caso de que no sea posible se muestra un mensaje de advertencia
	if (!double::TryParse (this->txt_c->Text, valor_origen)) MessageBox::Show("El dato introducido no es numérico.");
	//En caso contrario se realiza la conversión
	else
	{	//se convierte el valor origen de string a double
		valor_origen = Convert::ToDouble (this->txt_c->Text);
				
		//para convertir de °C a °F es... °F= 32+(°C x 1.8) 
		if (this->rb_cf->Checked) valor_destino = 32.0 + (valor_origen - 32) * 1.8);
		else if (this->rb_fc->Checked) valor_destino = ((valor_origen / 1.8);
		else if (this->rb_ck->Checked) valor_destino =  valor_origen + 273.15;
		else valor_destino =  valor_origen - 273.15;
				 
		//se convierte el valor destino de double a string
		this->txt_f->Text = Convert::ToString (valor_destino);
	}


	if ((valor_origen <= 100) && (valor_origen >= 0))
	{//se modifica el valor para que simule un termómetro entre 0 y 100
		this->label4->Top = 52 + (200 - (valor_origen *2) );
		this->label4->Height = valor_origen *2;
	}
	else
	{
	//si el valor de temperatura esta fuera del rango 0-100 no se muestra como para cero
		this->label4->Top = 252;
		this->label4->Height = 0;
	}
}

private: System::Void ayudaToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e) {
	mensaxe();	 
}

private: System::Void nuevoToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	mensaxe();	 
}

private: System::Void guardarToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	mensaxe();	 
}

private: System::Void englishToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	//Desmarcar os outros idiomas e marcar o actual
	castellanoToolStripMenuItem->Checked = false;
	gToolStripMenuItem->Checked = false;
	françaisToolStripMenuItem->Checked = false;
	englishToolStripMenuItem->Checked = true;
			 
	//Traducir os menus a ingles
	archivoToolStripMenuItem->Text = "File";
	ayudaToolStripMenuItem->Text = "Help";
	idiomasToolStripMenuItem->Text = "Languages";
	nuevoToolStripMenuItem->Text = "New";
	abriToolStripMenuItem->Text = "Open";
	guardarToolStripMenuItem->Text = "Save";
	salirToolStripMenuItem->Text = "Quit";
	ayudaToolStripMenuItem1->Text = "Help";
	acercaDeToolStripMenuItem->Text = "About";
	bt_convertir->Text = "Convert";
}

private: System::Void castellanoToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	//Desmarcar os outros idiomas e marcar o actual
	castellanoToolStripMenuItem->Checked = true;
	gToolStripMenuItem->Checked = false;
	françaisToolStripMenuItem->Checked = false;
	englishToolStripMenuItem->Checked = false;
			 
	//Traducir menus a castellano
	archivoToolStripMenuItem->Text = "Archivo";
	ayudaToolStripMenuItem->Text = "Ayuda";
	idiomasToolStripMenuItem->Text = "Idiomas";
	nuevoToolStripMenuItem->Text = "Nuevo";
	abriToolStripMenuItem->Text = "Abrir";
	guardarToolStripMenuItem->Text = "Salvar";
	salirToolStripMenuItem->Text = "Salir";
	ayudaToolStripMenuItem1->Text = "Ayuda";
	acercaDeToolStripMenuItem->Text = "Acerca de";
	bt_convertir->Text = "Convertir";
}

private: System::Void françaisToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	//Desmarcar os outros idiomas e marcar o actual
	castellanoToolStripMenuItem->Checked = false;
	gToolStripMenuItem->Checked = false;
	françaisToolStripMenuItem->Checked = true;
	englishToolStripMenuItem->Checked = false;
			 
	//Traducir menus a castellano
	archivoToolStripMenuItem->Text = "Fichier";
	ayudaToolStripMenuItem->Text = "Aide";
	idiomasToolStripMenuItem->Text = "Langues";
	nuevoToolStripMenuItem->Text = "Nouveau";
	abriToolStripMenuItem->Text = "Ouvrir";
	guardarToolStripMenuItem->Text = "Sauver";
	salirToolStripMenuItem->Text = "Sortir";
	ayudaToolStripMenuItem1->Text = "Aide";
	acercaDeToolStripMenuItem->Text = "Apropos";
	bt_convertir->Text = "Convert";
}

private: System::Void gToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {		 
	//Desmarcar os outros idiomas e marcar o actual
	castellanoToolStripMenuItem->Checked = false;
	gToolStripMenuItem->Checked = true;
	françaisToolStripMenuItem->Checked = false;
	englishToolStripMenuItem->Checked = false;
			 
	//Traducir menus a galego
	archivoToolStripMenuItem->Text = "Arquivo";
	ayudaToolStripMenuItem->Text = "Axuda";
	idiomasToolStripMenuItem->Text = "Linguas";
	nuevoToolStripMenuItem->Text = "Novo";
	abriToolStripMenuItem->Text = "Abrir";
	guardarToolStripMenuItem->Text = "Salvar";
	salirToolStripMenuItem->Text = "Sair";
	ayudaToolStripMenuItem1->Text = "Axuda";
	acercaDeToolStripMenuItem->Text = "Acerca de";
	bt_convertir->Text = "Converter";
}

private: Void mensaxe()
{
	if (castellanoToolStripMenuItem->Checked) MessageBox::Show("Opción no disponible en esta versión del programa\nActualicese a la versión PRO.", "Ayuda");
	else if (gToolStripMenuItem->Checked) MessageBox::Show("Opción non dispoñible nesta versión do programa\nActualicese á versión PRO.", "Axuda");
	else if (françaisToolStripMenuItem->Checked) MessageBox::Show("Cette opcion n'est pas avaliable a cette version du logiciel\nS'il vous plaît telecharlle la nouvelle versión PRO.", "Aide");
	else MessageBox::Show("This opción is not available in this version of the software\nPlease upgrade to PRO version.", "Help");
}

jueves, 15 de septiembre de 2011

Selección de personal

Ejercicio de Selección de personal


Esta compañía precisa de una administrativa.
A las candidatas se les realizan unas preguntas:
-       ¿Está soltera, casada u otro?
-       ¿Cantidad de hijos que tiene? Si no tiene indicar 0
-       ¿Posee algún título técnico S/N?
-       ¿Cuantos años tiene?
Serán preseleccionadas las que cumplan los siguientes requisitos:
Mujeres solteras que estén en posesión de un título técnico, sin  hijos y menores de 25 años.
Mujeres casadas con edad superior a 40 años y con hijos.

Tras introducir los datos indicar a la aspirante si está preseleccionada o no.









- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Código Fuente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
{	//Declaranse as variables nas que se gardarán idade e número de fillos
	int idade, nfillos;

	//Asignase nas variables os datos convertidos dos textbox correspondentes a idade e número de fillos
	idade = Convert::ToInt32(this->txt_idade->Text);
	nfillos = Convert::ToInt32(this->txt_nfillos->Text);

	//Evalúase a primeira condición de aceptación
	if ((this->rb_solteira->Checked==true)&&(idade<25)&&(nfillos==0)&&(this->checkBox1->Checked==true)) this->et_resultado->Text="ACEPTADA";
	else
	{	//Evalúase a segunda condición de aceptación
		if ((this->rb_casada->Checked==true)&&(idade>40)&&(nfillos>0)) this->et_resultado->Text="ACEPTADA";
		//Nos demáis casos indicase que está rechazada
		else this->et_resultado->Text="RECHAZADA";
	}
}

Asignar color a un componente en Visual C++

Para asignar un color a un componente en Visual C++ es preciso crear una variable de tipo Color, e inicializarla mediante la función Color::FromArgb (A, R, G, B).

Los parámetros de esta función son:
A = valor entre 0 y 255 del canal Alfa (transparencia)
R = valor entre 0 y 255 del tono del color Rojo (Red)
G = valor entre 0 y 255 del tono del color Verde (Green)
B = valor entre 0 y 255 del tono del color Azul (Blue)

Fuente imagen: Wikipedia


Enlace a MSDN sobre la función Color::FromArgb (A, R, G, B):
http://msdn.microsoft.com/es-es/library/at1k42eh.aspx

Enlace a Wikipedia sobre colores RGB:
http://es.wikipedia.org/wiki/Modelo_de_color_RGB


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Código Fuente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
	Color variable_color;
	variable_color = Color::FromArgb (255,0,0,255);
	this->textBox1->BackColor = variable_color;	
}

Ejercicio Fin Modulo Visual C++

Ejercicio Fin Modulo Visual C++

Realizar una aplicación como la que se muestra en el vídeo adjunto.

En la pestaña lenguajes es suficiente con dos lenguajes.






miércoles, 14 de septiembre de 2011

Números romanos en Visual C++

Aplicación que permite transformar un número entre 1 y 2000 en formato arábigo en formato romano, realizado en Visual C++.

Se utiliza un control Texbox para mostrar el número en formato romano, para facilitar la operación de copiar el resultado y reutilizarlo en cualquier lugar, sin tener que reescribirlo.





- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Código Fuente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

	int dato_teclado=1234, unidades=0, decenas=0, centenas=0, millares=0;

	dato_teclado = Convert::ToInt32(this->textBox1->Text);

    millares=dato_teclado / 1000;
    dato_teclado = dato_teclado % 1000;
    centenas=dato_teclado / 100;
    dato_teclado = dato_teclado % 100;
    decenas=dato_teclado / 10;
    unidades = dato_teclado % 10;

	this->textBox2->Text = "";

    switch (millares)
    {
        case 1:
            this->textBox2->Text += "M";
            break;
        case 2:
            this->textBox2->Text += "MM";
            break;
        default:
            break;
    }

    switch (centenas)
    {
        case 1:
            this->textBox2->Text += "C";
            break;
        case 2:
            this->textBox2->Text += "CC";
            break;
        case 3:
            this->textBox2->Text += "CCC";
            break;
        case 4:
            this->textBox2->Text += "CD";
            break;
        case 5:
            this->textBox2->Text += "D";
            break;
        case 6:
            this->textBox2->Text += "DC";
            break;
        case 7:
            this->textBox2->Text += "DCC";
            break;
        case 8:
            this->textBox2->Text += "DCCC";
            break;
        case 9:
            this->textBox2->Text += "CM";
            break;
        default:
            break;
    }

    switch (decenas)
    {
        case 1:
            this->textBox2->Text += "X";
            break;
        case 2:
            this->textBox2->Text += "XX";
            break;
        case 3:
            this->textBox2->Text += "XXX";
            break;
        case 4:
            this->textBox2->Text += "XL";
            break;
        case 5:
            this->textBox2->Text += "L";
            break;
        case 6:
            this->textBox2->Text += "LX";
            break;
        case 7:
            this->textBox2->Text += "LXX";
            break;
        case 8:
            this->textBox2->Text += "LXX";
            break;
        case 9:
            this->textBox2->Text += "XC";
            break;
        default:
            break;
    }

    switch (unidades)
    {
        case 1:
            this->textBox2->Text +="I";
            break;
        case 2:
            this->textBox2->Text +="II";
            break;
        case 3:
            this->textBox2->Text +="III";
            break;
        case 4:
            this->textBox2->Text +="IV";
            break;
        case 5:
            this->textBox2->Text +="V";
            break;
        case 6:
            this->textBox2->Text +="VI";
            break;
        case 7:
            this->textBox2->Text +="VII";
            break;
        case 8:
            this->textBox2->Text +="VIII";
            break;
        case 9:
            this->textBox2->Text +="IX";
            break;
        default:
            break;
    }
}
Related Posts Plugin for WordPress, Blogger...