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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayudeme problema con validacion corre perfecto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayudeme problema con validacion corre perfecto  (Leído 964 veces)
vidalpet

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Ayudeme problema con validacion corre perfecto
« en: 31 Octubre 2015, 20:05 pm »

Código
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. int main(){
  4. int  v1=0, v2=0, v3=0, nulo=0, i=0, cant;
  5. char dato;
  6. int votos;
  7.  
  8. printf("numero de cedula\n");
  9.    scanf("%c",&dato);
  10.  
  11. if(isdigit(dato)){
  12. printf("Bienvenido\n");
  13.  
  14. printf("ingresa la cantidad de votos a contar\n");
  15. scanf("%d",&cant);
  16.  
  17.  
  18. while(i<cant){
  19.  
  20. printf("voto\n");
  21. scanf("%d",&votos);
  22.  
  23. switch (votos){
  24.  
  25.  
  26.  
  27.  
  28.  
  29. case 1:
  30.  v1++;
  31. break;
  32.  
  33. case 2:
  34. v2++;
  35. break;
  36.  
  37. case 3:
  38. v3++;
  39. break;
  40.  
  41. default:
  42. nulo++;
  43. break;
  44. }
  45.  
  46. i++;
  47. }
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56. printf("maduro %d\n",v1);
  57. printf("diosdado %d\n",v2);
  58. printf("leopoldo %d\n",v3);
  59. printf("nulo %d\n",nulo);
  60.  
  61. if(v1>v2 &&v1>v3){
  62. printf("ganoo maduro\n");
  63. }else{
  64. if(v2>v1 && v1>v3){
  65. printf("diosdado\n");
  66. }else{
  67. if(v3>v1 && v3>v2){
  68. printf("leopoldo ganoo\n");
  69. }else{
  70.  
  71. }
  72.  
  73. }
  74. }
  75.  
  76. }
  77. else{
  78. printf("ERROR marque su numero de cedula en valores numericos\n");
  79. }
  80.  
  81.  
  82. return 0;
  83. }
  84.  



tengo una duda ya estaba desesperado :( quise estudiar la funciion isdigit  pero no me salia :( despues de mas de 3 horas que m salio :( me correo pero no hace nada :( la variabel cant deberia de decir cuantas personas votaron , otra cosa necesito consejo de ustedes como aprendiendo a programar ? un metodo ? xd sufro me gusta pero sufro


En línea

vidalpet

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Ayudeme problema con validacion corre perfecto
« Respuesta #1 en: 1 Noviembre 2015, 01:22 am »

:( lei sobre esa funcion de la libreria ctype pero necesito ayuda


En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Ayudeme problema con validacion corre perfecto
« Respuesta #2 en: 1 Noviembre 2015, 03:33 am »

Aprender a programar es complicado, pues aunque sepas la teoría, siempre necesitas un montón de práctica para coger hábitos. Mi consejo es que practiques mucho, busques ejercicios de buena calidad, o que tu mismo inventes tus propios ejercicios (te aconsejo lo último). Respecto a la duda sobre el código, no veo dónde está el problema... He compilado y ejecutado el programa y he obtenido la siguiente salida:

Código:
numero de cedula
5
Bienvenido
ingresa la cantidad de votos a contar
5
voto
2
voto
4
voto
6
voto
2
voto
3
maduro 0
diosdado 2
leopoldo 1
nulo 2

¿No debería ser así?

Otro ejemplo para que veas que isdigit funciona:
Código:
numero de cedula
c
ERROR marque su numero de cedula en valores numericos

Lo que pasa es que tu código no contempla empates
« Última modificación: 1 Noviembre 2015, 03:36 am por class_OpenGL » En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
vidalpet

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Ayudeme problema con validacion corre perfecto
« Respuesta #3 en: 1 Noviembre 2015, 03:45 am »

corre  bien pero que pasa si el usuario  su numero de cedula es 20131811 , normalmente la cedula no son unidades , son millones ejemplo 20131811 
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Ayudeme problema con validacion corre perfecto
« Respuesta #4 en: 1 Noviembre 2015, 08:24 am »

Lo que hace 'scanf("%c",&dato);' es leer el primer carácter del buffer de entrada. Cuando introduces un número como 1923542345, lo que introduces es una cadena de caracteres, por lo que de esa cadena tomará el 1 y el resto se quedará "como basura" (que puedes limpiar con fflush(stdin);). La solución más factible que veo es que pidas un entero, y que compruebes si está entre uno y diez.
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
furciorifa

Desconectado Desconectado

Mensajes: 94


Ver Perfil
Re: Ayudeme problema con validacion corre perfecto
« Respuesta #5 en: 3 Noviembre 2015, 01:57 am »

Usa fgets para recibir la cadena amigo esa es tu falla, scanf y gets son muy malos para cadenas.
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Ayudeme problema con validacion corre perfecto
« Respuesta #6 en: 3 Noviembre 2015, 03:14 am »

El no quiere recibir una cadena... quiere recibir un carácter. Scanf no es malo para los string, solamente tienes que tener cuidado de que no recoge la línea entera, sino una palabra (las palabras están delimitadas por espacios)
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema validacion windows xp sp3
Windows
motocros_elche 6 14,848 Último mensaje 10 Junio 2013, 10:15 am
por Randomize
Capturan a loro que alertaba a narcos'Corre, corre que te coge el gato!!!
Foro Libre
ALEX_21_3 6 3,376 Último mensaje 21 Septiembre 2010, 21:48 pm
por invisible_hack
~$ Corre Linux Corre!
GNU/Linux
CodeSource 3 1,240 Último mensaje 5 Marzo 2013, 22:13 pm
por dato000
Problema con validacion w3c
Desarrollo Web
corredor10k 0 706 Último mensaje 18 Octubre 2013, 20:48 pm
por corredor10k
smart tv xenex y se conecta perfecto al wi fi el problema esta en que al ponerle
Dudas Generales
mason 1 439 Último mensaje 26 Julio 2018, 21:34 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines