elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema programa reconocer caracter
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema programa reconocer caracter  (Leído 5,128 veces)
raulgombru

Desconectado Desconectado

Mensajes: 30


Almendras y Mejillones! :D


Ver Perfil WWW
problema programa reconocer caracter
« en: 23 Septiembre 2010, 19:10 pm »

He hecho un programa que reconozca el carácter introducido, y el compilador me da errores no dejándome compilar. ¿Veis que puede estar ma?


Código
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. void main ()
  5. {
  6.  
  7. char z;
  8. int t;
  9.  
  10. printf ("Introduce un caracter");
  11. scanf ("%c%*c", z);
  12.  
  13. if (z<57)
  14. {
  15. t=1;
  16. }
  17.  
  18. else
  19. {
  20. if (z>97)
  21.  
  22.             {
  23.                   if (z=!'a'&&z=!'e'&&z=!'i'&&z=!'o'&&z=!'u')
  24.                   {
  25.                   t=2;
  26.                   }
  27.                   else
  28.                   {
  29.                       t=3;
  30.                       }
  31.                       }
  32.  
  33.     else
  34.     {          
  35.                if (z=!'A'&&z=!'E'&&z=!'I'&&z=!'O'&&z=!'U')
  36.                {
  37.                t=4;        
  38. }
  39.  
  40.                else
  41.                {
  42.                    t=5;
  43.                    }
  44.  
  45. }
  46. }
  47. switch (t);
  48. {
  49.  
  50.                 case 1:
  51.            printf ("No es una letra. No es una vocal. No es una consonante. No es una mayúscula. No es una minúscula. Es un dígito.");
  52.            break;
  53.                 case 2:
  54.            printf ("Es una letra. No es una vocal. Es una consonante. No es una mayúscula. Es una minúscula. No es un dígito.");
  55.            break;
  56.                 case 3:
  57.            printf ("Es una letra. Es una vocal. No es una consonante. No es una mayúscula. Es una minúscula. No es un dígito.");
  58.            break;
  59.                 case 4:
  60.            printf ("Es una letra. No es una vocal. Es una consonante. No es una mayúscula. No es una minúscula. No es un dígito.");
  61.            break;
  62.                 case 5:
  63.            printf ("Es una letra. No es una vocal. Es una consonante. No es una mayúscula. No es una minúscula. No es un dígito.");
  64.            break;
  65.  
  66.            }
  67. }
  68.  




Me da problemas con el swith y con estan condiciones: "if (z=!'a'&&z=!'e'&&z=!'i'&&z=!'o'&&z=!'u')")


« Última modificación: 23 Septiembre 2010, 19:34 pm por Littlehorse » En línea

Almendras y Mejillones

Voy a ser sincero: No sé muy bien lo que voy a escribir en este blog. Lo que sí sé es que a veces necesito quejarme de cosas que me desagradan, reivindicar otras que no tengo o compartir con otros las que me gustan. ¿Qué mejor medio para hacer todo esto que internet?

http://almendrasymejillones.blogspot.com
Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: problema programa reconocer caracter
« Respuesta #1 en: 23 Septiembre 2010, 19:13 pm »

para la operación distinto, es !=, no =!.


En línea

raulgombru

Desconectado Desconectado

Mensajes: 30


Almendras y Mejillones! :D


Ver Perfil WWW
Re: problema programa reconocer caracter
« Respuesta #2 en: 23 Septiembre 2010, 19:16 pm »

Ok, gracias! Solo me queda el error del switch... TT:

Me dice:

case label not within a switch statement
break statement not within loop or switch
En línea

Almendras y Mejillones

Voy a ser sincero: No sé muy bien lo que voy a escribir en este blog. Lo que sí sé es que a veces necesito quejarme de cosas que me desagradan, reivindicar otras que no tengo o compartir con otros las que me gustan. ¿Qué mejor medio para hacer todo esto que internet?

http://almendrasymejillones.blogspot.com
Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: problema programa reconocer caracter
« Respuesta #3 en: 23 Septiembre 2010, 19:18 pm »

en todo switch siempre debe haber un case default
En línea

raulgombru

Desconectado Desconectado

Mensajes: 30


Almendras y Mejillones! :D


Ver Perfil WWW
Re: problema programa reconocer caracter
« Respuesta #4 en: 23 Septiembre 2010, 19:23 pm »

ok.. la he colocado, pero persiste el error:

