Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema Con Array En C#

Estas en el tema de Problema Con Array En C# en el foro de C/C++ en Foros del Web. Buenas tardes nunca me habia registrado pero me parece muy importante para un programador estar en esta comunidad. Mi problema es el siguiente, tengo que ...
  #1 (permalink)  
Antiguo 15/09/2012, 16:46
 
Fecha de Ingreso: septiembre-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Problema Con Array En C#

Buenas tardes nunca me habia registrado pero me parece muy importante para un programador estar en esta comunidad.

Mi problema es el siguiente, tengo que desarrollar un programa que permita ingresar el numero de horas de trabajo de 10 empleados. Las condiciones son las siguientes

1) Si el empleado trabajo entre 1 y 9 horas no se le dara comision.
2) Si el empleado trabajo entre 10 y 15 horas se le dara una comision sobre el salario de 20000.
3) Si el empleado trabajo entre 16 y 35 horas se dara una comision de 40000.
4) Si el empleado trabajo mas de 36 horas se le dara una comision de 60000.

Nota: El Valor de cada hora es de 30000

El valor se debe mostrar al final, para cada empleado, pero me lo muestra en cada posicion que puede ser les dejo el codigo.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CaNomina
{
class Program
{
static void Main(string[] args)
{
int[] arreglo = new int[10];
int valor=0;
int vhora = 30000;
int vcomision1 = 20000;
int vcomision2 = 40000;
int vcomision3 = 60000;


//Capturar arreglo

for (int i = 0; i < 10; i++)
{


Console.Write("Ingresa Numero Horas");
arreglo[i] = Convert.ToInt16(Console.ReadLine());



if (arreglo[i] >= 1 && arreglo[i] <= 9)

valor = arreglo[i] * vhora;


else if (arreglo[i] >= 10 && arreglo[i] <= 15)
valor = arreglo[i] * vhora + vcomision1;

else if (arreglo[i] >= 16 && arreglo[i] <= 35)
valor = arreglo[i] * vhora + vcomision2;

else if (arreglo[i] > 36)
valor = arreglo[i] * vhora + vcomision3;


Console.WriteLine("Sueldo" + arreglo[i] + " : " + (valor));
Console.ReadLine();

}



}
}
}
  #2 (permalink)  
Antiguo 16/09/2012, 01:00
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Problema Con Array En C#

Hola! esto es un subforo de C/C++, C# creo q va en "programacion general"...

Lo que podrias hacer es declarar valor como un arreglo de 10 posiciones, de esta manera vas a almacenar en cada posicion el valor final de cada empleado. Luego, fuera del for, debes crear otro bucle para mostrar la comision de cada uno


Saludos
  #3 (permalink)  
Antiguo 16/09/2012, 12:56
 
Fecha de Ingreso: septiembre-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Problema Con Array En C#

Buenas tardes Cesar gracias por la respuesta, que pena molestarte lo que debo hacer crear un arreglo asi int[] valor = new int[10]; pero el problema es que me muestra que no se puede convertir implicitamente el tipo int en int[], como podria solucionarlo la verdad no tengo mucho experiencia en programacion.
  #4 (permalink)  
Antiguo 16/09/2012, 14:34
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Problema Con Array En C#

Cita:
int[] valor = new int[10];
no creo q este sea el problema ya antes declaraste uno similar. En cada if tenias que hacer, por ejemplo:

Código C:
Ver original
  1. if (arreglo[i] >= 1 && arreglo[i] <= 9)
  2.  
  3. valor[i] = arreglo[i] * vhora;

subi como modificaste el codigo por las dudas. Saludos
  #5 (permalink)  
Antiguo 16/09/2012, 16:15
 
Fecha de Ingreso: septiembre-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Problema Con Array En C#

Mira quedo asi el problema es que me sigue imprimiendo lo mismo y no se como hacer para meter el nuevo array valor[i] en un for, ya que cuando lo meto me dice que i no existe en el contexto actual gracias.
Código:
 static void Main(string[] args)
        {
            int[] arreglo = new int[10];
            int[] valor = new int[10];
            //int horas=0;
            //int valor = 0;
            int valor1 = 0;
            //int valor2=0;
            int valor3 = 0;
            int vhora = 30000;
            int vcomision1 = 20000;
            int vcomision2 = 40000;
            int vcomision3 = 60000;


            //Capturar arreglo

            for (int i = 0; i < 10; i++)
            {


                Console.Write("Ingresa Numero Horas");
                arreglo[i] = Convert.ToInt16(Console.ReadLine());



                if (arreglo[i] >= 1 && arreglo[i] <= 9)

                    valor[i] = arreglo[i] * vhora;


                else if (arreglo[i] >= 10 && arreglo[i] <= 15)
                    valor[i] = arreglo[i] * vhora + vcomision1;

                else if (arreglo[i] >= 16 && arreglo[i] <= 35)
                    valor[i] = arreglo[i] * vhora + vcomision2;

                else if (arreglo[i] > 36)
                    valor[i] = arreglo[i] * vhora + vcomision3;


               // Console.WriteLine("Sueldo" + arreglo[i] + " : " + (valor));
                //Escribe en una sola linea

                          
                    
                   
                Console.WriteLine("Sueldo" + arreglo[i] + " : " + valor[i]);
                
            }
           
               
            Console.ReadLine();

        }
    }
}

Última edición por lol27; 16/09/2012 a las 22:32
  #6 (permalink)  
Antiguo 17/09/2012, 11:30
 
Fecha de Ingreso: septiembre-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Problema Con Array En C#

Cita:
Iniciado por lol27 Ver Mensaje
Mira quedo asi el problema es que me sigue imprimiendo lo mismo y no se como hacer para meter el nuevo array valor[i] en un for, ya que cuando lo meto me dice que i no existe en el contexto actual gracias.
Código:
 static void Main(string[] args)
        {
            int[] arreglo = new int[10];
            int[] valores = new int[10];
            //int horas=0;
            //int valor = 0;
            int valor1 = 0;
            //int valor2=0;
            int valor3 = 0;
            int vhora = 30000;
            int vcomision1 = 20000;
            int vcomision2 = 40000;
            int vcomision3 = 60000;


            //Capturar arreglo

            for (int i = 0; i < 10; i++)
            {


                Console.Write("Ingresa Numero Horas");
                arreglo[i] = Convert.ToInt16(Console.ReadLine());



                if (arreglo[i] >= 1 && arreglo[i] <= 9)

                    valor[i] = arreglo[i] * vhora;


                else if (arreglo[i] >= 10 && arreglo[i] <= 15)
                    valor[i] = arreglo[i] * vhora + vcomision1;

                else if (arreglo[i] >= 16 && arreglo[i] <= 35)
                    valor[i] = arreglo[i] * vhora + vcomision2;

                else if (arreglo[i] > 36)
                    valor[i] = arreglo[i] * vhora + vcomision3;


               // Console.WriteLine("Sueldo" + arreglo[i] + " : " + (valor));
                //Escribe en una sola linea

                          
                    
                   
                Console.WriteLine("Sueldo" + arreglo[i] + " : " + valor[i]);
                
            }
           
               
            Console.ReadLine();

        }
    }
}
Listo ya lo solucione, meti el nuevo arreglo de 10 posiciones lo iguale asi
Código:
 valores[i] = valor;
imprimi abajo del parentesis con un for
Código:
 }
 for (int i = 0; i < 10; i++)
{
Console.WriteLine("Sueldo" + arreglo[i] + " : " + valores[i]);
}
muchas gracias por la ayuda.

Etiquetas: int, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:50.