C/Visual C - Problemilla con switch

 
Vista:

Problemilla con switch

Publicado por martel (1 intervención) el 14/11/2008 03:47:17
El problema es que cuando selecciono la opcion C, que es opcion de switch tambien, selecciono la operacion que quiero relizar , y cuando me muestra el resultado, automaticamente, me abre el otro case, aqui les dejo el programa :

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main(void)
{
int n1,n2,n3,n,i,num[10]; n=1;i=0;
float ab,ac,ad,rf,rd,r,qw,qe,rs,qy,qt,ru,vc,vb,ri,rk,zx,zc;
char letra,letra2;

printf(" SELECCIONA UNA OPCION: A.-ESTRUCTURCA NORMAL B.-IF C.-SWITCH D.-WHILE E.-ARREGLO ");
scanf("%s",& letra);
switch (letra)
{

case 'A':
{
printf(" ESTRUCTURA NORMAL [PORCENTAJE] ");
printf(" INGRESE PRECIO DE ARTICULO 1: ");
scanf("%f",& ab);
printf(" INGRESE PRECIO DE ARTICULO 2: ");
scanf("%f",& ac );
printf(" INGRESE PRECIO DE ARTICULO 3: ");
scanf("%f",& ad );
r=ab+ac+ad;
rd=r*.25;
rf=r-rd;
printf(" EL TOTAL CON DESCUENTO ES: %f", rf);
printf(" ");
break;

}
case 'B':
{

printf(" IF [MAYOR DE 3 NUMEROS] ");
printf(" INGRESE PRIMER NUMERO: ");
scanf("%d",& n1);
printf(" INGRESE SEGUNDO NUMERO: ");
scanf("%d",& n2);
printf(" INGRESE TERCER NUMERO: ");
scanf("%d",& n3);
if(n1>n2)
{
if(n1>n3)

printf(" EL NUMERO MAYOR ES: %d", n1);
printf(" ");
}
else
{
if(n2>n3)
printf(" EL NUMERO MAYOR ES: %d", n2);

else
printf(" EL NUMERO MAYOR ES: %d", n3);
printf(" ");
}
break;

}
case 'C':
{
{
printf(" SWITCH ");
printf(" SELECCIONA LA OPERACION QUE DESEAS REALIZAR Q.-SUMAR W.-RESTAR E.-MULTIPLICAR R.-DIVIDIR ");
scanf("%s",& letra2);
switch(letra2)
{
case'Q':
{

printf(" [SUMANDO] ");
printf(" INGRESA PRIMER NUMERO: ");
scanf("%f",& qw);
printf(" INGRESA SEGUNDO NUMERO: ");
scanf("%f",& qe);
rs=qw+qe;
printf(" EL RESULTADO DE LA SUMA ES: %f", rs);
printf(" ");


break;
}
case'W':
{
printf(" [RESTANDO] ");
printf(" INGRESA PRIMER NUMERO: ");
scanf("%f",& qt);
printf(" INGRESA SEGUNDO NUMERO: ");
scanf("%f",& qy);
ru=qt-qy;
printf(" EL RESULTADO DE LA RESTA ES: %f", ru);
printf(" ");

break;
}
case'E':
{
printf(" [MULTIPLICANDO] ");
printf(" INGRESA PRIMER NUMERO: ");
scanf("%f",& vc);
printf(" INGRESA SEGUNDO NUMERO: ");
scanf("%f",& vb);
ri=vc*vb;
printf(" EL RESULTADO DE LA MULTIPLICACION ES: %f", ri);
printf(" ");
break;
}
case'R':
{
printf(" [DIVIDIENDO] ");
printf(" INGRESA PRIMER NUMERO: ");
scanf("%f",& zx);
printf(" INGRESA SEGUNDO NUMERO: ");
scanf("%f",& zc);
rk=zx/zc;
printf(" EL RESULTADO DE LA DIVICION ES: %f", rk);
printf(" ");
break;
}
break;
}
case'D':
printf(" WHILE ");
while (n<=15)
{
printf(" CICLO: %d",n);
printf(" ");
n++;

}
break;
}
case'E':
{
for (i=0;i<=9;i++)
{
printf("Dar dato para la localidad %d ",i);
scanf("%d",& num[i]);
}
for (i=0;i<=9;i++)
printf(" el numero en la localidad %d es %d ",i,num[i]);

break;
}
{
}
}
}
}

Tambien quisiera saber , que funcion se utiliza para poder volver al menu principal despues de aber seleccionado un case, eh utilizado return, pero no me funciona , o no se como utilizarlo, bueno agradeceria mucho que me presten su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemilla con switch

Publicado por m (8 intervenciones) el 14/11/2008 17:53:47
revisa en
case 'C':
{
{
estas abriendo dos '{' llaves y no estas cerrando todas
cuando terminas ese bloque.

suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemilla con switch

Publicado por luis (1 intervención) el 26/05/2009 22:42:35
tienen este problema

una empresa desea obtener el tot<al de accesos a un programa de espectaculos considerando las sig opciones:1 niño,2 niña,3 joven mujer, 4 joven hombre y acer un programa que mediante instrucciiones switch realicen lo que se pide tomando en cuenta que al final (al sali de estas opciones) se debe desplegar un resumen de las votaciones de cada participante deplegar el total de niño,niña,mujer y hombre debe pedir otro calculo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de orestes

RE:Problemilla con switch

Publicado por orestes (5 intervenciones) el 06/12/2008 01:18:55
sencillo:

haz lo sigueinte:
do{
/*primero muestras el menu*/
/*entrar opcion*/
system("cls"); /*limpiar pantalla*/
/*implementas los case*/
}
while(letra!=z); /*z es la opcion de salir de la aplicacion, no la deves colocar en ningun case*/

Esto te repite el algoritmo hasta que entres z que es salir puedes poner otra letra para salir pero recuerda no incluirla en ningun case.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar