Ayuda ¡¡ Programa<(^-^)>

Iniciado por XxRekcahlExX, 6 Junio 2010, 22:10 PM

0 Miembros y 2 Visitantes están viendo este tema.

XxRekcahlExX

Holas

Bueno les comentare mi problema lo que sucede es que tengo que realizar el siguiente programa :

crear un programa que lleve por titulo: "Paquetes Turisticos"
Saludo al usuario.

Tambien un menu con lo siguiente:

tiene que ofrecer 3 paquetes turisticos
/* en este caso yo puse :Santa Marta,Cartagena,Barranquilla*/

cada paquete tiene que ofrecer
3 tipos de alimentacion
3 tipos de actividad /*es decir visitar la iglesia, ir al monte etc.*/
Pedir la cantidad de personas que van a viajar
y Mostrar el precio total del viaje.

/*todo esto mediante menus*/

/* si no me hago entender decirmelo para explicarlo de mejor manera*/

Bueno soy muy novato en esto de programacion y esto es lo que voy:
#include<iostream>
using namespace std;
#include<conio2.h>
#include<stdio.h>

main()       
{
      printf("Paquetes Turisticos");
      printf("Bienvenido Este software le ayudara a elegir una plan de viaje a su gusto");
     
      int menu;
     
      printf("Elige una Opcion");
      cout<<"1.-Plan de Viaje a Santa Marta";
      cout<<"2.-Plan de Viaje a Cartagena";
      cout<<"3.-Plan de Viaje a Barranquilla";
      cin>>menu;
     
      switch(menu){
                   case 1:
                        cout<<"Usted ha elegido Plan de viaje a Santa Marta";
                        cout<<"Elija la opcion que mas se ajuste a sus gustos";
                       
                        int comida;
                        cout<<"Elija un tipo de alimentacion";
                        cout<<"1.1.-Ejecutivo";
                        cout<<"1.2.-Empresarial";
                        cout<<"1.3.-Festin";
                        cin>>comida;
                       
                        switch(comida) {
                               case 1.1:
                                   
                                    cout<<"Ha elegido Tipo de alimentacion ejecutivo";
                                    cout<<"Elija la opcion que mas se ajuste a sus gustos";
                                   
                                    int actividad;
                                    cout<<"Elija un tipo de Actividad";
                                    cout<<"1.4-La quinta de San Pedro Alejandrino";
                                    cout<<"1.5-El Morro";
                                    cout<<"1.6-Ciudad Perdida de Santa Marta";
                                    cin>>actividad;
                                   
                                    case 1.2:
                                         
                                    cout<<"Ha elegido tipo de alimentacion Empresarial";
                                    cout<<"Elija la opcion que mas se ajuste a sus gustos";
                                   
                                    int actividad2;
                                    cout<<"Elija un tipo de Actividad";
                                    cout<<"1.4-La quinta de San Pedro Alejandrino";
                                    cout<<"1.5-El Morro";
                                    cout<<"1.6-Ciudad Perdida de Santa Marta";
                                    cin>>actividad2;
                                   
                                    case 1.3:
                                         
                                    cout<<"Ha elegido Tipo de alimentacion Festin";
                                    cout<<"Elija la opcion que mas se ajuste a sus gustos";
                                   
                                    int actividad3;
                                    cout<<"Elija un tipo de Actividad";
                                    cout<<"1.4-La quinta de San Pedro Alejandrino";
                                    cout<<"1.5-El Morro";
                                    cout<<"1.6-Ciudad Perdida de Santa Marta";
                                    cin>>actividad3;
                                   
                                    switch(actividad,actividad2,actividad3){
                                                                            cout<<"Por ultimo para completar el calculo";
                                                                            cout<<"Indique la opcion que mas se ajuste a su gusto";
                                                                           
                                                                            int personas;
                                                                            cout<<"Digite la cantidad de personas a viajar";
                                                                            cin>>personas;
                                                                           
                                                                            switch(personas){
                                                                                             int final;
                                                                                             
                                                                                             cout<<"Bien haora sabra el costo total del viaje";
                                                                                             
                                                                                             /* Bien aqui es donde mas me pierdo*/ 


Bueno me disculpo si este codigo es una reverenda bolud... y demas pero soy muy novato.

no esta terminado ya que solo llevo el paquete n° 1 y no esta terminado xD

y cuando intento conmpilar el algoritmo me salen los siguientes errores:

------------------------------------------------------------------------------
`int main()':
case label does not reduce to an integer constant
case label does not reduce to an integer constant 
case label does not reduce to an integer constant 
[Warning] unreachable code at beginning of switch statement   
[Warning] unreachable code at beginning of switch statement

-------------------------------------------------------------------------------

Bueno falta decir que programo en DEVC++
en todos los paquetes toca hacer lo mismo y calcular el total es decir darle precio a todo y luego sumarlo el problema es que no se como acomodar esto en el programa.

no digo que me hagan la tarea no xD
solo que me ayuden con pistas o consejos para poder solucionarlo

Gracias

emm?

mk_137

porque en el switch de comida no cojes solo un numero i no 1.1 o 1.2... ???

si es un int (entero) no puede tener coma, i no me parece muy accesible tener que apretar 1.1.

O lo haces double o float, o haces que introduzcan un entero.

Littlehorse

#2
No leí todo el código, pero por los errores, lo primero que tenes que solucionar son los case del switch. Las constantes de cada case deben cumplir formatos similares a estos:

Código (cpp) [Seleccionar]
switch( i )
{
    case -1:
        n++;
        break;
    case 0 :
        z++;
        break;
    case 1 :
        p++;
        break;
}


Código (cpp) [Seleccionar]

switch( c )
{
    case 'A':
        capa++;
    case 'a':
        lettera++;
    default :
        total++;
}


un float, double, o cualquier otro dato que no se pueda reducir a una expresión entera, es invalido.

También ten en cuenta la sintaxis del switch:

switch ( expression )
     case constant-expression : statement
  [default  : statement]


Partiendo de eso, vuelve a revisar el código completo.

Y también puedes ver este link:

switch

Saludos
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

XxRekcahlExX

Vale ^^ Corregire y les cuento como me fue Graxias
emm?

XxRekcahlExX

Bueno hasta haora va todo bien pero quiero hacer una pregunta

puedo decir que case 1 es igual a case 2 y case 3

o es imposible y toca hacerlo manualmente?

gracias
emm?

Littlehorse

No entiendo del todo tu pregunta, a que parte del case te refieres? y que es específicamente lo que queres comparar?

No hagas doble post. :D

Saludos
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

XxRekcahlExX

OK me explico:

esto es lo que llevo xD

#include<iostream>
using namespace std;
#include<conio2.h>
#include<stdio.h>

main()       
{
      cout<<"Paquetes Turisticos"<<endl;
      cout<<"Bienvenido Este software le ayudara a elegir una plan de viaje a su gusto\n"<<endl;
     
      int menu;
     
      cout<<"Elige una Opcion\n"<<endl;
      cout<<"1.-Plan de Viaje a Santa Marta"<<endl;
      cout<<"2.-Plan de Viaje a Cartagena"<<endl;
      cout<<"3.-Plan de Viaje a Barranquilla\n"<<endl;
      cin>>menu;
      system("cls");
     

     
      switch(menu){
                   case 1:
                        cout<<"\nUsted ha elegido Plan de viaje a Santa Marta"<<endl;
                        cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                       
                        int comida,A,B,C;
                        A=3600;
                        B=5800;
                        C=10800;
                        cout<<"Elija un tipo de alimentacion\n"<<endl;
                        cout<<"1.-Ejecutivo"<<endl;
                        cout<<"2.-Empresarial"<<endl;
                        cout<<"3.-Festin\n"<<endl;
                        cin>>comida;
                        system("cls");
                       
                        switch(comida){
                                       case 1:
                                           
                                            cout<<"\nUsted ha elegido Tipo de Alimentacion Ejecutivo"<<endl;
                                            cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                                           
                                            int actividad,A1,B1,C1;
                                            A1=5600;
                                            B1=10000;
                                            C1=18600;
                                            cout<<"Elija un tipo de Actividad\n"<<endl;
                                            cout<<"1.-Playa Blanca de Santa marta"<<endl;
                                            cout<<"2.-Volcan de Totumo"<<endl;
                                            cout<<"3.-Sierra nevada de Santa Marta\n"<<endl;
                                            cin>>actividad;
                                           
                                            case 2:
                                           
                                            cout<<"\nUsted ha elegido Tipo de Alimentacion Empresarial"<<endl;
                                            cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                                           
                                            int actividad2,AA1,BB1,CC1;
                                            AA1=5600;
                                            BB1=10000;
                                            CC1=18600;
                                            cout<<"Elija un tipo de Actividad\n"<<endl;
                                            cout<<"1.-Playa Blanca de Santa marta"<<endl;
                                            cout<<"2.-Volcan de Totumo"<<endl;
                                            cout<<"3.-Sierra nevada de Santa Marta"<<endl;
                                            cin>>actividad2;
                                           
                                            case 3:
                                           
                                            cout<<"\nUsted ha elegido Tipo de Alimentacion Festin"<<endl;
                                            cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                                           
                                            int actividad3,AAA1,BBB1,CCC1;
                                            AAA1=3600;
                                            BBB1=10000;
                                            CCC1=18600;
                                            cout<<"Elija un tipo de Actividad\n"<<endl;
                                            cout<<"1.-Playa Blanca de Santa marta"<<endl;
                                            cout<<"2.-Volcan de Totumo"<<endl;
                                            cout<<"3.-Sierra nevada de Santa Marta"<<endl;
                                            cin>>actividad3;
                                            }   
                                           
                        case 2:
                             
                        cout<<"\nUsted ha elegido Plan de viaje a Cartagena"<<endl;
                        cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                             
                        int comida2,D,E,F;
                        D=3400;
                        E=6700;
                        F=12000;
                        cout<<"Elija un tipo de alimentacion\n"<<endl;
                        cout<<"1.-Ejecutivo"<<endl;
                        cout<<"2.-Arroz con coco,Pescado Frito y Patacones"<<endl;
                        cout<<"3.-Gourmet\n"<<endl;
                        cin>>comida2;
                       
                       
                        case 3:
                       
                        cout<<"\nUsted ha elegido plan de viaje a Barranquilla"<<endl;
                        cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                             
                        int comida3,G,H,I;
                        G=5600;
                        H=8350;
                        I=3500;
                        cout<<"Elija un tipo de alimentacion\n"<<endl;
                        cout<<"1.-Sancocho de Guandu con carne salada"<<endl;
                        cout<<"2.-Butifarra"<<endl;
                        cout<<"3.-Ejecutivo\n"<<endl;
                        cin>>comida3;
                       
                       
                        getch();
                        }
                        }


sin notas en el case 1 saco otro menu para la comida y de la comida saco otro case 1 con las informacion de viajes , tambien notaras que hay 3 case de informacion de viajes iguales -_-!

case 1:
                        cout<<"\nUsted ha elegido Plan de viaje a Santa Marta"<<endl;
                        cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                       
                        int comida,A,B,C;
                        A=3600;
                        B=5800;
                        C=10800;
                        cout<<"Elija un tipo de alimentacion\n"<<endl;
                        cout<<"1.-Ejecutivo"<<endl;
                        cout<<"2.-Empresarial"<<endl;
                        cout<<"3.-Festin\n"<<endl;
                        cin>>comida;
                        system("cls");
                       
                        switch(comida){
                                       case 1:
                                           
                                            cout<<"\nUsted ha elegido Tipo de Alimentacion Ejecutivo"<<endl;
                                            cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                                           
                                            int actividad,A1,B1,C1;
                                            A1=5600;
                                            B1=10000;
                                            C1=18600;
                                            cout<<"Elija un tipo de Actividad\n"<<endl;
                                            cout<<"1.-Playa Blanca de Santa marta"<<endl;
                                            cout<<"2.-Volcan de Totumo"<<endl;
                                            cout<<"3.-Sierra nevada de Santa Marta\n"<<endl;
                                            cin>>actividad;
                                           
                                            case 2:
                                           
                                            cout<<"\nUsted ha elegido Tipo de Alimentacion Empresarial"<<endl;
                                            cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                                           
                                            int actividad2,AA1,BB1,CC1;
                                            AA1=5600;
                                            BB1=10000;
                                            CC1=18600;
                                            cout<<"Elija un tipo de Actividad\n"<<endl;
                                            cout<<"1.-Playa Blanca de Santa marta"<<endl;
                                            cout<<"2.-Volcan de Totumo"<<endl;
                                            cout<<"3.-Sierra nevada de Santa Marta"<<endl;
                                            cin>>actividad2;
                                           
                                            case 3:
                                           
                                            cout<<"\nUsted ha elegido Tipo de Alimentacion Festin"<<endl;
                                            cout<<"Elija la opcion que mas se ajuste a sus gustos\n"<<endl;
                                           
                                            int actividad3,AAA1,BBB1,CCC1;
                                            AAA1=3600;
                                            BBB1=10000;
                                            CCC1=18600;
                                            cout<<"Elija un tipo de Actividad\n"<<endl;
                                            cout<<"1.-Playa Blanca de Santa marta"<<endl;
                                            cout<<"2.-Volcan de Totumo"<<endl;
                                            cout<<"3.-Sierra nevada de Santa Marta"<<endl;
                                            cin>>actividad3;
                                            }   

me preguntaba si en vez de tener que hacer cada uno de los case individuales no habia forma de decirle al compilador:quiero que case 2 y case 3 sean iguales a case 1

esa es mi pregunta por haora

Gracias ^^

emm?

Littlehorse

No, de la forma que quieres hacerlo no. Podrías organizar los case de otra forma para que aparente algo parecido pero, seria muy rustico y no quedaría organizado precisamente.

Para hacerlo tendrías que hacerlo a mano, igualmente ese código podría reducirse y organizarse bastante si haces uso de funciones.

Recuerda que:

  • main debe devolver int, (int main)
  • conio es una librería no estándar que no es recomendable utilizar.
  • stdio.h es la cabecera de C, en C++ es cstdio.
  • system se encuentra en cstdlib.

Saludos!
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

XxRekcahlExX

 :o Ok muchas gracias
mientrastanto ire adelantando el programa (dios xD) muchas gracias Littlehorse me has ayudado muxo espero algun dia devolverte el favor ^^

Gracias
emm?

do-while

¡Buenas!

Un detalle mas. Los diferentes casos de un switch se separan mediante la instruccion break, si no lo pones, se ira ejecutando un case despues de otro, hasta el primer break que se encuentre, o hasta llegar al final de la estructura switch.

Y bueno, no se si con un de tus preguntas te referias a esto o no, pero si tienes distintos case, que ejecutan un mismo codigo, por el parrafo anterior puedes ponerlo asi:

switch(valor_o_expresion)
{
    case un_caso:
    case otro_caso:
    /* ... */
    case otro_caso_mas:
        /* aqui va el codigo que ejecutan los casos comunes */
        break;
}


¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!