void ktpass()
{
    int i;
    char pas[7],inpass[7] ;
    printf("Vui long nhap ma PIN ");
    getpin(inpass,7);
    f=fopen("pass.dat","rt");
    fgets(pas,7,f);
    while(strcmp(inpass,pas)!=0)
    {
        printf("Vui long nhap ma PIN ");
        getpin(inpass,7);
    }
}
static inline uint32_t resetbus(void) {
	uint32_t devicepresent=0;

	setpin0();
	BusyWait8(480<<3);
	setpinhiz();
	BusyWait8(70<<3);
	if(getpin() == 0) devicepresent=1;
	BusyWait8(410<<3);

	return devicepresent;
}
static inline uint32_t xferbit(uint32_t thebit) {
	setpin0();
	BusyWait8(12); // 1.5us
	if(thebit) setpinhiz();
	thebit = 0;
	BusyWait8(13<<3);
	if(getpin()) thebit = 0x01;
	BusyWait8(45<<3);
	setpinhiz();
	BusyWait8(10<<3);
	return thebit;
}
static inline uint32_t resetbus(void) {
	uint32_t devicepresent = 0;

	setpin0();
	BusyWait(TICKS_US(480));
	setpinhiz();
	BusyWait(TICKS_US(70));
	if (getpin() == 0) devicepresent = 1;
	BusyWait(TICKS_US(410));

	return devicepresent;
}
static inline uint32_t xferbit(uint32_t thebit) {
	setpin0();
	BusyWait(TICKS_US(1.5));
	if (thebit) setpinhiz();
	thebit = 0;
	BusyWait(TICKS_US(13));
	if (getpin()) thebit = 0x01;
	BusyWait(TICKS_US(45));
	setpinhiz();
	BusyWait(TICKS_US(10));
	return thebit;
}
static inline uint32_t xferbyte(uint32_t thebyte) {
	for(uint32_t bits=0; bits<8; bits++) {
		setpin0();
		BusyWait8(12); // 1.5us
		if(thebyte&0x01) setpinhiz();
		thebyte >>= 1;
		BusyWait8(13<<3);
		if(getpin()) thebyte |= 0x80;
		BusyWait8(45<<3);
		setpinhiz();
		BusyWait8(10<<3);
	}
	return thebyte;
}
static inline uint32_t xferbyte(uint32_t thebyte) {
	for (uint32_t bits = 0; bits < 8; bits++) {
		setpin0();
		BusyWait(TICKS_US(1.5)); // 1.5us
		if (thebyte&0x01) setpinhiz();
		thebyte >>= 1;
		BusyWait(TICKS_US(13));
		if (getpin()) thebyte |= 0x80;
		BusyWait(TICKS_US(45));
		setpinhiz();
		BusyWait(TICKS_US(10));
	}
	return thebyte;
}
void motk()
{
    char a[7],b[50],d[30],s[30],ddan[30];
    unsigned long c=50000;
    int n=0,e;
    printf("�������������������������������������������������\n");
    printf("Nhap tai khoan muon tao: ");
    fflush(stdin);
    gets(ddan);
    if((f = fopen(ddan, "rt")) == NULL)  
    		{
    			printf("Nhap ma PIN: ");
   				getpin(a,7);
    			printf("Nhap ten tai khoan: ");
    			fflush(stdin);
    			gets(s);
    			printf("Nhap so tai khoan : ");
    			fflush(stdin);
    			gets(d);
    			printf("�������������������������������������������������\n");
    			printf("Ban co muon tao tai khoan nay Y/N :");
    			scanf("%d",&e);
    			if ((e=getchar())=='y'||(e=getchar())=='Y');
    				{
        				printf("................Dang tao tai khoan...............\n");
        				f=fopen(ddan,"wt");
        				fputs(a,f);
        				fprintf(f,"\n");
        				fputs(s,f);
        				fprintf(f,"\n");
        				fputs(d,f);
        				fprintf(f,"\n");
        				fprintf(f,"%d\n",c);
        				fputs(getTime(),f);
        				fprintf(f,"%d",n);
        				fclose(f);
        				Sleep(2000);
        				printf("......................Xong ......................\n");
        				Sleep(2000);
   					};
    		}
	else 
		printf("            Tai khoan da ton tai.                \n");
    printf("�������������������������������������������������\n");
    printf("Ban co muon tro ve menu Y/N :");
    scanf("%d",&e);
    if ((e=getchar())=='y'||(e=getchar())=='Y');
    else exit(0);
}
Beispiel #9
0
int	createAcc(){	// ham tao tai khoan
	FILE *fp;
	char dir[30];
	khachHang khach,temp;
	int stt;
	makeDir(dir,stt=readnum("CSDL.txt",1));		// tao ten duong dan (ten file) VD : acc1.dat, acc2.dat ....
	makesoTk(khach.soTk,readnum("CSDL.txt",0) - 1); //tao so tai khoan voi dinh dang 2221995xxxxx
	khach.soDu= 50000;
	Menu:
	printf("\n==================Tao Tai Khoan ATM==================\n");
	printf("\n Nhap Ho Ten : "); fflush(stdin); gets(khach.tenTk);
	printf("\n Nhap Ma PIN : "); 
	while(1){
		getpin(khach.pin,7);
		if(strlen(khach.pin) < 6){
			printf("\n Khong Du 6 Chu So. Nhan Phim Bat Ky De Nhap Lai Ma PIN\n");
			getch();
			system("cls");
			printf("\n==================Tao Tai Khoan ATM==================\n");
			printf("\n Nhap Ho Ten : %s\n",khach.tenTk);
			printf("\n Nhap Ma PIN : ");
		}
		else{
			break;
		} 
	}
	strcpy(khach.time,getTime());
	khach.active = 0;
	printf("\n\n");
	strcpy(khach.trangThai,"Tao Tai Khoan");
	printInfo(khach,1,khach.trangThai);
	printf("\n Dong Y Tao Tai Khoan ? (Y/N)\n");	
	if(yesNo()==1) goto TaoTk;
	else{
		system("cls");
		goto Menu;
	}
	TaoTk:	 
	fp=fopen(dir,"wb");
	fwrite(&khach,sizeof(khach),1,fp);
	fclose(fp);
	printf("\n Tao Tai Khoan Thanh Cong\n");
	getch();
	return stt;		//tra ve so thu tu cua file vd: acc1.dat thi stt = 1
}
Beispiel #10
0
long
gpiowrite(Chan *c, void *va, long n, vlong)
{
	int type, i, scheme;
	uint pin;
	char *arg;

	Cmdbuf *cb;
	Cmdtab *ct;

	if(c->qid.type & QTDIR)
	{
		error(Eisdir);
	}

	type = FILE_TYPE(c->qid);

	scheme = SCHEME_TYPE(c->qid);
	
	if(scheme != Qgeneric && scheme != pinscheme)
	{
		error(nil);
	}

	cb = parsecmd(va, n);
	if(waserror())
	{
		free(cb);
		nexterror();
	}
	ct = lookupcmd(cb, gpiocmd,  nelem(gpiocmd));
	if(ct == nil)
	{
		error(Ebadctl);
	}
	
	switch(type)
	{
	case Qdata:
		pin = PIN_NUMBER(c->qid);

		switch(ct->index)
		{
		case CMzero:
			gpioout(pin, 0);
			break;
		case CMone:
			gpioout(pin, 1);
			break;
		default:
			error(Ebadctl);
		}
		break;
	case Qctl:
		switch(ct->index)
		{
		case CMscheme:
			arg = cb->f[1];
			for(i = 0; i < nelem(schemename); i++)
			{
				if(strncmp(schemename[i], arg, strlen(schemename[i])) == 0)
				{
					pinscheme = i;
					break;
				}
			}
			break;
		case CMfunc:
			pin = getpin(cb->f[2]);
			arg = cb->f[1];
			if(pin == -1) {
				error(Ebadctl);
			}
			for(i = 0; i < nelem(funcname); i++)
			{
				if(strncmp(funcname[i], arg, strlen(funcname[i])) == 0)
				{
					gpiofuncset(pin, i);
					break;
				}
			}
			break;
		case CMpull:
			pin = getpin(cb->f[2]);
			if(pin == -1) {
				error(Ebadctl);
			}
			arg = cb->f[1];
			for(i = 0; i < nelem(pudname); i++)
			{
				if(strncmp(pudname[i], arg, strlen(pudname[i])) == 0)
				{
					gpiopullset(pin, i);
					break;
				}
			}
			break;
		case CMevent:
			pin = getpin(cb->f[3]);
			if(pin == -1) {
				error(Ebadctl);
			}
				
			arg = cb->f[1];
			for(i = 0; i < nelem(evtypename); i++)
			{
				if(strncmp(evtypename[i], arg, strlen(evtypename[i])) == 0)
				{
					gpioevent(pin, i, (cb->f[2][0] == 'e'));
					break;
				}
			}
			break;
		default:
			error(Ebadctl);
		}
		break;
	}
	
	free(cb);

	poperror();
	return n;
}
Beispiel #11
0
void editAcc(){
	int num;
	FILE *fp;
	char dir[30];
	khachHang khach;
	Nhap:
	system("cls");
	printf("\n==================Sua Tai Khoan ATM==================\n");
	printf("\n #Nhap Ma So The : ");
	scanf("%d",&num);
	makeDir(dir,num);
	if((fp=fopen(dir,"rb")) == NULL){
		fclose(fp);
		int choice;
		do{
			printf("\n Account Nay Khong Ton Tai. Ban Muon\n");
			printf("\n ---1.Nhap Ma So The Khac\n");
			printf("\n ---2.Tro Ve Menu\n");
			printf("\n #Chon : ");
			fflush(stdin); scanf("%d",&choice);
			switch (choice){
				case 1 :
					system("cls");
					goto Nhap;
					break;
				case 2 :
					return;
				default :
				system("cls");
				printf("\n==================Sua Tai Khoan ATM==================\n");
				printf("\n #Nhap Ma So The : %d\n",num);
				break;
			}
		}while(choice > 2 || choice < 1 );
	} 
	else{
		fread(&khach,sizeof(khach),1,fp);
		fclose(fp);
		Menu:			
		printf("\n Nhap Ho Ten : "); fflush(stdin); gets(khach.tenTk);
		printf("\n Nhap Ma PIN : "); 
		while(1){
			getpin(khach.pin,7);
			if(strlen(khach.pin) < 6){
				printf("\n Khong Du 6 Chu So. Nhan Phim Bat Ky De Nhap Lai Ma PIN\n");
				getch();
				system("cls");
				printf("\n==================Sua Tai Khoan ATM==================\n");
				printf("\n #Nhap Ma So The : %d\n",num);			
				printf("\n Nhap Ho Ten : %s\n",khach.tenTk);
				printf("\n Nhap Ma PIN : ");
			}
			else{
				break;
			} 
		}
		printf("\n Nhap So Du : ");
		scanf("%d",&khach.soDu);
		strcpy(khach.time,getTime());
		printf("\n\n");
		printInfo(khach,1,"Sua Tai Khoan");
		printf("\n Dong Y Sua Tai Khoan ? (Y/N)\n");	
		if(yesNo()==1) goto SuaTk;
		else{
			system("cls");
			printf("\n==================Sua Tai Khoan ATM==================\n");
			printf("\n #Nhap Ma So The : %d\n",num);
			goto Menu;
		}
	SuaTk:	 
	fp=fopen(dir,"wb");
	fwrite(&khach,sizeof(khach),1,fp);
	fclose(fp);
	printf("\n Sua Tai Khoan Thanh Cong\n");
	getch();
	system("cls");
	return ;
	}
}
Beispiel #12
0
void doiMaPin(char* dir){
	char mapinbandau[7],mapin[7],xacnhan[7];	//mapin va xacnhan... dung de xac nhan mat khau
	FILE *fp;
	khachHang temp;
	int dem = 1;
	fp = fopen(dir,"rb");
	fread(&temp,sizeof(temp),1,fp);		//doc cac gia tri can thiet tu file
	fclose(fp);
	strcpy(mapinbandau,temp.pin);
	while(1){
		if(dem > 5){		// dieu kien nhu o duoi
			printf("\n Ban Da Nhap Sai Qua 5 Lan...\n");
			Sleep(1000);
			printf("\n Chuong Trinh Tu Dong Thoat...\n\n");
			exit(0);
		}
		printf("\n===================Doi Ma Pin===================\n");
		printf("\n Nhap Ma PIN Hien Tai : ");
		getpin(mapin,7);
		if(strcmp(mapin,temp.pin) != 0){	// neu khong dung thi nhap lai
			dem++;
			printf("\n Ma Pin Sai. Nhan Phim Bat Ky De Nhap Lai\n");	
			getch();
			system("cls");
			continue;
		}
		else{
			while(1){
				printf("\n Nhap Ma PIN Moi : ");
				getpin(mapin,7);
				if(strlen(mapin) < 6){
					printf("\n Ma Pin Phai Day Du 6 Chu So\n");
					printf("\n Nhan Phim Bat Ky De Nhap Lai\n");
					getch();
					system("cls");
					printf("\n===================Doi Ma Pin===================\n");
					printf("\n Nhap Ma PIN Hien Tai : ******\n");
					continue;
				}
				printf("\n Xac Nhan Ma PIN Moi : ");
				getpin(xacnhan,7);
				if(strcmp(mapin,xacnhan) != 0){			// neu khong trung thi nhap lai
					printf("\n Ma Pin Khong Trung Khop. Nhan Phim Bat Ky De Nhap Lai\n");
					getch();
					system("cls");
					printf("\n===================Doi Ma Pin===================\n");
					printf("\n Nhap Ma PIN Hien Tai : ******\n");
				}
				else{									// trung thi doi ma pin
					printf("\n ...Dang Doi Ma Pin.");
					animation();
					strcpy(temp.pin,mapin);
					strcpy(temp.time,getTime());
					fp = fopen(dir,"wb");
					fwrite(&temp,sizeof(temp),1,fp);	//cap nhat ma pin cho file
					fclose(fp);
					printf("\n ...Xong................\n");
					sprintf(temp.trangThai,"Doi Ma Pin Tu %s Sang %s",mapinbandau,temp.pin);
					fp = fopen(dir,"wb");
					fwrite(&temp,sizeof(temp),1,fp);
					fclose(fp);
					printLog(dir,temp);
					return;
				}
			}
		}
	}
}
Beispiel #13
0
void insertATM(char *dir){    // ham nhap the ATM
	FILE *fp;
	int num,choice;
	khachHang khach;
	Nhap:
	printf("=====Ngan Hang Hoc Vien Mat Ma=====\n");
	printf("\n------------Dua The Vao------------\n");
	printf("\n#Nhap Ma So The : ");
	scanf("%d",&num);
	makeDir(dir,num);
	fp=fopen(dir,"rb");
	fread(&khach,sizeof(khach),1,fp);
	if(fp == NULL){		//kiem tra xem da ton tai file chua
		fclose(fp);
		printf("\nThe Chua Duoc Tao, Ban Muon :\n\n");
		printf("---1.Nhap Lai Ma So The Khac\n\n");
		printf("---2.Thoat Chuong Trinh\n\n");
		do{
			printf("#Chon : ");
			scanf("%d",&choice);
			if (choice == 1){
				system("cls");
				goto Nhap;
			} 
			else if (choice == 2){		//nhap lai so thu tu cua ATM
				exit(0);
			}
			else{
				printf("\nNhap Sai, Nhan Phim Bat Ky De Nhap Lai\n\n");
				getch();
				system("cls");
				printf("=====Ngan Hang Hoc Vien Mat Ma=====\n");
				printf("\n------------Dua The Vao------------\n");
				printf("\n#Nhap Ma So The : %d\n",num);
				printf("\nThe Chua Duoc Tao, Ban Muon :\n\n");
				printf("---1.Nhap Lai Ma So The Khac\n\n");
				printf("---2.Thoat Chuong Trinh\n\n");	
			} 
		}while(choice < 1 || choice > 2);
		return ;
	}
	else if(khach.active == 0 || khach.active == 2){
		if(khach.active == 0){
			printf("\nTai Khoan Chua Duoc Kich Hoat\n");
			printf("\nVui Long Toi Ngan Hang Nap Tien De Kich Hoat\n");
			getch();
			exit(0);	
		}
		else if(khach.active == 2){
			printf("\nTai Khoan Da Bi Khoa\n");
			printf("\nVui Long Toi Ngan Hang Mo Khoa\n");
			getch();
			exit(0);	
		}	
	}
		else{
			char input[7];
			int dem=1;
			while(1){
			if(dem>5){
				printf("\n------------Nhap Ma Pin------------\n");
				printf("\nBan Nhap Sai Qua 5 Lan. Tai Khoan Cua Ban Da Bi Khoa\n");
				printf("\nChuong Trinh Tu Dong Thoat\n");
				khach.active = 2;
				fp = fopen(dir,"wb");
				fwrite(&khach,sizeof(khach),1,fp);
				fclose(fp);
				getch();
				exit(1);
			}	
			printf("\n------------Nhap Ma Pin------------\n");
			dem++;
			printf("\nMa Pin : ");
			getpin(input,7);
			printf("\n");
			fread(&khach,sizeof(khach),1,fp);
			if(strcmp(input,khach.pin) != 0){
				printf("Nhap Sai. Nhap Lai. Nhan Phim Bat Ki De Tiep Tuc");
				if(dem <= 5){
					getch();
				}
				system("cls");
				printf("=====Ngan Hang Hoc Vien Mat Ma=====\n");
				printf("\n------------Dua The Vao------------\n");
				printf("\n#Nhap Ma So The : %d\n",num);
			}
			else break;
			}
			fclose(fp);
		}
}