• Sábado 18 de Mayo de 2024, 11:08

Autor Tema:  funciones en c++  (Leído 1604 veces)

mapers

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
funciones en c++
« en: Martes 28 de Julio de 2009, 20:28 »
0
holas gente de solocodigo me podrian aydar con esta dudita:
saben me dejaron hacer un programita en el que tengo que validar 3 notas  y calcular su promedio ,las respectivas librerias deven estar dentro d ela capeta include con la extencio   <>validar.h<>promedio.h<>  y aparte de eso devo tener un progrma principal en la que tiene que leer cada nota y mostrala una por una y su promedio lo malo que no me valida a yuden :


este es el validar :

Código: C++
  1.  
  2. #include<iostream.h>
  3. #include<conio.h>
  4. int validar(int n1,int n2,int n3)
  5. {
  6.    
  7.     do{
  8.         cout<<"ingrese primera nota"<<endl;
  9.         cin>>n1;
  10.         if(n1>0 && n1<=20)
  11.         cout<<"la nota es correcta"<<endl;
  12.         else
  13.         cout<<"la nota es incorrecta "<<endl;
  14.         }
  15.       while(n1>20 || n1<0);
  16.      
  17.      
  18.       do{
  19.         cout<<"ingrese segunda nota"<<endl;
  20.         cin>>n2;
  21.         if(n2>0 && n2<=20)
  22.         cout<<"la nota es correcta"<<endl;
  23.         else
  24.         cout<<"la nota es incorrecta "<<endl;
  25.         }
  26.       while(n2>20 || n2<0);
  27.  
  28.      
  29.       do{
  30.         cout<<"ingrese tercera nota"<<endl;
  31.         cin>>n3;
  32.         if(n3>0 && n3<=20)
  33.         cout<<"la nota es correcta"<<endl;
  34.         else
  35.         cout<<"la nota es incorrecta "<<endl;
  36.         }
  37.       while(n3>20 || n3<0);
  38.      
  39.       return(n1,n2,n3);
  40.  
  41. }
  42.  
  43.  


este es para el promedio :

Código: C++
  1.  
  2. #include<iostream.h>
  3. #include<conio.h>
  4.  
  5. int promedio(int n1,int n2,int n3)
  6. {
  7.     float w=(n1+n2+n3)/3.0;
  8.     return(w);
  9. }
  10.  

el programa principal deve ser algo asi me imagino nop a ver corrigamelo  :

Código: C++
  1.  
  2. #include<iostream.h>
  3. #include<conio.h>
  4. #include<validar.h>
  5. #include<promedio.h>
  6. {
  7. n1=validar();
  8. n2=validar();
  9. n3=validar();
  10. cout<<"las notas son :"<<endl<<n1<<endl<<n2<<end<<n3<<endl;
  11. p =promedio(n1,n2,n3);
  12. cout <<"su promedio es "<<endl<<p;
  13. system("pause");
  14. }
  15.  

a ver gentita si me puede ayudar <<<<<>>>>>

haidion

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: funciones en c++
« Respuesta #1 en: Martes 28 de Julio de 2009, 20:44 »
0
Deverias hacer una funcion validar así validar(int &n1,int &n2,int &n3);  y luego en el cuerpo principal de la función
validar(n1,n2,n3); En lugar de n1=validar(); n2=validar(); n3=validar();

mapers

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: funciones en c++
« Respuesta #2 en: Miércoles 29 de Julio de 2009, 00:18 »
0
esk la parte de arriba me dicen el la nota deve estar entre 0 y 20 y si es correcta que muestre y si es incorrecta  que vuelva a preguntar...

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: funciones en c++
« Respuesta #3 en: Miércoles 29 de Julio de 2009, 12:31 »
0
Hazle caso a Haidion.

Evoltd3v

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: funciones en c++
« Respuesta #4 en: Miércoles 5 de Agosto de 2009, 00:47 »
0
Hola mapers, mirando tu codigo de la funcion validar, me parece que solo es necesario colocar un ciclo do..while ya que tu le pones al momento de asignar el valor a cada variable un retorno de 3 variables (asi lo entiendo) te pongo como quedaria:

Código: C
  1.  
  2.  
  3. #include<iostream.h>
  4. #include<conio.h>
  5.  
  6. int validar(void)
  7. {
  8.         int n;
  9.         static int i = 1;
  10.  
  11.      do{
  12.  
  13.          cout<<"ingrese nota"<< i <<": " <<endl;
  14.          cin>>n;
  15.  
  16.          if( n >= 0 && n <= 20 )
  17.              cout<<"la nota es correcta"<<endl;
  18.          else
  19.              cout<<"la nota es incorrecta "<<endl;
  20.  
  21.          } while( (n > 20) || (n < 0) );
  22.  
  23.       i++;    
  24.       return n;
  25. }
  26.  
  27.  

Luego, en tu funcion para calcular el promedio, el retorno que devuelve deberia ser un float y no int como lo colocaste
quedando asi

 
Código: C
  1.  
  2. #include<iostream.h>
  3. #include<conio.h>
  4.  
  5. float promedio(int n1, int n2, int n3)
  6. {
  7.     float w = (n1 + n2 +n3) / 3.0;
  8.     return w;
  9. }
  10.  
  11.  

Bye.