none
Ayuda en la creación de estructuras y el uso de las mismas. RRS feed

  • Pregunta

  • Hola que tal, actualmente me encuentro estudiando C# como primera tarea necesito realizar un programa que me arroje el promedio de un listado de 10 alumnos, empiezo definiendo la estructura de la sig manera:

    #include <stdio.h>
    struct alumnos
    {string idalumnos;
    string nombre;
    int edad;
    float cmat;
    float cesp;
    float cquim;
    float cfis;
    float prom;  
    }
     struct alumnos mañana[10];

    El problema en si es el siguiente, a la hora de poner #include <stdio.h> me marca que se espera una directiva de preprosesado, ese es el primer problema, a la hora de la definición de estructura todo bien, al final en la linea 15 del codigo lo que quiero hacer es un array de estructuras sin embargo de igual manera me marca error, quisiera entender el por que, debido a que ya he investigado al respecto y no entiendo muy bien los errores, de igual manera he visto ejemplos y no encuentro la falla, les dejo los errores que me marca el programa 

    {
    "resource": "/c:/Users/NNPP0/Desktop/C# tareas/Actividad4Alumnos/Program.cs",
    "owner": "csharp",
    "code": "CS8803",
    "severity": 8,
    "message": "Top-level statements must precede namespace and type declarations. [Actividad4Alumnos]",
    "source": "csharp",
    "startLineNumber": 14,
    "startColumn": 17,
    "endLineNumber": 14,
    "endColumn": 28
    }

    miércoles, 26 de agosto de 2020 18:44

Respuestas

  • Hola a parte de lo indicado del lenguaje de tu programa, deberías establecer namespace

    #include <stdio.h>
    using namespace std; // agregar
    
    struct alumnos
    {
       string idalumnos;
       string nombre;
       int edad;
       float cmat;
       float cesp;
       float cquim;
       float cfis;
       float prom;  
    }
    
     alumnos mañana[10]; // quitar palabara struct ya que has definido previamente un struct alumnos


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    jueves, 27 de agosto de 2020 11:14
    Moderador
  • no me habia percatado de lo que me comentas que la directiva #include es ajena a C#.

    No solo el #include. También "struct" es ajeno a C#. Exsite algo parecido en C#, pero se declara como Structure, no como struct. No puedes alegremente intercambiar un lenguaje por el otro.

    Por cierto, una precaución más si usas C en lugar de C#: ojo con la variable "mañana", que contiene una eñe. En C# no hay problema, se puede usar la eñe en los nombres de variable. Pero en C tradicional te dará un error al compilar, únicamente admite caracteres ASCII.

    jueves, 27 de agosto de 2020 15:03
    Moderador

Todas las respuestas

  • hola

    >>El problema en si es el siguiente, a la hora de poner #include <stdio.h> me marca que se espera una directiva de preprosesado,

    estas seguro que programas en c# ?

    El #include es de C o  C++, no de C#

    No entiendo, no conoces siquiera en que lenguaje estas programando?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 26 de agosto de 2020 19:06
  • De hecho no me había fijado en eso, en si no entramos de lleno en el lenguaje mas bien estábamos viendo seudocodigo pero para esta ultima etapa o actividad nos dieron lo siguiente DONETFIDDLE una plataforma web, aqui deberiamos generar el código con la solucion propuesta, supuse que era c#, de igual manera muchos de mis apuntes previos y ejemplos que me proporcionaron tenian la misma sintaxis con el #include sin embargo no me habia percatado de lo que me comentas que la directiva #include es ajena a C#.
    miércoles, 26 de agosto de 2020 19:19
  • Hola OdrinkoDev, 

      

    Esa sintaxis que tienes es de c++, es diferente entonces te dejo este link para que puedas empezar a aprender, https://docs.microsoft.com/es-es/dotnet/csharp/

    Gracias por usar los foros de MSDN.   

     

     Andres Aguilar

     ____________________________ 

      

    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.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    miércoles, 26 de agosto de 2020 20:20
    Moderador
  • Hola a parte de lo indicado del lenguaje de tu programa, deberías establecer namespace

    #include <stdio.h>
    using namespace std; // agregar
    
    struct alumnos
    {
       string idalumnos;
       string nombre;
       int edad;
       float cmat;
       float cesp;
       float cquim;
       float cfis;
       float prom;  
    }
    
     alumnos mañana[10]; // quitar palabara struct ya que has definido previamente un struct alumnos


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    jueves, 27 de agosto de 2020 11:14
    Moderador
  • no me habia percatado de lo que me comentas que la directiva #include es ajena a C#.

    No solo el #include. También "struct" es ajeno a C#. Exsite algo parecido en C#, pero se declara como Structure, no como struct. No puedes alegremente intercambiar un lenguaje por el otro.

    Por cierto, una precaución más si usas C en lugar de C#: ojo con la variable "mañana", que contiene una eñe. En C# no hay problema, se puede usar la eñe en los nombres de variable. Pero en C tradicional te dará un error al compilar, únicamente admite caracteres ASCII.

    jueves, 27 de agosto de 2020 15:03
    Moderador