Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Darklexis312 en Abril 01, 2018, 07:33:12 PM

Título: Calcular el promedio de un alumno usando funciones C-Duda
Publicado por: Darklexis312 en Abril 01, 2018, 07:33:12 PM
Hola a todos no se si aqui pueda poner dudas de este tipo; estaba haciendo un ejercicio y se me presentaron algunos problemas, cuando introduzco cualquier calificación siempre imprime lo de promedio pasara a 100 y el ''no aprobó'', pero no imprime nunca el ''si aprobó'', de antemano muchas gracias.

/*Hacer un programa que a través de una función calcule el promedio de un alumno que curso 3 materias
el semestre anterior y a través de otra función imprima el promedio de esta persona considerando
que si este es 95 o mayor se le otorga el 100 ademas de una leyenda de "si aprobo" o "no aprobo";
considerando 60 como minimo aprobatorio*/

#include <stdio.h>
#include <stdlib.h>
#include "promedio.h"
#include "imprimir.h"

float promedio(float, float, float);
float imprimir(float);
float c1, c2, c3, p, P, I;

void main()
{
printf("\nPor favor introduce las tres calificaciones: ");
scanf_s("%f %f %f", &c1, &c2, &c3);
P = promedio(c1,c2,c3);
I = imprimir(p);
system("pause>null");
}


float promedio(float c1, float c2, float c3)
{
float p;
p = (c1 + c2 + c3) / 3;
return p;
}


float imprimir(float p)
{
if (p >= 95)
p = 100;
printf("\nEl promedio pasara a cien");

{if (p >= 60)
printf("\nSi aprobo");
else
printf("\nNo aprobo");

return p;
}
}


(https://i.imgur.com/zJckDkx.png)

(https://i.imgur.com/5uWepkF.png)

(https://i.imgur.com/ou5gZf2.png)
Título: Re: Calcular el promedio de un alumno usando funciones C-Duda
Publicado por: Som€body en Abril 01, 2018, 07:53:43 PM

float imprimir(float p)
{
if (p >= 95){
p = 100;
        }
printf("\nEl promedio pasara a cien");

if (p >= 60){
printf("\nSi aprobo");
}else{
printf("\nNo aprobo");
        }
return p;
}


Pusiste mal las llaves de los if/else, eso es todo :)
Título: Re: Calcular el promedio de un alumno usando funciones C-Duda
Publicado por: Darklexis312 en Abril 01, 2018, 08:04:39 PM
Muchas gracias por responder ya probe de la manera que dices y cuando introduzco 90 90 90 debería de imprimir ''si aprobó'' en lugar de eso sale ''el  promedio pasara a cien'' y eso debería de aparecer cuando se obtuviera un promedio mayor o igual a 95 y también aparece el mensaje de ''no aprobó''  :'(
Título: Re: Calcular el promedio de un alumno usando funciones C-Duda
Publicado por: Som€body en Abril 01, 2018, 08:08:33 PM

float imprimir(float p){
if (p >= 95){
p = 100;
        printf("\nEl promedio pasara a cien");
        }

if (p >= 60){
printf("\nSi aprobo");
}else{
printf("\nNo aprobo");
        }
return p;
}


Así debería funcionar. Si sigue dando problemas entonces ni idea jajaja. Suerte con el ejercicio!
Título: Re: Calcular el promedio de un alumno usando funciones C-Duda
Publicado por: Darklexis312 en Abril 01, 2018, 08:13:19 PM
Bueno bro ya lo intente asi y ya nomas aparece en la pantalla ''no aprobó'' cuando pongo cualquier  valor igual muchas gracias seguire intentando.
Título: Re: Calcular el promedio de un alumno usando funciones C-Duda
Publicado por: Darklexis312 en Abril 01, 2018, 08:32:50 PM
Gracias por la ayuda ya pude arreglar el programa a aparte de las correcciones que hiciste faltaba cambiar la P = promedio(c1,c2,c3); que tenia a             p = promedio(c1,c2,c3); en el main,

#include <stdio.h>
#include <stdlib.h>
#include "promedio.h"
#include "imprimir.h"

float promedio(float, float, float);
float imprimir(float);
float c1, c2, c3, p, I;

void main()
{
printf("\nPor favor introduce las tres calificaciones: ");
scanf_s("%f %f %f", &c1, &c2, &c3);
p = promedio(c1,c2,c3);
I = imprimir(p);
system("pause>null");
}