Ejercicio 1 C


MrMoon

Cada uno tiene su historia.
Noder
Aquí tienes el ejercicio, he ido un poco más adelantado y he utilizado un puntero para guardar en memoria las notas, un saludo :)

C:
#include <stdio.h>
#include <stdlib.h>

void main(){
        float *n,sumMax,media; //Declaracion de variable real
        int numNotas; //Declaracion de variables enteras
       
        //Inicializacion de variables
       
        numNotas=0;
        sumMax=0;
        media=0;
       
        //Presentacion del programa y captura de variables maximas
       
        printf("Bienvenido a la calculadora de medias. \n");
        printf("Cuantas notas tienes? \n");
        scanf("%d",&numNotas);
       
        n=(float *)malloc(numNotas*sizeof(float)); //Reservamos memoria para la variable
       
        for(int x=0;x<numNotas;x++){ //Mientras leemos las notas, la introducimos en una variable donde se van sumando
               
                printf("Dime tu nota [%d] de [%d] :\n",x+1,numNotas);
                scanf("%f",&n[numNotas]);
                sumMax=sumMax+n[numNotas];
        }
       
        media=sumMax/numNotas; //Generamos la media
       
        //Imprimimos por pantalla el resultado final
       
        printf("La media es: %f \n",media);
       
        if(media>=5){
            printf("Has aprobado :) \n");
        }else printf("Has suspendido :( \n");
       
        //Liberamos la memoria
       
        free(n);
       
}
jajaja está perfecto, llegas a meter ficheros y a guardarlo en un txt y ya lo bordas... No esperaría menos de ti, se nota que debes de ser un crack de la programación, si algun dia quieres que te pase la practica de final de asignatura que tuve que hacer te la paso y le echas un ojo aunque eso no va a ser como un ejercicio de estos jajaja aunque imagino que tambien la harias sin problema. Un saludo tio.
 

Khea

Soy khea bro
Noder
jajaja está perfecto, llegas a meter ficheros y a guardarlo en un txt y ya lo bordas... No esperaría menos de ti, se nota que debes de ser un crack de la programación, si algun dia quieres que te pase la practica de final de asignatura que tuve que hacer te la paso y le echas un ojo aunque eso no va a ser como un ejercicio de estos jajaja aunque imagino que tambien la harias sin problema. Un saludo tio.

Que pasa bro,
jajajaja lo he contemplado, pero me parece muy sobrado solamente para 3 numeros... Respecto al programa, pásamelo y le echo un ojo tio :p
 

MrMoon

Cada uno tiene su historia.
Noder
Que pasa bro,
jajajaja lo he contemplado, pero me parece muy sobrado solamente para 3 numeros... Respecto al programa, pásamelo y le echo un ojo tio :p
pues te adjunto por aqui la primera practica, es un poquillo larga pero si quieres le das un vistazo y me dices como las ves.
 

Wannadie

reversing & *nix
Nodero
Noder
por ahora había dado con esto:
C:
#include <stdio.h>

int main() {
    int nota1, nota2, nota3;
    printf("Introduce la primera nota: ");
    scanf("%d", &nota1);
    printf("Introduce la segunda nota: ");
    scanf("%d", &nota2);
    printf("Introduce la tercera nota: ");
    scanf("%d", &nota3);
}
 

Khea

Soy khea bro
Noder
por ahora había dado con esto:
C:
#include <stdio.h>

int main() {
    int nota1, nota2, nota3;
    printf("Introduce la primera nota: ");
    scanf("%d", &nota1);
    printf("Introduce la segunda nota: ");
    scanf("%d", &nota2);
    printf("Introduce la tercera nota: ");
    scanf("%d", &nota3);
}
De momento vas muy bien, te recomiendo introducir el carácter \n antes de cerrar las comillas en el printf, puesto que puede darte errores en el buffer...

El int main() funciona, pero porque pones exactamente eso?
 

Wannadie

reversing & *nix
Nodero
Noder
De momento vas muy bien, te recomiendo introducir el carácter \n antes de cerrar las comillas en el printf, puesto que puede darte errores en el buffer...

