Calcular el promedio de un alumno usando funciones C-Duda

Iniciado por Darklexis312, Abril 01, 2018, 07:33:12 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

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.

Código: php
/*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");
}


Código: php
float promedio(float c1, float c2, float c3)
{
float p;
p = (c1 + c2 + c3) / 3;
return p;
}


Código: php
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;
}
}







Código: php

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 :)

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ó''  :'(

Código: php

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!

Bueno bro ya lo intente asi y ya nomas aparece en la pantalla ''no aprobó'' cuando pongo cualquier  valor igual muchas gracias seguire intentando.

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,

Código: php
#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");
}