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); }
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 }
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; }
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 ; } }
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; } } } } }
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); } }