Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] funciones

Estas en el tema de funciones en el foro de C/C++ en Foros del Web. Saludos; los otros días me dieron este problema: realizar una función que reciba dos notas de un alumno y devuelva el promedio y la clasificación ...
  #1 (permalink)  
Antiguo 23/05/2013, 09:46
Avatar de davidmaidana  
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 11 años, 6 meses
Puntos: 0
funciones

Saludos; los otros días me dieron este problema: realizar una función que reciba dos notas de un alumno y devuelva el promedio y la clasificación ('A' >=7 o 'D'<7 )
Mostrar el resultado usando una segunda función
lo intente y puede resolver el problema pero se q no es la mejor solución, me podrian ayudar.

mi solución fue esta:

# include <stdio.h>
# include <conio.h>

float calculo (float nota1, float nota2)
{
float promedio;
float clasif;
promedio=(nota1+nota2)/2;
clasif = promedio;
if (clasif>=7)
{
printf("la clasificacio es: A\n");
}
else
{
printf("la clasificacion es: D\n");
}
return promedio;
}

int main ()
{
int nota1, nota2;
float resultado;
printf ("ingrese un num:");
scanf ("%i",&nota1);
printf ("ingrese un num:");
scanf ("%i",&nota2);

resultado = calculo (nota1, nota2);
printf("el promedio es: %2.f\n",resultado);

getch();
}
  #2 (permalink)  
Antiguo 23/05/2013, 09:50
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 4 meses
Puntos: 28
Respuesta: funciones

Pues para empezar elimina la librería conio. Así tu programa será multiplataforma (puedes cambiar el getch() por un getchar()).
  #3 (permalink)  
Antiguo 23/05/2013, 11:12
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: funciones

Hay varias formas que puedes hacer esto:

1. Usar punteros
2. Usar estructuras
3. Usar punteros a estructuras

Código C:
Ver original
  1. # include <stdio.h>
  2.  
  3. void calcular_promedio(int nota1, int nota2, float *promedio, char *letra)
  4. {
  5.     *promedio = (nota1 + nota2) / 2.0;
  6.     if (*promedio >= 7)
  7.     {
  8.         *letra = 'A';
  9.     }
  10.     else
  11.     {
  12.         *letra = 'D';
  13.     }
  14. }
  15.  
  16. void imprimir(float promedio, char letra) {
  17.     printf("El promedio es %.2f y la letra %c\n", promedio, letra);
  18. }
  19.  
  20. int main ()
  21. {
  22.     int nota1, nota2;
  23.     float resultado;
  24.     char letra;
  25.  
  26.     printf ("ingrese un num:");
  27.     scanf ("%i", &nota1);
  28.     printf ("ingrese un num:");
  29.     scanf ("%i", &nota2);
  30.  
  31.     calcular_promedio(nota1, nota2, &resultado, &letra);
  32.     imprimir(resultado, letra);
  33. }
Mi ejemplo usando punteros.
  #4 (permalink)  
Antiguo 23/05/2013, 12:34
Avatar de davidmaidana  
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: funciones

gracias por tu respuesta, la verdad que lo miro ahora y me doy cuanta, voy a utilizar tu solución como ejemplo para poder resolver otros problemas que me dieron. gracias

Etiquetas: c++, funcion, solucion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:29.