Categorías destacadas
programacion php    
Lista de foros

AYUDA CON TIPOS DE DATOS POR FAVOR


sapito21
22 de Abril del 2010

Buenos dias, el problema q tengo es q al intentar asignarle a una variable el retorno de una funcion me salta un error que dice:

Demasiados argumentos para \'Public ReadOnly Default Property Chars(index As Integer) As Char\'.

La funcion es tipoTriangulo()
desde ya agradezco si alguien me puede ayudar, aca les dejo el codigo tal cual esta antes de tratar de compilarlo:

Module Module1
Sub Main()
analisisTriangulo()
frenarPantalla()
End Sub
Sub analisisTriangulo()
Dim l1, l2, l3 As Double
Dim resultado As Boolean
Dim perim As Double
Dim tipoTriangulo As String
tipoTriangulo = tipoTriangulo(l1, l2, l3)
perim = perimetroTriangulo(l1, l2, l3)
Console.WriteLine("ingrese la longitudo de los 3 lados de un triangulo")
Console.WriteLine("ingrese el primer lado")
l1 = Console.ReadLine()
Console.WriteLine("ingrese el segundo lado")
l2 = Console.ReadLine()
Console.WriteLine("ingrese el tercer lado")
l3 = Console.ReadLine()
If isTriangulo(l1, l2, l3) Then
Console.WriteLine("dicho triangulo es del tipo " & tipoTriangulo)
Console.WriteLine("y su perimetro es" & perim)
Else
Console.WriteLine("el triangulo de lados " & l1 & " " & l2 & " " & l3 & " no existe")
End If
End Sub
Function isTriangulo(ByVal lado1 As Double, ByVal lado2 As Double, ByVal lado3 As Double) As Boolean
Dim resultado As Boolean
If ((lado1 > 0) And (lado2 > 0) And (lado3 > 0)) Then
If ((lado1 < lado2 + lado3) And (lado2 < lado1 + lado3) And (lado3 < lado1 + lado2)) Then
resultado = True
Else
resultado = False
End If
Else
resultado = False
End If
Return resultado
End Function
Function tipoTriangulo(ByVal lado1 As Double, ByVal lado2 As Double, ByVal lado3 As Double) As String
Dim tipo As String = ""
If ((lado1 = lado2) And (lado1 = lado3)) Then
tipo = "equilatero"
Else
If ((lado1 = lado2) Or (lado1 = lado3) Or (lado2 = lado3)) Then
tipo = "isosceles"
Else
tipo = "escaleno"
End If
End If
Return tipo
End Function
Function perimetroTriangulo(ByVal lado1 As Double, ByVal lado2 As Double, ByVal lado3 As Double) As Double
Dim perimetro As Double
perimetro = lado1 + lado2 + lado3
Return perimetro
End Function
Sub frenarPantalla()
Console.WriteLine("presione cualquier tecla para salir del programa")
Console.ReadKey()
End Sub
End Module

Agradeceria mucho una solucion sin cambiar mucho codigo ya que me parece bastante razonable como lo hice

sapito21


Leonardo
20 de Mayo del 2010

tipoTriangulo = tipoTriangulo(l1, l2, l3)

Has usado el mismo nombre para una variable y para una función.

Esto es válido, pero entonces tendrás que calificar la función para acceder a ella (Module1.TipoTriangulo). Mejor cambia el nombre de la variable.

El error que te da es que estás accediendo a la funcion String.Chars(n), pero con tres argumentos en lugar de uno.

 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon