Como le hago para que después de cada acción aparezca el menú y solo se salga si oprime la opción 6? Gracias
#include <algorithm>
#include <vector>
#include <cstdlib>
#define N   5
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
double CalculoPi(int x)
int main(int argc, char *argv[])
{
int v=0; 
cout<<"menu principal"<< endl;
cout<<"1 geometria: area del cuadrado"<<endl;
cout<<"2 geometria: area de un triangulo "<<endl;
cout<<"3 fisica: calcular distancia recorrida"<<endl;
cout<<"4 fisica: calcula volaje"<<endl;
cout<<"5 calculo"<<endl;
cout<<"6 salir"<<endl;
cout<< "elige una opcion"<<endl;
cin>>v;      
switch(v)  
{ 
case 1: cout<<" geometria"<<endl;{
    double a,area;
    cout<<"ingrese el lado del cuadrado"<<endl;
    cin>>a;
    area=a*a;
    cout<<area;
   return 0;
}
break;    
case 2: cout<<"escogiste geometria: area de un triangulo"<<endl;
{
   float altura, area, base;
   printf( "Introduzca base: " );
   scanf( "%f", &base );
   printf( "Introduzca altura: " );
   scanf( "%f", &altura );
   area = base * altura / 2;
   printf( "El area del triangulo es: %f", area );
   return 0;
}
break;
case 3: cout<<" escogiste fisica: calcular distancia recorrida "<<endl;
{
      
      
     int velocidad_constante,tiempo;
      
      int distancia_recorrida;
      
      printf("Ejercicio 01");
      printf("\n\n");
      
      printf ("Ingrese la velocidad del movil (m/s)       : ");
      scanf("%d",&velocidad_constante);
      printf("\n\n");
      
      printf ("Ingrese el tiempo usado por del movil (s)  : ");
      scanf("%d",&tiempo);
      distancia_recorrida = velocidad_constante * tiempo;
      printf("\n\n");
      printf("Distancia recorrida por el movil es: %d ",       
      distancia_recorrida);
     
      getch();
}
break; 
case 4: cout<<" escogiste fisica: calcula volaje"<<endl; 
{
    float corriente, voltaje, resistencia; /* tres variables */
    printf("Valor de la corriente, en amperes?\n");
    scanf("%f", &corriente);
    printf("Valor de la resistencia, en ohms?\n");
    scanf("%f", &resistencia);
    voltaje=corriente*resistencia; /* calculo de voltaje */
    printf("El valor del voltaje es de %f voltios\n", voltaje);
    return 0;
}
break; 
case 5: cout<<" escogiste calculo" ; 
{
    double suma;
    int i;
 
    suma=0.0;
 
    for (i=0; i<=x; i++)
    {
       if ((i=2)||((i%2)==0)) 
suma=suma+((double)1/(2*i+1)); //hago una casting, es decir hago saber que la operacion //debera transformarse en un double y asi me dara los decimales
else 
suma=suma-((double)1/(2*i+1));
    }
 
return 4*suma;
}
 
 
int main(void)
 
{
    int x;
    double PI;
 
    cout <<"Introduzca el numero de terminos que quiere que tenga la sumatoria, a partir de la cual se calcula el numero PI: ";
    cin >> x;
 
    PI=CalculoPi(x);
 
    cout <<"El valor del numero PI es: " << PI << endl << endl;
 
    system("pause");
 
    return 0;
}
break; 
case 6: cout<<" Adios"; 
break; 
default: cout<<" ERROR";
break;
} 
getche();
}
Los codigos deben llegar etiquetas GeSHi
			
			
			
				Te liadte demasiado con el case 5: tienes un segundo main.
			
			
			
				creo que lo mejor seria usar un ciclo:
int quit = 0;
int v = 0;
while(!quit)
{
       system("clear"); // limpias la pantalla
       mostrar_menu(); // en esta funcion imprimis el menu
       cin >> v;
       switch(v)
       {
             case 1:
                   func_opcion_1();
                break;
             case 2:
                   func_opcion_2();
                break; 
             [...] [...] // todas las opciones que necesites
             case 6:
                    quit = 1;
                break;
       }
}
o bien:
     int v = 0;
     do
     {
            system("clear");
            mostrar_menu();
            cin >> v;
            switch(v)
            {
                   case 1:
                      break;
                   case 2: 
                      break;
                   case [...]
                   case 6:
                           // si la opcion es 6 no hacemos nada, para la proxima iteracion del ciclo v ya valdria 6 y el bucle se romperia
                        break;
            }
     } while(v != 6);
			
			
			
				No voy a ayudar con el código, porque @integeroverflow ya te ha contestado, pero tengo una pregunta: ¿eso compila?
			
			
			
				Cita de: joseka1234 en  7 Marzo 2017, 00:44 AM
No voy a ayudar con el código, porque @integeroverflow ya te ha contestado, pero tengo una pregunta: ¿eso compila?
no, tiene demsiados errores, linea 10, 112 y 124 viendo solo por encimita