El int main() funciona, pero porque pones exactamente eso?
lo pongo porque es lo que he visto, eso de void main() no lo había visto, es que nunca he tocado C
 

Khea

Soy khea bro
Noder
Te explico,
el main, simplemente es la funcion principal del programa, como todas las funciones de C, tienen un tipo.
int,float,char... Puesto que no te interesa que devuelva en este caso nada la funcion, si pones de tipo void, no va a devolverte nada simplemente ejecutará el codigo que has puesto :)
 

Wannadie

reversing & *nix
Nodero
Noder
Te explico,
el main, simplemente es la funcion principal del programa, como todas las funciones de C, tienen un tipo.
int,float,char... Puesto que no te interesa que devuelva en este caso nada la funcion, si pones de tipo void, no va a devolverte nada simplemente ejecutará el codigo que has puesto :)
Y cuando nos podría interesar poner int u otros? char es string no? a parte de main se pueden hacer mas, imagino no? Siento ser tan pesado xdd
 

MrMoon

Cada uno tiene su historia.
Noder
por ahora había dado con esto:
C:
#include <stdio.h>

int main() {
    int nota1, nota2, nota3;
    printf("Introduce la primera nota: ");
    scanf("%d", &nota1);
    printf("Introduce la segunda nota: ");
    scanf("%d", &nota2);
    printf("Introduce la tercera nota: ");
    scanf("%d", &nota3);
}
muy bien ya tienes las variables guardadas en enteros. Recuerda que los tipo int son solo enteros, por lo que si te pusiesen que la nota es un 4,7 ese 0,7 no lo va a pillar, si quieres tener una variable entera usa el tipo float. cuando acabes el main acuerdate de poner el return!!! digue dandole que vas bien!
 

Khea

Soy khea bro
Noder
Y cuando nos podría interesar poner int u otros? char es string no? a parte de main se pueden hacer mas, imagino no? Siento ser tan pesado xdd

En C no hay tipo string, puedes tener un array de carácteres, pero no existe el tipo como tal. hay una libreria (String) que te permite tratarlo de forma sencilla pero sigue siendo más tedioso que en otros lenguajes...

Cuando tu generas una funcion y quieres que devuelva un tipo exacto de variable..
 

qav

No soy el mejor mod, pero soy un excepcional pato
Noderador
Nodero
Noder
No se que pasa aquí pero parece interesante
 

Valeo08

Capullo perro no mucho
Noderador
Nodero
Noder
Aquí tienes el ejercicio, he ido un poco más adelantado y he utilizado un puntero para guardar en memoria las notas, un saludo :)

C:
#include <stdio.h>
#include <stdlib.h>

void main(){
        float *n,sumMax,media; //Declaracion de variable real
        int numNotas; //Declaracion de variables enteras
       
        //Inicializacion de variables
       
        numNotas=0;
        sumMax=0;
        media=0;
       
        //Presentacion del programa y captura de variables maximas
       
        printf("Bienvenido a la calculadora de medias. \n");
        printf("Cuantas notas tienes? \n");
        scanf("%d",&numNotas);
       
        n=(float *)malloc(numNotas*sizeof(float)); //Reservamos memoria para la variable
       
        for(int x=0;x<numNotas;x++){ //Mientras leemos las notas, la introducimos en una variable donde se van sumando
               
                printf("Dime tu nota [%d] de [%d] :\n",x+1,numNotas);
                scanf("%f",&n[numNotas]);
                sumMax=sumMax+n[numNotas];
        }
       
        media=sumMax/numNotas; //Generamos la media
       
        //Imprimimos por pantalla el resultado final
       
        printf("La media es: %f \n",media);
       
        if(media>=5){
            printf("Has aprobado :) \n");
        }else printf("Has suspendido :( \n");
       
        //Liberamos la memoria
       
        free(n);
       
}

printf da to el sida cout for the win
 

Wannadie

reversing & *nix
Nodero
Noder
Sí, sí, pero en C++ puedes usar las instrucciones de C. Creo que al revés no.

La costumbre. Yo es que aunque programe en C, utilizo la extensión .cpp por si acaso.
esto es un mundo para mi, tendré que ponerme porque parece interesante, pero ando corto de tiempo...