Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]
//leer numero como entero
digitos_4 = numero%10000;



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:


#include <stdlib.h>
#include <stdio.h>
struct Estudiantes{
int cedula;
char nombre[25];
char apellido[25];
int edad;
char profesion[20];
int nacimiento;
char direccion[50];
int telefono;
};
int main(int argc, char const *argv[])
{
struct Estudiantes estud[30];
int i;
printf("\tREGISTRO\n");
for(i=1;i<=30;i++){
printf("Estudiante #%d \n",i);
printf("Ingrese el nombre del estudiante: ");
scanf("%s",&estud[i].nombre);
fflush(stdin);
printf("Ingrese el apellido: ");
scanf("%s",&estud[i].apellido);
fflush(stdin);
printf("Ingrese la cedula: ");
scanf("%d",&estud[i].cedula);
fflush(stdin);
estud[i].nacimiento=estud[i].cedula%10000;
estud[i].edad=2017-estud[i].nacimiento;
printf("Ingrese la profesion: ");
scanf("%s",&estud[i].profesion);
fflush(stdin);
printf("Ingrese la direccion: ");
scanf("%s",&estud[i].direccion);
fflush(stdin);
printf("Ingrese el numero de telefono: ");
scanf("%d",&estud[i].telefono);
system("cls");
}

for(i=1;i<=30;i++){
printf("Nombre y Apellido: %s %s \n",estud[i].nombre, estud[i].apellido);
printf("Cedula: %d\n",estud[i].cedula);
printf("año de nacimiento: %d \n",estud[i].nacimiento);
printf("Edad: %d \n",estud[i].edad);
printf("Profesion: %s \n",estud[i].profesion);
printf("Telefono: %d \n",estud[i].telefono);
printf("\n \n");
}
return 0;
}