Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - htcv96

#1
Buenas noches, soy nuevo en el foro y entre porque necesito ayuda en un trabajo de la universidad. No estoy pidiendo que me lo hagan, simplemente necesito que alguien sea tan amable de explicar porque salta error. El código es de una aplicación que permite ingresar letras y las muestra en una ListBox, realmente no se cuál es el problema y no he encontrado ninguna solución en internet asi que si pueden ayudarme estaría muy agradecido. El código está trabajado en Visual Studio 2010.

Este es el código de la clase
#ifndef _GESTION_H_INCLUDED
#define _GESTION_H_INCLUDED
#include <iostream>

class CGestionCaracteres{
private:
int N;
char* Vec;
public:
CGestionCaracteres(){
int N = 0;
Vec = new char[N];
}
~CGestionCaracteres(){}
//
int getN(){
return N;
}
char* getVec(){
return Vec;
}
//
void AgregarElemento(char x){
//if (aux >= 65 && aux <= 90 || aux >= 97 && aux <= 122)
char* Aux = new char[N + 1];

if (ComprobarX(x) == false){
N++;
Vec[N - 1] = x;
}
else{
Aux[0] = x;
for (int i = 0; i < N; i++){
Aux[i + 1] = Vec[i];
}
delete Vec;
N++;
Vec = Aux;
delete Aux;
}
}
/* */
};

#endif _GESTION_H_INCLUDED


y esta parte es del código de la ventana
#pragma once
#include "Gestion.h"

namespace GestionCaracteres {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

/// <summary>
/// Summary for frmPrincipal
/// </summary>
public ref class frmPrincipal : public System::Windows::Forms::Form
{
private:
CGestionCaracteres* gestion;
public:
frmPrincipal(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
gestion = new CGestionCaracteres();
}
/* */
#pragma endregion
private: System::Void btnAgregar_Click(System::Object^  sender, System::EventArgs^  e) {
if (tbxAgregar->Text != ""){
char caracter = Convert::ToChar(tbxAgregar->Text);
if (caracter >= 65 && caracter <= 90 || caracter >= 97 && caracter <= 122){
gestion->AgregarElemento(caracter);
CargarLista();
}
else{
MessageBox::Show("Introduzca un valor valido.");
}
}
else{
MessageBox::Show("Introduzca una letra.");
}


}
void CargarLista(){
lbxLetras->Items->Clear();
for (int i = 0; i < gestion->getN(); i++){
lbxLetras->Items->Add((gestion->getVec()[i]).ToString());
}
}
};
}


El código si compila, la validación para verificar si es una letra también, el problema surge cuando se ingresa una letra y salta un error que me pide cerrar la ventana. Si es necesaria otra parte del código por favor pídanmela. Gracias de antemano.