none
error CS5001: El programa `Main.exe 'no contiene un método estático` Main' adecuado para un punto de entrada RRS feed

  • Pregunta

  • Hola que tal soy nuevo en lenguaje C# el contexto es que me dejaron de tarea lo siguiente:

    1. El alumno deberá programar una estructura de datos con el nombre de “alumno”, que contenga los siguientes campos y tipos de datos:

      • Id. del alumno (string)
      • Nombre completo (string)
      • Edad (integer)
      • Calificación en matemáticas (float)
      • Calificación en español (float)
      • Calificación en química (float)
      • Calificación en física (float)
      • Promedio (float)

    2. Cuando concluyan la creación de la estructura, deberán generar 10 registros con el llenado de los campos antes indicados, menos el promedio, el cual tendrán que calcular a partir del llenado de las calificaciones por alumno.

    mi codigo va asi:

    using System;
    public class program
    {                                                           //se inicia la clase.
        struct alumno
        {                                                       //se abre estructura.
            public string id;
            public string nombre;
            public int edad;
            public float calMat;
            public float calEsp;
            public float calQuim;
            public float calFis;
            public float prom;
        }                                                            //se cierra estructura.


        public static void main()                                  //aqui se publica el metodo.
        {                                                           //se abre el metodo.
            alumno[] alumnos = new alumno[10];             //declaracion de array de estructuras.
            for (int x = 0; x < 2; x++)
            {                                           //la estructura for asigna valor a X para signar un numero es la estructura
                {

                    Console.WriteLine("Id de alumno que desea agregar informacion");
                    alumnos[x].id = Console.ReadLine();
                    Console.WriteLine("Ingrese el nombre del alumno");
                    alumnos[x].nombre = Console.ReadLine();
                    Console.WriteLine("Escriba la edad del alumno");
                    alumnos[x].edad = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Escriba su calificacion en Matematicas");
                    alumnos[x].calMat = float.Parse(Console.ReadLine());
                    Console.WriteLine("Escriba la calificacion en Español");
                    alumnos[x].calEsp = float.Parse(Console.ReadLine());
                    Console.WriteLine("Escriba la calificacion en Quimica");
                    alumnos[x].calQuim = float.Parse(Console.ReadLine());
                    Console.WriteLine("Escriba la calificacion en Fisica");
                    alumnos[x].calFis = float.Parse(Console.ReadLine());
                    string respuesta;

                    Console.WriteLine("¿Desea Promediar ahora?");
                    respuesta = Console.ReadLine();
                            if (respuesta == "si")
                        {   
                           alumnos[x].prom = (alumnos[x].calEsp + alumnos[x].calMat + alumnos[x].calFis + alumnos[x].calQuim / 4);
                           Console.WriteLine("El promedio del alumno: " + alumnos[x].nombre, " es ", + alumnos[x].prom);
                        }
                                if (respuesta == "no") 
                            {
                                Console.WriteLine("Ha terminado la asignacion de este alumno");
                            }
                }

            }
        }                                                   //se cierra el metodo
    }                                                    //se finaliza la clase

    Pero a la hora de compilar siempre me da el mismo resultado.

      error CS5001: El programa `Main.exe 'no contiene un método estático` Main' adecuado para un punto de entrada

    algun consejo?

    error CS5001: El programa `Main.exe 'no contiene un método estático` Main' adecuado para un punto de entrada
    error CS5001: El programa `Main.exe 'no contiene un método estático` Main' adecuado para un punto de entrada
    domingo, 30 de agosto de 2020 2:55

Todas las respuestas

  • A diferencia de C "clásico", donde el punto de entrada es "main" con la m minúscula, en C# el método Main tiene que llevar la M mayúscula.

    domingo, 30 de agosto de 2020 9:08
    Moderador
  • Hola OdrinkoDev,

    Como te dijeron el problema es la mayúscula en el nombre del método. Acá te dejo algunos enlaces que te pueden ser útiles:

    Main() y argumentos de la línea de comandos (Guía de programación de C#)

    Método Main en C#

    Método Main() en C#

    Método Main De C#

    Espero que te sea de ayuda. Quedo pendiente de cualquier actualización. Gracias por levantar tu consulta en los foros de msdn.

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    lunes, 31 de agosto de 2020 13:37
    Moderador
  • Hola OdrinkoDev,

    ¿Alguna novedad sobre tu pregunta? ¿Han sido útiles las respuestas proporcionadas? Por favor no olvides marcar una respuesta si resolviste tu consulta.

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    viernes, 4 de septiembre de 2020 22:58
    Moderador