Anuncio

Colapsar
No hay ningún anuncio todavía.

Duda con programación en C

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • C/C++ Duda con programación en C

    Hola, estoy intentando programar en C esto:

    Escribir un programa que pida 5 números enteros por teclado y visualice su media por pantalla. Solo quiero usar "C", no he dado otros:

    #include<stdio.h>
    int n[5];
    float media;
    int main void {
    printf ("escribe un numero");
    scanf ("%d", &n[0]);
    printf ("escribe un numero");
    scanf ("%d", &n[1]);
    printf ("escribe un numero");
    scanf ("%d", &n[2]);
    printf ("escribe un numero");
    scanf ("%d", &n[3]);
    printf ("escribe un numero");
    scanf ("%d", &n[4]);

    media = ("n[0]+n[1]+n[2]+n[3]+n[4]")/5;
    printf media ("%f\n",media);
    }

    El problema es que cuando lo ejecuto en la terminal de Linux, haciendo gcc -o nombre_archivo.c nombre_archivo me dice que hay errores, que no acabo de detectar, no entiendo lo que me dice,me pone esto:

    Si me dejan paso foto Gracias

    ALI_1.c:6:10: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’
    int main void {


    Gracias

  • #2
    Re: Duda con programación en C

    No recuerdo mucho de lenguaje C, pero creo que cuando pones void se utiliza par crear una subrutina o función, y el programa lo que espera es que después del void declares los parametros locales de dicha funcion o subrutina, por eso te tira error.
    FIjate si funciona el programa asi:

    #include<stdio.h>
    int n[5];
    float media;
    main()
    {
    printf ("escribe un numero");
    scanf ("%d", &n[0]);
    printf ("escribe un numero");
    scanf ("%d", &n[1]);
    printf ("escribe un numero");
    scanf ("%d", &n[2]);
    printf ("escribe un numero");
    scanf ("%d", &n[3]);
    printf ("escribe un numero");
    scanf ("%d", &n[4]);


    media = (n[0]+n[1]+n[2]+n[3]+n[4])/5;
    printf ("%f\n",media);
    }

    PD: en la linea media = ("n[0]+n[1]+n[2]+n[3]+n[4]")/5; le saque las comillas porque estaban de mas, y la entradas de numero por teclado la podrias haber echo con un bucle de 1 a 5.

    Comentario


    • #3
      Re: Duda con programación en C

      Yo diría que no habría problemas en declarar la función main con el void, al menos yo lo he hecho muchas veces. Quizá lo que falle es que falta poner al final de todo un return 0 para que el programa sepa que sale del main.
      En cualquier caso, si no has dado aún el for no tienes otra forma de hacerlo, pero este tipo de ejercicios no está pensado para escribir mil veces "escribe un número". Por ejemplo si te hubiesen pedido que metas 1000 números por pantalla y des su media, con un for el programa quedaría incluso más corto que el que has escrito.

      Saludos,
      [TEX=null]k_BN_A \cdot \dst \sum_{k=0}^{\infty} \dfrac{1}{k!} \cdot 50 \cdot 10_{\text{hex}} \cdot \dfrac{2\pi}{\omega} \cdot \sqrt{-1} \cdot \dfrac{\dd x} {\dd t } \cdot \boxed{^{16}_8\text{X}}[/TEX]

      Comentario


      • #4
        Re: Duda con programación en C

        int main void{
        debería haberse escrito como
        int main(void){
        Los paréntesis son necesarios para indicar que se declara una función y no una variable. void indica que no se van a pasar argumentos a la función main.

        La forma estándard de declarar main es

        int main(int argc,char *argv[])

        Donde se indica que main va a recibir dos parámetros, el primero, argc, un entero que indica la cuenta de strings en argv. El segundo es un array de strings con las parámetros de invocación, siendo el primero, el nombre del programa con su path completo y el resto, los argumentos pasados desde el sistema operativo.

        int main, indica que la función va a devolver un entero tras su invocación. Así, el programa debe terminar con

        return 0;
        o
        return variable_entera.

        Este valor se suele utilizar para analizar el código de retorno del programa, el cual se puede interrogar a la salida del programa.

        El resto ya te lo han comentado.



        Comentario

        Contenido relacionado

        Colapsar

        Trabajando...
        X