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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / 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.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines