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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: ayuda porfavor validador de rut con menu en dev c++ 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
2  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