Página 1 de 1

Ayuda con switch+while+funciones!!!

Publicado: 06 Ago 2011, 23:52
por el4celeste
Bueno necesito hacer un programa en el cual...me de lo siguiente:

1)prisma
2)piramide
3)salir

He codeado lo siguiente y abviamente me tira unos errores... puede que sea la parte logica del programa.

Código: Seleccionar todo

#include <cstdlib>
#include <iostream>

using namespace std;


int main()
{
    int 1,2,3,op,opi;
float volumen;
    void Piramide();
    void Prisma();
    return 0;
    
    void Piramide()
{ 

cout<<" Ingrese el valor de la base mayor"<<endl;
cin>>1;
cout<<"Ingrese el valor de la base mayor"<<endl;
cin>>2;
cout<<"Ingrese el valor de la altura:"<<endl;
cin>>3;
volumen=(1*2)*3/2;
cout<<"El volumen de la piramide es de 1: "<<endl<<"1 = "<< volumen;+
return 0;
}

void Prisma()
{
     cout<<" Ingrese el valor del lado: "<<endl;
     cin>>1;
     cout<<" Ingrese el valor de la altura: "<<endl;
     cin>>2;
     volumen=(1*1)*2;
     cout<<"El volumen del prisma es de 1: "<<endl<<"1 = "<<volumen;
     return 0;
     }
     
     while(op<3)
     {
                 switch(opi)
                 {
                           case 1:
                                cout<<"1- Para calcular el volumen de la piramide"<<endl;
                             
                                break;
                                
                                case 2:
                                     cout<<"2- Para calcular el volumen del prisma"<<endl;
                                     break;
                                     case 3:
                                     cout<<"3- Salir"<<endl;
                                      break;                                     
                                          }
                                          }
    
    system("PAUSE");
   
}
Bueno si alguien me puede hechar un cable le estaria muy agradecido.
S4Lud05

Re: Ayuda con switch+while+funciones!!!

Publicado: 07 Ago 2011, 00:49
por osnaraus
Por Dios !!! El codigo apesta... Creo que haz salteado el capìtulo de "variables"

Re: Ayuda con switch+while+funciones!!!

Publicado: 07 Ago 2011, 01:03
por el4celeste
Sabia que me hiban a decir eso...
Si uno de los errores que me tira es el de variables pero es que tengo un lio... lei algo de variables globales.
Pero no se donde hubicarlas para que me lo tome a todo de una...
Y es ahi donde necesito

Re: Ayuda con switch+while+funciones!!!

Publicado: 07 Ago 2011, 01:40
por propa
Las variables globales van fuera de la funcion o metodo

Re: Ayuda con switch+while+funciones!!!

Publicado: 07 Ago 2011, 18:09
por .::DoX::.

Código: Seleccionar todo

int 1,2,3,op,opi;
Para empezar no se puede nombrar una variable con un numero.

Como te dicen arriba creo que te iría mejor volverte a leer con calma un buen manual de programación


Re: Ayuda con switch+while+funciones!!!

Publicado: 07 Ago 2011, 23:54
por el4celeste
Ok espero poder terminarlo antes del martes.
Saludos

Re: Ayuda con switch+while+funciones!!!

Publicado: 08 Ago 2011, 15:28
por osnaraus
Acà tienes un code "en base" al tuyo (no es muy optimo que digamos, pero cumple la funcion)
Espero te ayude a optimizarlo un poco (y a validarlo )
Saludos

Código: Seleccionar todo

#include <cstdlib>
#include <iostream>

using namespace std;

void Piramide();
void Prisma();

int main()
{
	int op;
 
   	while(op!=3)
     {
		cout<<"1- Para calcular el volumen de la piramide"<<endl;
		cout<<"2- Para calcular el volumen del prisma"<<endl;
		cout<<"3- Salir"<<endl;
		cin >> op;

                 switch(op)
                 {
                           case 1:                  
							 Piramide();
                             break;
                                
                            case 2:
							 Prisma();
                             break;
                            							
				 }
      }
    return 0;
}
 
   void Piramide()
{ 

	int a1,a2,a3;
	float volumen;
	cout<<" Ingrese el valor de la base mayor"<<endl;
	cin>>a1;
	cout<<"Ingrese el valor de la base menor"<<endl;
	cin>>a2;
	cout<<"Ingrese el valor de la altura:"<<endl;
	cin>>a3;
	volumen=(a1*a2*a3)/3;
	cout<<"El volumen de la piramide es :"<< volumen<<endl;

}

void Prisma()
{
	int a1,a2;
	float volumen;
     cout<<" Ingrese el valor del lado: "<<endl;
     cin>>a1;
     cout<<" Ingrese el valor de la altura: "<<endl;
     cin>>a2;
     volumen=(a1*a1)*a2;
     cout<<"El volumen del prisma es :"<<volumen<<endl;
      
    
}

Re: Ayuda con switch+while+funciones!!!

Publicado: 14 Ago 2011, 01:28
por el4celeste
bueno como habia dicho googleando y leyendo manuales pude dar con el code para el problema que se me habia planteado y llegue a la sieguiente conclusion:

Código: Seleccionar todo

#include <cstdlib>
#include <iostream>


using namespace std;
 int Piramide(int n1, int n2, int n3)
{ int volumen=0;
int volumen1;


volumen=(n1*n2);
volumen1=volumen*n3/2;
return volumen1;
}

int Prisma(int n1,int n2)
{int volumen=0;
    
     volumen=(n1*n1)*n2;
     cout<<"El volumen del prisma es de 1: "<<endl<<"1 = "<<volumen;
     return volumen;
     }
     

int main()
{
    int num1,num2,num3,opc;
do{
    
    
cout<<"**********CALCULOS DE AREAS.**********\n";
cout<<"**1-AREA DE LA PIRAMIDE.             *\n";
cout<<"**2-AREA DEL PRISMA.                 *\n"; 
cout<<"**3-SALIR.                           *\n";
cout<<"**************************************\n";
     
 cout<<"Ingrese opcion:";
 cin>>opc;  

                 switch(opc)
                 {
                           case 1:
                                cout<<" Ingrese el valor de la base mayor: ";
cin>>num1;
cout<<"Ingrese el valor de la base menor: ";
cin>>num2;
cout<<"Ingrese el valor de la altura: ";
cin>>num3;
       cout<<"El volumen de la piramide es: "<<Piramide(num1,num2,num3)<<"\n";                      
                                break;
                                
                                case 2:
                                     cout<<" Ingrese el valor del lado: ";
                                     cin>>num1;
                                     cout<<" Ingrese el valor de la altura: ";
                                     cin>>num2;
                                     cout<<"El volumen de el prisma es: "<<Prisma(num1,num2)<<"\n";
                                     break;
                                      case 3:
                                  cout<<"---------Espero que regrese pronto---------\n";
                                  opc=3;
                                  system("PAUSE");
                                                               
                                          }
                                    }while(opc!=3);      
    

 return 0;  
}