PDA

Ver la versión completa : Problema en C++



sammyxcore
07/10/2008, 14:12:50
COmuna,tengo un problema en el desarrolo del sigueinte ejercico, el encunciado es :

Dada la edad de una persona determine en que etapa del desarrollo se encuentra

Codificacion:

#include<iostream.h>
void main()
{
int e;
cout<<"Ingrese la edad en anios porfavor:";
cin>>e;

switch (e){

case 1: (e>=0 && e<=4);
cout<<"la edad indica que la persona se encuentra en la infancia"<<endl;
break;
case 2: (e>=5 && e<=10);
cout<<"la edad indica que la persona se encuentra en la niñez"<<endl;
break;
case 3: (e>=11 && e<=15);
cout<<"la edad indica que la persona se encuentra en la pubertad"<<endl;

break;

case 4: (e>=15 && e<=21);
cout<<"la edad indica que la persona se encuentra en la adolecencia"<<endl;

break;

case 5 :(e>=22 && e<=55);
cout<<"la edad indica que la persona se encuentra en la adultez"<<endl;

break;

case 6: (e>=56 && e<=70);
cout<<"la edad indica que la persona se encuentra en la vejez"<<endl;
break;



case 7: (e>=71 && e<=130);

cout<<"la edad indica que la persona se encuentra en la ancianidad"<<endl;
break;

default:
cout<<"el border ya esta muerto"<<endl;

}


}

El programa que estoy usando es Microsoft Visual C++.

EL programa corre,pero no me da la rpta.

Gracias de antemano.

stuCk
07/10/2008, 18:36:05
en switchs no puedes usar comparaciones logicas en switchs, lo que tu haces es leer, y en los case:



case 1:
....
case 2:
...
es contra esos valores que estas comparando, cualquier valor que no sea ese que esta en negritas (1 al 7), ejecuta el default, en switch solo puedes usar valores constantes.. es decir
case 1, case 2, y no el usar case(e<=15), tienes que usar if's para eso.

revisa el archivo adjunto por si tienes dudas :)

saludos

nikita_mjr
12/10/2008, 00:05:40
Holassss... Creo q deberias usar IF para hacer ese programita, y usar las comparaciones logicas <,> && o || , me parece q usando una estructura condicional anidada, (if, else, if , else.. etc).. espero lo puedas resolver!!