[ Foro de C# ]
Buenas! Paso a contarles... vs2010... me tira varios errores creo que elprincipal esta en la sintaxis de la funcion y no entiendo, ni encuentro cual es la forma de hacerlo. Gracias de antemano a quien pueda solucionarme este percance.
private void BtnBuscar_Click(object sender, EventArgs e)
{
while ((txtArt.Text != "") && (txtCant.Text != ""))
{
Art = Convert.ToInt32(txtArt.Text);
Cant = Convert.ToInt32(txtCant.Text);
Pos = 0; //Buscar(vectorArt, vectorStk, Art, Cant);
Pos = BuscaArt(vectorArt, Art); //***MARCA ERROR CON POS
if (Pos == -1)
{
MessageBox.Show("El Articulo no existe", "ART INEXISTENTE");
}
else
{
if (Cant <= vectorStk[Pos])
{
vectorStk[Pos] = vectorStk[Pos] - Cant;
MessageBox.Show("Venta realizada.\nDel Articulo" + vectorArt + "que en stock: " + vectorStk[Pos] + "unidades.", "EGRESOS");
}
else
{
MessageBox.Show("El Stock no es suficiente", "SIN SUFICIENTE STOCK");
}
}
txtArt.Text = "";
txtCant.Text = "";
}
}
}
private static int BuscaArt(vectorArt []Int32, int Art) //***MARCA ERROR EN EL TIPO DE DATO QUE DEVUELVE Y EN EL PARAM ARRAY RECIBIDO
{
int K = 0, I = 0;
while (K == 0 && I < vectorArt.Lenght)
{
if (vectorArt[I] == Art) //***MARCA ERROR EN EL '[ ]' Y EN EL DOBLE =
{
K=1;
}
else
{
I++;
}
}//WHILE
if(K==0) //***MARCA ERROR EN EL IF
{
return -1;
}
else
{
return I;
}
}
Que frustrante es toparse con estos errores "tontos" pero que anulan el siguiente paso...
Desde una funcion llamo a otra funcion que busca en array, si lo encuentra devuelve la posicion y sino volvera el valor de la bandera.
¿Qué te dice exactamente cada uno de los mensajes de error? Ten en cuenta que al no ser un programa de consola y no estar completo, no podremos probarlo, y sólo podremos ayudarte con "errores evidentes".
Aun así, hay una cosa que sí he notado en un primer vistazo: ese "vectorArt []Int32" imagino que debería ser al revés, un array de enteros: "int[] vectorArt". De ahí deben venir al menos 2 de tus errores.
Por otra parte, has escrito mal "Length", has puesto "Lenght".
Hola. Ahi modifique y dejo el codigo completo...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication11
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
const Int32 Ltd=4;
Int32[] vectorArt = new Int32[Ltd];
Int32[] vectorStk = new Int32[Ltd];
private void BtnInicial_Click(object sender, EventArgs e)
{
if (Convert.ToInt32 (txtArticulo1.Text)>0 && Convert.ToInt32 (txtArticulo2.Text)>0 && Convert.ToInt32 (txtArticulo3.Text)>0 && Convert.ToInt32(txtArticulo4.Text)>0)
{
vectorArt[0] = Convert.ToInt32(txtArticulo1.Text);
vectorArt[1] = Convert.ToInt32(txtArticulo2.Text);
vectorArt[2] = Convert.ToInt32(txtArticulo3.Text);
vectorArt[3] = Convert.ToInt32(txtArticulo4.Text);
vectorStk[0] = Convert.ToInt32(txtStock1.Text);
vectorStk[1] = Convert.ToInt32(txtStock2.Text);
vectorStk[2] = Convert.ToInt32(txtStock3.Text);
vectorStk[3] = Convert.ToInt32(txtStock4.Text);
MessageBox.Show ("Vector inicializado correctamente!","INGRESOS");
}
else
{
MessageBox.Show ("Se ha detectado un ingreso erroneo","FALLA-USUARIO");
}
txtArticulo1.Text = "";
txtArticulo2.Text = "";
txtArticulo3.Text = "";
txtArticulo4.Text = "";
txtStock1.Text = "";
txtStock2.Text = "";
txtStock3.Text = "";
txtStock4.Text = "";
}
public void BtnBuscar_Click(object sender, EventArgs e)
{
while ((txtArt.Text != "") && (txtCant.Text != ""))
{
Int32 Articulo = Convert.ToInt32(txtArt.Text);
Int32 Cantidad = Convert.ToInt32(txtCant.Text);
Int32 posicion = 0; //Buscar(vectorArticulo, vectorStock, Articulo, Cantidad);
//posicion = Busq(vectorArt, Articulo);
if (posicion == -1)
{
MessageBox.Show("El Articulo no existe", "ART INEXISTENTE");
}
else
{
if (Cantidad <= vectorStk[posicion])
{
vectorStk[posicion] = vectorStk[posicion] - Cantidad;
MessageBox.Show("Venta realizada.\nDel Articulo" + vectorArt + "que en stock: " + vectorStk[posicion] + "unidades.", "EGRESOS");
}
else
{
MessageBox.Show("El Stock no es suficiente", "SIN SUFICIENTE STOCK");
}
}
txtArt.Text = "";
txtCant.Text = "";
}
}
}
private static int Busq(int[] vectorArt, int Articulo)
{
int K = 0, I = 0;
while (K == 0 && I < vectorArt.Length)
{
if(vectorArt[I] == Articulo)
{
K=1;
}
else
{
I++;
}
}//WHILE
if (K==0)
{
return -1;
}
else
{
return I;
}
}
}
private void btnPersona_Click(object sender, EventArgs e)
{
Persona opersona1 = new Persona (txtNombre.Text, txtApellido.Text, dtpFechaNacimiento.Value, Convert.ToInt32(txtDni.Text));
MessageBox.Show("Nombre: " + opersona1.nombre + "\nApellido: " + opersona1.apellido + "\nFecha de nacimiento: " + opersona1.fechaNacimiento + "\nDNI" + opersona1.dni);
}
private void BtnTrabajador_Click(object sender, EventArgs e)
{
Trabajador otrabajador = new Trabajador(txtNombre.Text, txtApellido.Text, dtpFechaNacimiento.Value, Convert.ToInt32(txtDni.Text),Convert.ToInt32(txtLegajo.Text), Convert.ToInt32(txtValorHora.Text),Convert.ToInt32(txtCantidadHoras.Text), Convert.ToInt32(txtCantidadDias.Text));
MessageBox.Show("Nombre: " + otrabajador.nombre + "\nApellido: " + otrabajador.apellido + "\nFecha de nacimiento: " + otrabajador.fechaNacimiento + "\nDNI: " + otrabajador.dni + "\nLegajo: " + otrabajador.legajo + "\nValor de hora: " + otrabajador.valorHora + "\nCantidad de horas: " + otrabajador.cantidadhoras + "\nCantidad de dias: " + otrabajador.cantidaddias);
}
}
private void BtnMostrar_Click(object sender, EventArgs e)
{
txtArticulo1.Text = Convert.ToString(vectorArt[0]);
txtArticulo2.Text = Convert.ToString(vectorArt[1]);
txtArticulo3.Text = Convert.ToString(vectorArt[2]);
txtArticulo4.Text = Convert.ToString(vectorArt[3]);
txtStock1.Text= Convert.ToString(vectorStk[0]);
txtStock2.Text = Convert.ToString(vectorStk[1]);
txtStock3.Text = Convert.ToString(vectorStk[2]);
txtStock4.Text = Convert.ToString(vectorStk[3]);
txtArt.Clear();
txtCant.Clear();
}
}
}
Y los errores son...
1 The class name '?' is not a valid identifier for this language (FILA; COL)(0,0)
2 Expected class, delegate,enum,interface, or struct (86,20)
3 Identifier expected (86,33)
4 Expected class, delegate, enum, interface, or struct(86,35)
5 Expeted class, delegate, enum, interface, or struct(86,35)
6 A namespace cannot directly contain member such as fields or methods (91,33)
7 Typeor namespace definition, or end of-file exected (100,13)
8 The type or namespace name '?Attribute' could not be found (are you mising a using directive or an assembly(108,1)
Deberías empezar por el primer error, porque a veces los errores van en cascada, el primero provoca los siguiente.
El primero suena a que tu editor (¿no usas Visual Studio?) haya puesto un primer carácter extraño.
El segundo es que te sobra una llave cerrada justo antes de:
private static int Busq(int[] vectorArt, int Articulo)
Recién instalado está el visual Studio 2010 en inglés en mi Windows 8. Jamás use este editor pero ahora es imperioso que lo haga por un práctico para el terciario. No veo carácter extraño, es más lo rehice desde cero y es lo mismo...
No es grave. Si sólo te da un "warning" y no un "error" por ese carácter extraño (que imagino que será el llamado "BOM Unicode"), podrás seguir adelante.
Pero el fuente está mal tabulado, por lo que resulta difícil de leer y no te será sencillo descubrir las llaves de cierre descolocadas (que tienes varias).
Hay algún juego de caracteres para identar el código?
En principio no te preocupes por eso. Si usas Visual Studio para crear el programa (si no "copias y pegas" desde fuera), no deberías tener problemas.
Como puedo solucionar estos errores. Sobre todo el de la declaración de la función buscar
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)