[C con Clase] Problemas con "Switch"
Omar Murray
esomy_m en yahoo.es
Mie Mayo 2 14:27:53 CEST 2007
hectorfh en gmail.com escribió:
> Hola Omar:
>
> Puede parecer estúpido, pero antes de forzar la cerradura, fijémonos
> si esta abierta la puerta. ¿Estás seguro que el programa está entrando
> a la función?
>
> Saludos
>
Si entra... mira,paso gran parte del código para que lo vean...
++++++++++++++++++++++++++++++++COMIENZO+++++++++++++++++++++++++++++
# include <stdio.h>
# include <conio.h>
#define TAM 20
void cad2int(void);
void int2cad(int);
void main ()
{
int a;
int entero;
clrscr();
printf("\nIngrese Dato\n");
printf("\nElija opcion");
printf("\n1. Cadena de char");
printf("\n2. Entero");
printf("\n3. XXX\n");
printf("\n4. Salir.");
scanf("%d",&a);
fflush(stdin);
while (a!=4){
switch(a)
{
case 1: cad2int();
break;
case 2: scanf("%d%", &entero); int2cad(entero);
break;
default: printf("\nINGRESO ERRONEO");
}
printf("\n\nElija opcion");
printf("\n1. Cadena de char");
printf("\n2. Entero");
printf("\n4. Salir\n.");
scanf("%d",&a);
}
getch();
}
//************FUNCION CADENA A ENTERO*************
void cad2int()
{
char cad[TAM],numero[TAM];
int x=0, y;
printf("Ingrese cadena: ");
fgets(cad, TAM, stdin);
for (y=0;y<TAM;y++)
{ if(cad[y]>='1' && cad[y]<='9')
{numero[x]=cad[y]; x++; }
}
numero[x]='\0';
printf("\nEl numero de DNI: \"%s\" es ahora el entero: %d\n", numero,
atol(numero));
}
++++++++++++++++++++++++++++++++++++++FIN+++++++++++++++++++++++++++++++
el resultado, despues de elegir la opción '1' es este:
//////////////////////////COMIENZO//////////////////////////////
Ingrese Dato
Elija opcion
1. Cadena de char
2. Entero
3. XXX
4. Salir.1
Ingrese cadena:
El numero de DNI: "" es ahora el entero: 0
Elija opcion
1. Cadena de char
2. Entero
3. XXX
4. Salir
/////////////////////////////////FIN/////////////////////////////////
He puesto la función fflush justo antes de llamar a la función, y
nada... He modificado el código para ingresar el dato desde el main....y
me hace lo mismo... misterio... la verdad es que no encuentro donde está
el error...
--
oM
Omar G. Murray [Crux_]
esomy_m en yahoo.es
JID: Crux en jabber.freenet.de
http://mysteriouswaystg.blogspot.com
*********************************************
Powered by Debian Etch GNU-Linux - kernel 2.6.17-2-K7
&&
Powereb by Ubuntu Feisty Fawn 7.04 GNU-Linux - kernel 2.6.20-15
Más información sobre la lista de distribución Cconclase