Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: joalbela en 31 Mayo 2009, 01:09 am



Título: Tnego un ejercico que hize y me presenta 3 errores me pueden ayudar
Publicado por: joalbela en 31 Mayo 2009, 01:09 am
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, nt, cedula, cont = 0, categoria, sb;
            double sal, fp, eps, st, ingresos, deducciones, sueldo;
            string proc;
            Console.WriteLine("ingrese la cantidad de personas a procesar");
            n = int.Parse(Console.ReadLine());
            {
                for (cont = 1; cont <= n; cont = cont + 1)

                    Console.WriteLine("Digite cedula: ");
                cedula = int.Parse(Console.ReadLine());
                Console.WriteLine("Digite numero de días trabajados: ");
                nt = int.Parse(Console.ReadLine());
                Console.WriteLine("Digite categoria 1,2,3:");
                switch (proc)
                {
                    case "a":
                        if (categoria == 1)
                        {
                            sb = 100;
                        }
                        else
                        {
                        }
                        break;
                    case "b":
                        if (categoria == 2)
                        {
                            sb = 200;
                        }
                        else
                        {
                        }
                        break;
                    case "c":
                        sb = 300;
                        break;

                }

                Console.WriteLine("El salario :");
                sal = (sb / 30) * nt;
                Console.WriteLine("El fondo de pensiones:");
                fp = sal * 0.03;
                Console.WriteLine("La eps: ");
                eps = sal * 0.05;
                Console.WriteLine("El subsidio de transporte:");

                if (categoria < 2)
                {
                    st = 50;
                }
                else
                {
                    st = 0;
                }
                Console.WriteLine("Los ingresos del empleado:");
                ingresos = sal + st;
                Console.WriteLine("Las deducciones son iguales a:");
                deducciones = fp + eps;
                Console.WriteLine("El sueldo es igual a:");
                sueldo = ingresos - deducciones;

                Console.ReadKey();

            }
        }
    }
}
 :huh:


Título: Re: Tnego un ejercico que hize y me presenta 3 errores me pueden ayudar
Publicado por: Jorgitoh en 31 Mayo 2009, 03:12 am
El codigo lo copiaste tal cual?.

Como primer instancia tas abriendo una llave antes del For:

n = int.Parse(Console.ReadLine());
            {
                for (cont = 1; cont <= n; cont = cont + 1)

Fijate si arreglando eso se te solucionan los 3 errores y sino postea directamente la descripcion del error asi es mas facil ayudarte.

Saludos.


Título: Re: Tnego un ejercico que hize y me presenta 3 errores me pueden ayudar
Publicado por: SLUGER en 31 Mayo 2009, 03:43 am
Yo uso VC# y Ademas de el error que jorgitoh te señalo a mi me aparece que es porque usas las varables locales no asignadas "proc", "categoria" y "sb" intenta asignarle un valor 0.
Ejemplo:
Código:
int categoria = 0, sb = 0;
string proc = "";


Título: Re: Tnego un ejercico que hize y me presenta 3 errores me pueden ayudar
Publicado por: Jorgitoh en 31 Mayo 2009, 03:57 am
Ahora que lo veo de vuelta, con ayuda del comentario de arriba veo que falta lo fundamental del switch. Fijate que estas pidiendo que ingrese una categoria, pero luego esa categoria nunca la levantas. Ademas no se entiende muy bien el significado del proc frente a la categoria, ya que si levantas la categoria con el ReadLine para que vas a hacer un switch con el proc si podes hacerlo directamente con la categoria.

Fijate de agregar el ReadLine que te falta para luego realizar el switch. El error de arriba tambien es valido.

Saludos.


Título: Re: Tnego un ejercico que hize y me presenta 3 errores me pueden ayudar
Publicado por: SLUGER en 31 Mayo 2009, 04:24 am
Ahora que lo veo de vuelta, con ayuda del comentario de arriba veo que falta lo fundamental del switch. Fijate que estas pidiendo que ingrese una categoria, pero luego esa categoria nunca la levantas. Ademas no se entiende muy bien el significado del proc frente a la categoria, ya que si levantas la categoria con el ReadLine para que vas a hacer un switch con el proc si podes hacerlo directamente con la categoria.

Fijate de agregar el ReadLine que te falta para luego realizar el switch. El error de arriba tambien es valido.

Saludos.
Tienes razon, ademas el codigo esta totalmente lleno de cosas inesezarias, por ejemplo los else's de esta parte:
Código:
if (categoria == 1)
                        {
                            sb = 100;
                        }
                        else
                        {
                        }
                        break;
                    case "b":
                        if (categoria == 2)
                        {
                            sb = 200;
                        }
                        else
                        {
                        }
El bucle debe ser haci, declarando la variable dentro del parentecis y aumentando con " ++ ":
Código:
                for (int cont = 1; cont <= n; cont++)

Los Console.WriteLine para que los pones? si ni muestra ni pide datos.
Código:
Console.WriteLine("El salario :");
                sal = (sb / 30) * nt;
                Console.WriteLine("El fondo de pensiones:");
                fp = sal * 0.03;
                Console.WriteLine("La eps: ");
                eps = sal * 0.05;
                Console.WriteLine("El subsidio de transporte:");

                if (categoria < 2)
                {
                    st = 50;
                }
                else
                {
                    st = 0;
                }
                Console.WriteLine("Los ingresos del empleado:");
                ingresos = sal + st;
                Console.WriteLine("Las deducciones son iguales a:");
                deducciones = fp + eps;
                Console.WriteLine("El sueldo es igual a:");
                sueldo = ingresos - deducciones;

Haces un switch de una variable vacia y creo que son todos.

salu2, SLUGER


Título: Re: Tnego un ejercico que hize y me presenta 3 errores me pueden ayudar
Publicado por: joalbela en 31 Mayo 2009, 05:29 am
Ya lo corregi y me dio muchas gracias