Universidad Nacional de Trujillo Ingeniería de Sistemas

Algoritmos y Estructuras de Datos Arreglos con Clases y Formularios en C++

ARREGLOS CON CLASES Y FORMULARIOS EN C++
1. Programa para ingresar N notas en un arreglo y reportar la nota más alta. 1.1. Crear un nuevo proyecto. 1.2. En Tipos de Proyecto, seleccionar Visual C++  CLR 1.3. En Plantillas, seleccionar Aplicación de Windows Forms

1.4. Se observa la siguiente ventana.

En el extremo izquierdo se muestra la ventana del Explorador de soluciones, en el extremo derecho se muestran las ventanas del Cuadro de herramientas y Propiedades, y en la parte central se encuentra el formulario (Vista de Diseño) En la ventana Cuadro de herramientas, se encuentran los objetos que se van a colocar sobre el formulario, para lo cual se selecciona un objeto (se hace clic sobre él) y luego se coloca en el Ing. Zoraida Yanet Vidal Melgarejo, Mg. -1-

Objeto label1 textBox1 label2 button1 label2 textBox2 button2 listBox1 button3 Propiedad Text Name Text Name MaxLength Text Name Text Name Text Name Text Name MaxLength Text Name Name Enabled Text Name Text Name ReadOnly TextAlign Text Name Text Name Valor Cantidad de notas a ingresar: lblElementos <en blanco> txtElementos 2 Nota: lblNota &Aceptar btnAceptar Nota: lblNota <en blanco> txtNota 2 &Ingresar btnIngresar lstLista False Nota &más alta btnAlta <en blanco> txtAlta True Center &Nuevo txtNuevo &Salir txtSalir textBox3 button4 button5 Ing.6. establecer las siguientes propiedades. En el formulario colocar los siguientes objetos. 1. Para cada uno de los objetos.Universidad Nacional de Trujillo Ingeniería de Sistemas Algoritmos y Estructuras de Datos Arreglos con Clases y Formularios en C++ formulario. TextBox Label Button ListBox TextBox Button 1. -2- . En la ventana de Propiedades podemos asignar o modificar las características de los objetos que se encuentran sobre el formulario. Mg. Zoraida Yanet Vidal Melgarejo.5.

Digitar el nombre de la clase. Mg. Ing. Zoraida Yanet Vidal Melgarejo.8. seleccionar Agregar  Clase.7. Seleccionar C++  Clase de C++ y luego clic en el botón Agregar 1. Clic derecho sobre el nombre del proyecto. Seleccionar Inline.9. Clic en el botón Finalizar. -3- . 1. en este caso Notas.Universidad Nacional de Trujillo Ingeniería de Sistemas Algoritmos y Estructuras de Datos Arreglos con Clases y Formularios en C++ 1.

"Error". "Error". int n. Mg. const int TAM = 20. return false. } } bool agregar(int dato) { int h = pos. MessageBoxButtons::OK. } bool cantidadNotas(int tam) { if(tam>0 && tam<=TAM) { return true. -4- . int pos. n=t. Algoritmos y Estructuras de Datos Arreglos con Clases y Formularios en C++ 1. MessageBoxIcon::Error). if(pos<n) { if(dato>=0 && dato<=20) { listaNotas[pos++]=dato. Notas(int t) { pos=0. Se observa el siguiente código autogenerado. } else { MessageBox::Show("El valor ingresado no es valido". Zoraida Yanet Vidal Melgarejo.10. Completar el código según se muestra a continuación: #pragma once using namespace System::Windows::Forms. using namespace System. Ing.11. MessageBoxButtons::OK. listaNotas = new int[t]. } else { MessageBox::Show("El valor ingresado no es valido". MessageBoxIcon::Error).Universidad Nacional de Trujillo Ingeniería de Sistemas 1. ref class Notas { public: int *listaNotas.

i++) if(listaNotas[i] > alta) alta = listaNotas[i]. "Arreglo lleno". Mg.Universidad Nacional de Trujillo Ingeniería de Sistemas } return true. Algoritmos y Estructuras de Datos Arreglos con Clases y Formularios en C++ } else { MessageBox::Show("Espacio insuficiente". Seleccionar la pestaña Form1. } } int notaMasAlta() { int alta=listaNotas[0].h. for(int i=0. for(int i=0. } } void imprimir(ListBox^ lista) { lista->Items->Clear(). Zoraida Yanet Vidal Melgarejo. } }. linea+=Convert::ToString(listaNotas[i]). 1. y agregar las líneas señaladas: Agregar texto Agregar texto Ing. MessageBoxIcon::Exclamation). -5- . return alta. return false. i++) { String^ linea=gcnew String(""). i<pos. i<pos. lista->Items->Add(linea). MessageBoxButtons::OK.12.

} } sender.14. Zoraida Yanet Vidal Melgarejo. rpta = Nota->cantidadNotas(t).15. if(Nota->agregar(t)) { txtNota->Clear(). } else { txtNota->Clear(). txtNota->Focus(). if(rpta) { Nota = gcnew Notas(t). } else { txtElementos->Clear(). txtNota->Enabled=false. btnIngresar->Enabled=false. Nota->imprimir(lstLista).Universidad Nacional de Trujillo Ingeniería de Sistemas Algoritmos y Estructuras de Datos Arreglos con Clases y Formularios en C++ 1.h [Diseño]. btnAceptar->Enabled=false. Seleccionar la pestaña Form1. y hacer doble clic sobre el botón Aceptar. txtElementos->Focus().13. txtNota->Focus(). Seleccionar la pestaña Form1. y hacer doble clic sobre el botón Ingresar. } } sender.h [Diseño]. private: System::Void btnIngresar_Click(System::Object^ System::EventArgs^ e) { int t = Convert::ToInt32(txtNota->Text). 1. txtElementos->Enabled=false. Ing. Completar el código según se muestra a continuación: private: System::Void btnAceptar_Click(System::Object^ System::EventArgs^ e) { bool rpta. int t = Convert::ToInt32(txtElementos->Text). Mg. 1. -6- .

} sender. txtElementos->Focus(). 1. Ing. -7- . lstLista->Items->Clear(). txtAlta->Text = Convert::ToString(alta). btnIngresar->Enabled=true. Seleccionar la pestaña Form1.h [Diseño]. txtAlta->Enabled=true.17.h [Diseño]. 1. txtElementos->Enabled=true. y hacer doble clic sobre el botón Nuevo. txtAlta->Clear(). btnAceptar->Enabled=true. private: System::Void btnAlta_Click(System::Object^ System::EventArgs^ e) { int alta = Nota->notaMasAlta().18. Mg. private: System::Void btnSalir_Click(System::Object^ System::EventArgs^ e) { Close(). } sender. y hacer doble clic sobre el botón Nota más alta.Universidad Nacional de Trujillo Ingeniería de Sistemas Algoritmos y Estructuras de Datos Arreglos con Clases y Formularios en C++ 1. btnAlta->Enabled=true. Zoraida Yanet Vidal Melgarejo. //Fin de la clase Form1 } //Fin de namespace FrmArreglo1 sender.16. } }. Seleccionar la pestaña Form1. private: System::Void btnNuevo_Click(System::Object^ System::EventArgs^ e) { txtElementos->Clear().h [Diseño]. txtNota->Enabled=true. y hacer doble clic sobre el botón Salir. Seleccionar la pestaña Form1.

Sign up to vote on this title
UsefulNot useful