Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: S4ms3pi0l__ en 26 Octubre 2017, 02:17 am



Título: [C] De una cadena de 10 dígitos, capturar lo últimos 4 dígitos e imprimirlos
Publicado por: S4ms3pi0l__ en 26 Octubre 2017, 02:17 am
Necesito su ayuda con este pequeño problemilla que tengo. Tengo que ingresar los datos de una ID, y como los últimos cuatro dígitos contiene el año de nacimiento, no sé como capturar estos 4 dígitos e imprimirlos.

No adjunto código porque no tengo ni la más mínima idea de cómo capturar estos dígitos.


Título: Re: [C] De una cadena de 10 dígitos, capturar lo últimos 4 dígitos e imprimirlos
Publicado por: engel lex en 26 Octubre 2017, 02:29 am
Código
  1. //leer numero como entero
  2. digitos_4 = numero%10000;
  3.  


esta es la operación de "modulo" da el resto de una división... eso te dará los 4 ultimos numeros


Título: Re: [C] De una cadena de 10 dígitos, capturar lo últimos 4 dígitos e imprimirlos
Publicado por: S4ms3pi0l__ en 26 Octubre 2017, 02:33 am
Voy a probarlo. Cuando lo termine, mostraré el código.


Título: Re: [C] De una cadena de 10 dígitos, capturar lo últimos 4 dígitos e imprimirlos
Publicado por: S4ms3pi0l__ en 26 Octubre 2017, 02:50 am
Bien, aquí está el código:

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. struct Estudiantes{
  4. int cedula;
  5. char nombre[25];
  6. char apellido[25];
  7. int edad;
  8. char profesion[20];
  9. int nacimiento;
  10. char direccion[50];
  11. int telefono;
  12. };
  13. int main(int argc, char const *argv[])
  14. {
  15. struct Estudiantes estud[30];
  16. int i;
  17. printf("\tREGISTRO\n");
  18. for(i=1;i<=30;i++){
  19. printf("Estudiante #%d \n",i);
  20. printf("Ingrese el nombre del estudiante: ");
  21. scanf("%s",&estud[i].nombre);
  22. fflush(stdin);
  23. printf("Ingrese el apellido: ");
  24. scanf("%s",&estud[i].apellido);
  25. fflush(stdin);
  26. printf("Ingrese la cedula: ");
  27. scanf("%d",&estud[i].cedula);
  28. fflush(stdin);
  29. estud[i].nacimiento=estud[i].cedula%10000;
  30. estud[i].edad=2017-estud[i].nacimiento;
  31. printf("Ingrese la profesion: ");
  32. scanf("%s",&estud[i].profesion);
  33. fflush(stdin);
  34. printf("Ingrese la direccion: ");
  35. scanf("%s",&estud[i].direccion);
  36. fflush(stdin);
  37. printf("Ingrese el numero de telefono: ");
  38. scanf("%d",&estud[i].telefono);
  39. system("cls");
  40. }
  41.  
  42. for(i=1;i<=30;i++){
  43. printf("Nombre y Apellido: %s %s \n",estud[i].nombre, estud[i].apellido);
  44. printf("Cedula: %d\n",estud[i].cedula);
  45. printf("año de nacimiento: %d \n",estud[i].nacimiento);
  46. printf("Edad: %d \n",estud[i].edad);
  47. printf("Profesion: %s \n",estud[i].profesion);
  48. printf("Telefono: %d \n",estud[i].telefono);
  49. printf("\n \n");
  50. }
  51. return 0;
  52. }
  53.