#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
#include<iostream.h>
#define Ficha"A:\cliente.dat"
struct datos
{ //todo lo que va ha guardarse en el archivo
long rut;
char dv;
char nombre[20];
char apellido[20];
int edad;}clie;
long rut;
char nom,apell,dv;
int ed,ok,d,i,sum,dv2,f;
FILE *ficha;
//float valrut(long rut,char dv);
/*float rut;
char dv;
int ok;*/
main()
{
//int valrut(long rut,char dv)
int sum,i;
char dv2,f[10];
i=1;
sum=0;
while(rut!=0)
{
i++;
sum=sum+((rut%10)*i);
rut=rut/10;
if(i==7)i=1;
}
sum=sum%11;
sum=11-sum;
switch(sum)
{
case 11:dv2='0';
break;
case 10:dv2='K';
break;
default:itoa(sum,f,10);
dv2=f[0];
break;
}
i=0;
if(dv==dv2)
i=1;
return i;
}
void ingreso(void)
{
do
{
clrscr();
gotoxy(25,10);
cprintf("Ingrese RUT: -");
gotoxy(39,10);
scanf("%f",&xrut);
do
{
gotoxy(48,10);
dv=toupper(getch());
}while(dv!='0'&&dv!='1'&&dv!='2'&&dv!='3'&&dv!='4'&&dv!='5'&&dv!='6'&&dv!='7'&&dv!='8'&&dv!='9'&&dv!='0'&&dv!='K');
printf("%c",dv);
ok=valrut(xrut,dv);
if(ok!=1&&ok==0)
gotoxy(29,2);cprintf("Ingreso");
gotoxy(27,3);cprintf("=========");
clrscr();
gotoxy(15,6);cprintf("Rut: -");
gotoxy(20,6);scanf("%f",&rut);
do
{
d=toupper(getch());
}while(d!='1'&&d!='2'&&d!='3'&&d!='4'&&d!='5'&&d!='6'&&d!='7'&&d!='8'&&d!='9'&&d!='0'&&d!='K');
cprintf("%c",d);
ok=valrut(rut,d);
}while(ok==1);
if(ok==1)
{
ar=fopen(ficha,"a+");
if(ar==Null)
{
ar=Fopen(Ficha,"w");
}
printf("Nombre:");
scanf("%s",&cliente.nombre);
printf("Apellido:");
scanf("%s",&cliente.apellido);
printf("Edad:");
scanf("%i",&cliente.edad);
cprintf("¨Desea Guardar los Datos?(S/N)");
do
{
yes=toupper(getch());//validar las teclas
}while(yes!='S'&&yes!='N');
printf("%c",yes);
if(yes=='S')
{
cliente.rut=xrut;
cliente.dv=d;
cliente.edad=ed;
archivo=fopen(ficha,"a+");
if(archivo==null)
{
archivo=fopen(ficha,"w");
}
fwrite(&cliente,sizeof(cliente),1,ar);
}
do
{
printf("¨Desea ingresar otro?(S/N)");
r=toupper(getch());
}while(r!='S'&&r!='N');
cprintf("%c",r);
}while(r!='N');
}
fclose(ar);
}