Código
  1. switch (t);
  2. {
  3.  
  4.                 case 1:
  5.            printf ("No es una letra. No es una vocal. No es una consonante. No es una mayúscula. No es una minúscula. Es un dígito.");
  6.            break;
  7.                 case 2:
  8.            printf ("Es una letra. No es una vocal. Es una consonante. No es una mayúscula. Es una minúscula. No es un dígito.");
  9.            break;
  10.                 case 3:
  11.            printf ("Es una letra. Es una vocal. No es una consonante. No es una mayúscula. Es una minúscula. No es un dígito.");
  12.            break;
  13.                 case 4:
  14.            printf ("Es una letra. No es una vocal. Es una consonante. No es una mayúscula. No es una minúscula. No es un dígito.");
  15.            break;
  16.                 case 5:
  17.            printf ("Es una letra. No es una vocal. Es una consonante. No es una mayúscula. No es una minúscula. No es un dígito.");
  18.            break;
  19.  
  20.                  default:
  21.                          printf ("Error. Debes introducir una letra o un dígito");
  22.  
  23.            }
« Última modificación: 23 Septiembre 2010, 19:33 pm por Littlehorse » En línea

Almendras y Mejillones

Voy a ser sincero: No sé muy bien lo que voy a escribir en este blog. Lo que sí sé es que a veces necesito quejarme de cosas que me desagradan, reivindicar otras que no tengo o compartir con otros las que me gustan. ¿Qué mejor medio para hacer todo esto que internet?

http://almendrasymejillones.blogspot.com
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: problema programa reconocer caracter
« Respuesta #5 en: 23 Septiembre 2010, 19:27 pm »

Tienes un ; de mas en esta linea:

Código
  1. switch (t);

quita el ;.

En cuanto al default, es opcional, no es estrictamente necesario.

En cuanto a otros errores del código como este:

Código
  1. void main ()
  2.  

Lee este hilo: click

Saludos
« Última modificación: 23 Septiembre 2010, 19:30 pm por Littlehorse » En línea

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

Desconectado Desconectado

Mensajes: 30


Almendras y Mejillones! :D


Ver Perfil WWW
Re: problema programa reconocer caracter
« Respuesta #6 en: 23 Septiembre 2010, 19:36 pm »

Gracias por lo del swith! quitando ese ; ya compila  ;D
Sin embargo al ejecutarlo e intrducir un carácter el programa deja de responder.. TT ideas?
En línea

Almendras y Mejillones

Voy a ser sincero: No sé muy bien lo que voy a escribir en este blog. Lo que sí sé es que a veces necesito quejarme de cosas que me desagradan, reivindicar otras que no tengo o compartir con otros las que me gustan. ¿Qué mejor medio para hacer todo esto que internet?

http://almendrasymejillones.blogspot.com
Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: problema programa reconocer caracter
« Respuesta #7 en: 23 Septiembre 2010, 19:39 pm »

Podrías poner el código tal como lo tienes ahora?



En cuanto al default, es opcional, no es estrictamente necesario.


Vaya, fallo mío entonces. No se por qué pensaba que era necesario.
En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: problema programa reconocer caracter
« Respuesta #8 en: 23 Septiembre 2010, 19:43 pm »

Gracias por lo del swith! quitando ese ; ya compila  ;D
Sin embargo al ejecutarlo e intrducir un carácter el programa deja de responder.. TT ideas?

De nada.

Estas utilizando mal scanf, lee este link

Citar
The function expects a sequence of references as additional arguments, each one pointing to an object of the type specified by their corresponding %-tag within the format string, in the same order.
For each format specifier in the format string that retrieves data, an additional argument should be specified.
These arguments are expected to be references (pointers): if you want to store the result of a fscanf operation on a regular variable you should precede its identifier with the reference operator, i.e. an ampersand sign (&), like in:


    int n;
    scanf ("%d",&n);


Te recomendaría que revises los apuntes de clase si es que tienes, o que busques un buen libro para comenzar con los conceptos básicos implicados. Ademas, utiliza el buscador del foro, ya que este tema esta tratado varias veces y podrás encontrar varios posts para guiarte.

Cualquier cosa ya sabes.

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema para reconocer una tecla.
Java
xopito 2 6,414 Último mensaje 26 Marzo 2011, 11:45 am
por xopito
Help! Programa para sustituir un carácter en C
Programación C/C++
sora_ori 9 17,268 Último mensaje 7 Febrero 2013, 16:50 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines