CEDULA
programa que ingrese su cedula y se separe en susu respectivos espacios de memoria luego que los numeros pares se sumen y los imperes se multipliquen por dos y si sobrepasan de 9 restarle 9 luego sumar los dos resultados de los pares e impares y subir al inmediato superior y restarles.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
char ced[10];
char *ptrced;
char z1='s';
int imp[10];
int numced[10];
int *ptrnumced;
int pares,impares,num1;
int *ptrpares;
int *ptrimpares;
int *ptrnum1;
int *ptrb;
int *ptro1;
int *ptrd10;
int s;
int o1;
int a,b;
main()
{
while(z1=='s')
{
system("color B6");
clrscr();
system("color B6");
printf("Ingrese:\n");
scanf("%s",&ced);
for(int i=0;i<10;i++){
ptrced=&ced[i];
if(*ptrced==48)
{
numced[i]=0;
}
if(*ptrced==49)
{
numced[i]=1;
}
if(*ptrced==50)
{
numced[i]=2;
}
if(*ptrced==51)
{
numced[i]=3;
}
if(*ptrced==52)
{
numced[i]=4;
}
if(*ptrced==53)
{
numced[i]=5;
}
if(*ptrced==54)
{
numced[i]=6;
}
if(*ptrced==55)
{
numced[i]=7;
}
if(*ptrced==56)
{
numced[i]=8;
}
if(*ptrced==57)
{
numced[i]=9;
}
printf("%i\n",numced[i]);
}
printf("\n");
s=1;
for(int i=0;i<10;i++)
{
ptrnumced=&numced[i];
printf("%i) %i\n",s,*ptrnumced);
s++;
}
s=0;
for(int i=0;i<5;i++)
{
imp[i]=numced[s]*2;
if(imp[i]>=9)
{
imp[i]=imp[i]-9;
}
s=s+2;
}
pares=numced[1]+numced[3]+numced[5]+numced[7];
impares=imp[0]+imp[1]+imp[2]+imp[3]+imp[4];
num1=impares+pares;
a=num1%10;
a=10-a;
b=num1 /10;
if(a>=6)
{
b=b*10;
}
if(a<6)
{
b=b+1;
b=b*10;
}
ptrpares=&pares;
ptrimpares=&impares;
ptrnum1=&num1;
ptrb=&b;
ptro1=&o1;
ptrd10=&numced[9];
o1=b-num1;
printf("\n");
printf("\n");
printf("\n");
printf("Suma de pares =%i\n",*ptrpares);
printf("Suma de impares =%i\n",*ptrimpares);
printf("Suma total =%i\n",*ptrnum1);
printf("Cifra superior =%i\n",*ptrb);
printf("Ultimo dijito de la suma es =%i\n",*ptro1);
printf("Ultimo dijito de la cedula ingresada es =%i\n",*ptrd10);
if(o1==numced[9])
{
printf("Su Cedula es correcta\n");
}
if(o1!=numced[9])
{
printf("Su cedula es incorrecta\n");
}
printf("\n");
printf("\n");
printf("Desea repetir un programa:\n");
scanf("%s",&z1);
}
}
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
char ced[10];
char *ptrced;
char z1='s';
int imp[10];
int numced[10];
int *ptrnumced;
int pares,impares,num1;
int *ptrpares;
int *ptrimpares;
int *ptrnum1;
int *ptrb;
int *ptro1;
int *ptrd10;
int s;
int o1;
int a,b;
main()
{
while(z1=='s')
{
system("color B6");
clrscr();
system("color B6");
printf("Ingrese:\n");
scanf("%s",&ced);
for(int i=0;i<10;i++){
ptrced=&ced[i];
if(*ptrced==48)
{
numced[i]=0;
}
if(*ptrced==49)
{
numced[i]=1;
}
if(*ptrced==50)
{
numced[i]=2;
}
if(*ptrced==51)
{
numced[i]=3;
}
if(*ptrced==52)
{
numced[i]=4;
}
if(*ptrced==53)
{
numced[i]=5;
}
if(*ptrced==54)
{
numced[i]=6;
}
if(*ptrced==55)
{
numced[i]=7;
}
if(*ptrced==56)
{
numced[i]=8;
}
if(*ptrced==57)
{
numced[i]=9;
}
printf("%i\n",numced[i]);
}
printf("\n");
s=1;
for(int i=0;i<10;i++)
{
ptrnumced=&numced[i];
printf("%i) %i\n",s,*ptrnumced);
s++;
}
s=0;
for(int i=0;i<5;i++)
{
imp[i]=numced[s]*2;
if(imp[i]>=9)
{
imp[i]=imp[i]-9;
}
s=s+2;
}
pares=numced[1]+numced[3]+numced[5]+numced[7];
impares=imp[0]+imp[1]+imp[2]+imp[3]+imp[4];
num1=impares+pares;
a=num1%10;
a=10-a;
b=num1 /10;
if(a>=6)
{
b=b*10;
}
if(a<6)
{
b=b+1;
b=b*10;
}
ptrpares=&pares;
ptrimpares=&impares;
ptrnum1=&num1;
ptrb=&b;
ptro1=&o1;
ptrd10=&numced[9];
o1=b-num1;
printf("\n");
printf("\n");
printf("\n");
printf("Suma de pares =%i\n",*ptrpares);
printf("Suma de impares =%i\n",*ptrimpares);
printf("Suma total =%i\n",*ptrnum1);
printf("Cifra superior =%i\n",*ptrb);
printf("Ultimo dijito de la suma es =%i\n",*ptro1);
printf("Ultimo dijito de la cedula ingresada es =%i\n",*ptrd10);
if(o1==numced[9])
{
printf("Su Cedula es correcta\n");
}
if(o1!=numced[9])
{
printf("Su cedula es incorrecta\n");
}
printf("\n");
printf("\n");
printf("Desea repetir un programa:\n");
scanf("%s",&z1);
}
}
No hay comentarios:
Publicar un comentario