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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda porfavor validador de rut con menu en dev c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda porfavor validador de rut con menu en dev c++  (Leído 8,264 veces)
osvaldo.87

Desconectado Desconectado

Mensajes: 2


Ver Perfil
ayuda porfavor validador de rut con menu en dev c++
« en: 28 Septiembre 2010, 09:42 am »

hola a todos tengo que crear un algoritmo que valide verifique rut con menu y todo bueno este es el algoritmo que llevo echo pero al momento de compilar me tira errores quisiera saber si ustedes podrian ayudarme a corregirlos porfavor aqui les dejo el algoritmo aa lo tengo que compilar en dev c++

Código
  1. # include <stdlib.h>
  2. # include <conio.h>
  3. # include <ctype.h>
  4.  
  5. # define K 10 /*DECLARACION DE CONSTANTES*/
  6. # define LIMITE 1000000
  7. # define M 11
  8.  
  9. /*FUNCION DIGITOVER:CALCULA EL DIGITO VERIFICADOR*/
  10. int digitover(int digito){
  11. int resto=0,mult=1,i=2,suma=0;
  12. while(digito!=0){
  13. resto=digito%K;
  14. digito=digito/K;
  15. mult=resto*i;
  16. suma+=mult;
  17. i++;
  18. if(i+1==9){
  19. i=2;
  20. }
  21. }
  22. resto=suma/M;
  23. digito=resto*M;
  24. resto=suma-digito;
  25. digito=M-resto;
  26. return digito;/*RETORNA DIGITO VERIFICADOR*/
  27. }
  28. /*FUNCION ERROR:MUESTRA MENSAJE EN PANTALLA*/
  29. char error(){
  30. printf;(“\n\n\ERROR<<<<EL RUT(RUN”)
  31. ” ES INCORRECTO!!!);
  32. }
  33. /*FUNCION MENSAJE:MUESTRA MENSAJE EN PANTALLA*/
  34. char mensaje(){
  35. printf(“\n\n\t<<<<PRESIONE UNA TECLA PARA VOLVER AL MENU”);
  36. }
  37. /*FUNCION MENU:MUESTRA MENU EN PANTALLA*/
  38. char menu(){
  39. printf(“\tMENU DE OPCIONES\n”);
  40. printf(“\n\t1-VALIDAR RUT(RUN));
  41. printf(“\n\t2-OBTENER DIGITO VERIFICADOR RUT(RUN));
  42. printf(“\n\t3-SALIR”);
  43. printf(“\n\n\tESCOJA SU OPCION:);
  44. }
  45. /*PROGRAMA PRINCIPAL*/
  46. int main(){
  47. int rut,dig,digito=0;
  48. char c,resp,d;
  49. do{
  50. do{
  51. system(“CLS()); /*LIMPIA LA PANTALLA*/
  52. menu();
  53. c=getche();
  54. if ((c==1?)||(c==2?)||(c==3?)){/*VALIDA LA OPCION DE MENU*/
  55. switch ©{
  56. case1?:
  57. rut=0; /*INICIALIZACION*/
  58. system(“CLS()); /*LIMPIA LA PANTALLA*/
  59. printf(”\n\tEJEMPLO RUT(RUN):12.345.678-X,
  60. “INGRESAR:12345678-X”);
  61. printf(“\n\n\tINGRESAR RUT(RUN):);
  62. scanf(%d-%c”,&rut,&d);
  63.  
  64. /*VALIDA EL DIGITO VERIFICADOR INGRESADO POR EL USUARIO*/
  65. /* OTORGANDO UN VALOR TIPO INT A LA VARIABLE DIG */
  66.  
  67. if((d==’k')||(d==’K')){
  68. dig=K;/*dig=10*/
  69. }
  70. else if(d==0?){
  71. dig=M;/*dig=11*/
  72. }
  73. else if(d==1?){
  74. dig=1;
  75. }
  76. else if(d==2?){
  77. dig=2;
  78. }
  79. else if(d==3?){
  80. dig=3;
  81. }
  82. else if(d==4?){
  83. dig=4;
  84. }
  85. else if(d==5?){
  86. dig=5;
  87. }
  88. else if(d==6?){
  89. dig=6;
  90. }
  91. else if(d==7?){
  92. dig=7;
  93. }
  94. else if(d==8?){
  95. dig=8;
  96. }
  97. else if(d==9?){
  98. dig=9;
  99. }
  100. else{
  101. dig=-1;/*EL DIGITO VERIFICADOR INGRESADO NO ES VALIDO*/
  102. }
  103. if(dig!=-1){/*SE REALIZA CUANDO ES VALIDO EL*/
  104. /* DIGITO VERIFICADOR INGRESADO */
  105. if(rut>LIMITE){/*ACEPTA RUT(RUN)MAYORES QUE LIMITE*/
  106. digito=digitover(rut);
  107. if(digito==dig){
  108. printf(“\n\tEL RUT(RUN) \”%d-%c\” A PASADO”
  109. ” LA VALIDACION”,rut,d);
  110. }
  111. else{/*SE REALIZA CUANDO EL DIGITO */
  112. /* VERIFICADOR NO ES VALIDO */
  113. error();/*INVOCA FUNCION ERROR*/
  114. }
  115. }
  116. else{ /*SE REALIZA CUANDO EL RUT NO ES VALIDO*/
  117. error();/*INVOCA FUNCION ERROR*/
  118. }
  119. }
  120. else{/*SE REALIZA CUANDO EL DIGITO VERIFICADOR INGRESADO NO ES VALIDO */
  121. error();/*INVOCA FUNCION ERROR*/
  122. }
  123. mensaje();/*INVOCA FUNCION MENSAJE*/
  124. break;/*FIN CASE 1*/
  125. case2?:
  126. rut=0; /*INICIALIZACION*/
  127. system(“CLS()); /*LIMPIA LA PANTALLA*/
  128. printf(“\n\tEJEMPLO RUT(RUN):12.345.678-X,
  129. “INGRESAR:12345678?);
  130. printf(“\n\n\tINGRESAR RUT(RUN):);
  131. scanf(%d”,&rut);
  132.  
  133. if(rut>LIMITE) /*ACEPTA RUT(RUN) MAYORES A LIMITE*/
  134. {
  135. digito=digitover(rut); /*ASIGNACION MEDIANTE INVOCACION*/
  136. /* A FUNCION DIGITOVER */
  137. if(digito==M)
  138. {
  139. digito=0;
  140. printf(“\n\tEL DIGITO VERIFICADOR ES: %d”,digito);
  141. }
  142. else if(digito==K)
  143. {
  144. printf(“\n\tEL DIGITO VERIFICADOR ES: %c“,’K');
  145. }
  146. else{
  147. printf(“\n\tEL DIGITO VERIFICADOR ES: %d”,digito);
  148. }
  149. else /*SE REALIZA SI EL RUT NO ES VALIDO*/
  150. {
  151. error(); /*INVOCA FUNCION ERROR*/
  152. }
  153. mensaje();/*INVOCA FUNCION MENSAJE*/
  154.  
  155. break; /*FIN CASE 2*/
  156. }/*FIN SWITCH*/
  157. } /*FIN IF*/
  158. else{/*SE REALIZA CUANDO LA OPCION DE MENU NO ES VALIDA*/
  159. printf(“\n\tERROR<<<<DEBE ELEGIR UNA OPCION VALIDA”);
  160. mensaje();/*INVOCA FUNCION MENSAJE*/
  161. }
  162. }while(c!=’3?);
  163. printf(“\n\n\t\tQUIRES SALIR DEL PROGRAMA?”
  164. \n\n\t<<<SI…ENTONCES PULSA [ S ]”
  165. \n\t\<<<NO…ENTONCES PULSA UNA TECLA PARA VOLVER AL MENU”);
  166. resp=toupper(getch());/*CONVIERTE A MAYUSCULA [s -> S]*/
  167. }while(resp!=’S');
  168. return 0;
  169. }/*FIN DEL PROGRAMA*/


no se si algo sobre falte o si esta bien echo porfavor ayudenme es coeficiente este trabajo de ante mano muchas gracias adios.


« Última modificación: 28 Septiembre 2010, 18:18 pm por osvaldo.87 » En línea

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

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: ayuda porfavor validador de rut con menu en dev c++
« Respuesta #1 en: 28 Septiembre 2010, 15:05 pm »

osvaldo.87, bienvenido al foro. Postea los errores que te da el compilador asi podemos verlos en detalle.

Para postear código, utiliza las etiquetas GeShi.

C
[code=c]codigo[/code]

C++
[code=cpp]codigo[/code]

Edit: Arreglado, gracias! se me paso  :)


« Última modificación: 28 Septiembre 2010, 16:55 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.
MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: ayuda porfavor validador de rut con menu en dev c++
« Respuesta #2 en: 28 Septiembre 2010, 16:24 pm »

osvaldo.87, bienvenido al foro. Postea los errores que te da el compilador asi podemos verlos en detalle.

Para postear código, utiliza las etiquetas GeShi.

C
[code=c]codigo[/code]

C++
[code=c]codigo[/code]

has puesto el mismo codigo para c que para c++. El de c++ es:
C++
[code=cpp]codigo[/code]
[/quote]

(se lo digo a osvaldo, ya se que tu lo sabes)
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: ayuda porfavor validador de rut con menu en dev c++
« Respuesta #3 en: 28 Septiembre 2010, 16:37 pm »

Solo viendo el codigo dentro de las etiquetas Geshi se ve el error... hay muchos errores de sintaxis...

creo que necesitas un buen libro... o en su defecto diferenciar entre comillas y una tilde.
En línea

osvaldo.87

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: ayuda porfavor validador de rut con menu en dev c++
« Respuesta #4 en: 28 Septiembre 2010, 18:21 pm »

aqui ise otro me falta hacer solamente el marco ojala me puedan ayudar porfa se los agradeceria mucho saludos


Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<string.h>
  4.  
  5. int main()
  6.  
  7. {
  8. int i,j,suma,valor,dijito,ult,resp;
  9. char rut[9],var,ultimo;
  10.  
  11. resp=0;
  12.  
  13. do
  14. {
  15. fflush(stdin);//libera el buffer de entrada  y salida
  16. suma=0;
  17.  
  18.  
  19. printf("ingrese rut:");
  20. gets(rut);
  21.  
  22. j=2;
  23.  
  24. for(i=7;i>=0;i--)
  25. {
  26. if(j==8)j=2;
  27. {
  28. suma=((rut[i]-'0')*j)+suma;
  29. j++;
  30. }
  31.  
  32. ultimo=rut[8];
  33. ult=rut[8]-'0';//trasforma en entero
  34. valor=suma%11;
  35. }
  36. dijito=11-valor;
  37.  
  38. if(dijito==10)
  39. {
  40. var='k';
  41. if((ultimo=='k')||(ultimo=='k'))
  42. {
  43. printf("rut es correcto \n");
  44. getch();
  45. }
  46. else
  47. {
  48. rut[8]=var;
  49. //printf("rut incorrecto el ultimo dijito deberia se %c \n",var);
  50. printf("rut incorrecto,el rut deberia ser %s-%d",rut,var);
  51. getch();
  52. }
  53. }
  54. else if(dijito==11)
  55. {
  56. dijito=0;
  57. if(dijito==ult)
  58. {
  59. printf("rut es correcto \n");
  60. getche();
  61. }
  62. else if(dijito!=ult)
  63. {
  64. rut[8]=dijito;
  65. //printf("el rut es incorrecto,ultimo dijito deberia ser %d \n",dijito);
  66. printf("rut incorrecto,el rut deberia ser %s-%d",rut,dijito);
  67. getch();
  68. }
  69. }
  70. else
  71. {
  72. if(dijito==ult)
  73. {
  74. printf("rut correcto \n");
  75. getch();
  76. }
  77. else if(dijito!=ult)
  78. {
  79.  rut[8]=dijito;
  80. //printf("rut incorrecto, ultimo dijito deberia ser %d \n",dijito);
  81.  printf("rut incorrecto,el rut deberia ser %s-%d",rut,dijito);
  82. }
  83. }
  84.  
  85. printf("\ndesea ingresar otro:\n");
  86. printf("1-.SI 2-.NO \n");
  87. scanf("%d",&resp);
  88. if((resp!=1)&&(resp!=2))
  89. {
  90. do{
  91. printf("Error: respuesta incorrecta, caracter no valido \n");
  92. printf("ingrese respuesta valida \n");
  93. printf("1-.SI 2-.NO \n");
  94. scanf("%d",&resp);
  95. }while((resp==1)&&(resp==2));
  96. }
  97.  
  98. }while(resp==1);
  99. printf("PRECIONE CUALQUIER TECLA PARA SALIR");
  100.  
  101. gotoxy (0,0);
  102. putchar (0xC9);
  103.  
  104. gotoxy (0,79);
  105. putchar (0xBB);
  106.  
  107. gotoxy (24,0);
  108. putchar (0xC8);
  109.  
  110. for(x=1; x<79; x++)
  111. {
  112. gotoxy (i,0);
  113. putchar (0xCD);
  114. gotoxy (i,24);
  115. putchar (0xCD);
  116. }
  117.  
  118. for(y=1; y<24; y++)
  119. {
  120. gotoxy (0,y);
  121. putchar (0xBA);
  122. gotoxy (79,y);
  123. putchar (0xBA);
  124. }
  125.  
  126. clrscr();
  127.  
  128. getche();
  129. }
  130.  
error me lo da en  gotoxy (0,0);

saludos adios
« Última modificación: 28 Septiembre 2010, 18:51 pm por Littlehorse » En línea

MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: ayuda porfavor validador de rut con menu en dev c++
« Respuesta #5 en: 28 Septiembre 2010, 22:47 pm »

no se si esto está hecho adrede:
Código
  1. //printf("el rut es incorrecto,ultimo dijito deberia ser %d \n",dijito);
En línea

Oblivi0n


Desconectado Desconectado

Mensajes: 392

Odio las ranas.


Ver Perfil
Re: ayuda porfavor validador de rut con menu en dev c++
« Respuesta #6 en: 28 Septiembre 2010, 23:40 pm »

Madre mia, aparte de los errores de sintaxis, hay errores peores de caligrafia...
te recomiendo que hagas las cosas en varias funciones, y no una main enorme, dificulta mucho la lectura del codigo
La gran pregunta -- ¿Para que pones una funcion en un comentario?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Validador en Visual.net hELp?
.NET (C#, VB.NET, ASP)
.:Snifer:. 2 2,316 Último mensaje 15 Mayo 2011, 17:12 pm
por .:Snifer:.
Validador de contraseña en c++
Programación C/C++
chuybadillo 3 2,437 Último mensaje 15 Octubre 2014, 16:51 pm
por ivancea96
Validador JSF no funciona
Java
andreslrz 0 1,601 Último mensaje 6 Diciembre 2015, 16:41 pm
por andreslrz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines