亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? client.cpp

?? 銀行ATM系統的源程序
?? CPP
字號:
/*TCPclient.cpp*/
/**Author: Xu Zhengyu  2001HDC(3)  413
Project: RAD Report---Project: RAD Report---Imitating ATM System based on C/S and DOS
Title: Imitating ATM System based on C/S and DOS
Function:  1 Inquire lacking money of account
           2 Modify code
		   3 Draw money from account
		   4 Login & Register
		   5 washing money
		   6 safeguard file of Server & Client (include modify IP address)
Date:2003/04/12  **/
#include "connect.h"
#include "winsock.h"
#include "memory.h"
#include "stdio.h"
#include "math.h"
#include "passive.h"
#include "windef.h"
#include "winsock.h"
#include "memory.h"
#include "stdio.h"
#include "windef.h"
#include "fcntl.h"
#include "signal.h"
#include "sys/types.h"
#include "stdio.h"
#include "stdarg.h"
#include "io.h"
#include "conio.h"
#include "dos.h"
#include "math.h"
#include "stdlib.h"
#define LINELEN  128
extern int t_error;
#include "stdlib.h"
#define bufsize 130
#define BUFSIZE  130
#define QLEN  5
extern int t_errno;
//number of drawing money from bank
      /*master and slave sockets    */
#define LINELEN  128
#define LEN sizeof(struct moneyCou)
#define NULL 0
struct moneyCou{
	char host[16];
	long money;//store money
	char username[5];
	char account[5];
	long lockmoney;//lock of account of user
} A[5];
void clrscr(){
	printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");//20 line
	printf("\n\n\n\n\n\n\n\n\n\n");//10 line
}

void login(int s){
 char account[5];char code[5];char e;
 char sendM[20];int i;int t,k;
 int found=0;
LIK:
 clrscr();
 printf("                     Welcome to ATM system!\n");
 printf("\n\n\n");
 printf("                    Please input your account:");
 scanf("%s",account);printf("\n\n");
 printf("                    Please input your code:");
 scanf("%s",code);printf("\n\n");
 printf("  If you confirm?(y/n)\n");
 scanf("%c",&e);
 if(e=='n')goto LIK;
 //char sendM[100];int i;int t,k;
 sendM[0]='A';//flag of check login
 t=strlen(account);
 for(i=1;i<t+1;i++) sendM[i]=account[i-1];
 sendM[t+1]='/';k=t+1;
 t=strlen(code);
 for(i=0;i<t;i++)sendM[k+i+1]=code[i];
 sendM[k+t+1]='\0';//as above is code
// printf("%s",sendM);
 

	 (void)send(s,sendM,sizeof(sendM),0);//}
     (void)send(s,'\0',1,0);//}
char inputchar=0;i=0;int n;char getM[100];
 while(inputchar!=-1){
  //for(l1=0;l1<400000000;l1++);
  //if(n<0)printf("Server Error!\n");
  if((n=recv(s,&inputchar,1,0))<0){
	printf("Server Error!\n");
	exit(1);
  }
  if(inputchar=='^'){
   clrscr();
   printf(" Your code error!Please reinput one time!\n");
   found++;
   if(found<3) goto LIK;
   clrscr();
   printf("Your account is kocked because of reading three times!\n");
   getchar();
   exit(0);
  }
  if(n==-1) break;
  if (inputchar=='*') break;
  getM[i]=inputchar;
  i++;
 }//end of while
 getM[i+1]='\0';
//printf("Getting message is:%s",getM);

char name[5];char lockmoney[5];int str=0;int length=0;char p1[bufsize];int status1;
while(1){//function of decode
	if(getM[str]=='\0')break;
	else{
	 p1[length]=getM[str];
	 length++;
	 str++;
	}
}//end of while
int i1;
for(i1=0;i1<length;i1++){
	if(p1[i1]=='/'){
		status1=i1;
		break;
	}	 
	name[i1]=p1[i1]; //@@@name[i1-1]=p1[i1];	
}
name[status1]='\0';int k1=0;
for(i1=status1+1;i1<length;i1++){
 lockmoney[k1]=p1[i1];k1++;
}
//accomplish function of decode as stated above
FILE *in;
struct moneyCou *p;
int fno,flen;long len=LEN;
if((in=(fopen("date.dat","r+w")))==NULL)printf("File not exist!\n");
 	fno=fileno(in);flen=filelength(fno); t=(flen/LEN);
	       p=A;
     	  fread(p,LEN,1,in);
	      strcpy(p->username,name);
		  strcpy(p->account,account);
		  p->lockmoney=atol(lockmoney);
           fseek(in,-len,1);
           fwrite(p,LEN,1,in);
		   fclose(in);
			strcpy(A[3].username,name);
               strcpy(A[3].account,account);
			   A[3].lockmoney=atol(lockmoney);
			   clrscr();
}//end of login

void maindraw(int s){
 int sel;char account[5];char e;
 char sendM[BUFSIZE];int i;int t,k;
 FILE *in;
  struct moneyCou *p;
int fno,flen;
long lackmoney;char name[5];long len=LEN;
	
	      strcpy(name,A[3].username);
		  strcpy(account,A[3].account);
		  lackmoney=A[3].lockmoney;
           
LPP:
		
			printf("         Hi! %s\n",name);
            printf("     1.Inquire account\n");
            printf("     2.Modify code\n");
            printf("     3.Draw money\n"); 
            printf("     4.Exit\n");
			printf("\n\n\n");
			printf("Please select number.Please input number:");
			scanf("%d",&sel);
			if(sel>4||sel<0)goto LPP;
			switch(sel){
			case 1:
				{	
LHK:
					clrscr();
					
					printf("     Your lacking money of your account is %d\n",lackmoney);
					printf("      Do you return...(y/n)?Please input 'y' or 'n':");
						scanf("%c",&e);
						if(e=='y'){printf("\n\n\n");printf("\n\n\n");printf("\n\n\n");printf("\n\n\n");printf("\n\n\n");goto LPP;}
					goto LHK;
					break;}	
				//end of inquire
            case 2:
				{
LG2:
				  printf("\n\n\n\n");
                   char code1[5];char code2[5];				   
				   printf("                           Please input new code,\n when input 0 to return main interface:");
				   scanf("%s",code1);
				   printf("\n");
                   printf("                           Please confirm new code:");
				   scanf("%s",code2);
				   printf("\n");
				   if(((atoi(code2))==0))goto LPP;
				   if(strcmp(code1,code2)){
				   printf("                                 Two input is not consistance!\n");
				   printf("                               press any key to continue...");
				   getchar();
				   goto LG2;				     
				   }
				   
                 
               sendM[0]='D';//flag of modify code
               for(i=0;i<5;i++)sendM[i+1]=account[i];
                  sendM[5]='/';
                sendM[6]=code1[0]; 
                sendM[7]=code1[1]; 
                sendM[8]=code1[2]; 
                sendM[9]=code1[3]; 
                sendM[10]='\0'; //code module
				//printf("sendM is:%s\n",sendM);
             (void)send(s,sendM,sizeof(sendM),0);
             (void)send(s,'\0',1,0);
			 printf("\n\n\n\n\n");
			 printf("Operation of ATM is successful...\n");
			 printf("\n\n\n");
                 char inputchar=0;i=0;int n;char getM[100];
 while(inputchar!=-1){
    if((n=recv(s,&inputchar,1,0))<0){
	printf("Server Error!\n");
	exit(1);
  }
  if(inputchar=='>'){
   printf("\n\n\n");
   printf(" Operation of server from bank is Failled!Please retry...\n");
   goto LG2;		
  }
if(inputchar=='<'){
   printf("\n\n\n");
   printf(" Operation of server from bank is Successful!\n");
printf("\n\n\n");
printf("\n\n\n");
printf("\n\n\n");
   goto LPP;		
  }
  if(n==-1) break;
  if (inputchar=='*') break;
  getM[i]=inputchar;
  i++;
 }//end of while
 getM[i+1]='\0';
//printf("Getting message is:%s",getM);
            				   
							  
					break;}//end of modify
            case 3:
				{
					char drawMoney[5];long storemoney;
					  	if((in=(fopen("date.dat","r+w")))==NULL)printf("File not exist!\n");
                   	fno=fileno(in);flen=filelength(fno); 
	                   p=A;
                 	  fread(p,LEN,1,in);	      
		              storemoney=p->money;
					 
                      fclose(in);    
		              
					 
                      
GK:
					  
					  printf("          Please input number of drawing money!\n");
					  printf("           Number is multiple of 50.\n");
					  printf("            When number is smaller than 50,you will reinput...\n");
                      printf("            When number is 0,you will main interface...\n");
					  printf("Input number:");
					  scanf("%s",drawMoney);
					  if(atol(drawMoney)==0){clrscr();goto LPP;}
					  if(((atol(drawMoney)%50)>0)||(atol(drawMoney)<50)){printf("\n\n\n");printf("\n\n\n");printf("\n\n\n");goto GK;}
					  if((atol(drawMoney))>3000){
					   printf("\n\n\n\n");
					   printf("You should not draw money amount to 3000.\n");
                        printf("\n\n\n\n");printf("\n\n\n");printf("\n\n\n");
					   goto GK;
					  }
                      if((atol(drawMoney))>storemoney){
					   printf("\n\n\n\n");
					   printf("There is not enough money in ATM machine.\n");
					     printf("\n\n\n\n");printf("\n\n\n");printf("\n\n\n");
					   goto GK;
					  }
                     if((atol(drawMoney))>lackmoney){
					   printf("\n\n\n\n");
					   printf("There is not enough money in your account.\n");
					   printf("\n\n\n\n");printf("\n\n\n");printf("\n\n\n");
					   goto GK;
					  }
                   sendM[0]='B';//flag of draw
                  
                  for(i=0;i<5;i++)sendM[i+1]=account[i];
                  sendM[5]='/';
                 t=strlen(drawMoney);
				 if(t==2){sendM[6]='0';sendM[7]='0';sendM[8]=drawMoney[0];sendM[9]=drawMoney[1];sendM[10]='\0';}
                 if(t==3){sendM[6]='0';sendM[7]=drawMoney[0];sendM[8]=drawMoney[1];sendM[9]=drawMoney[2];sendM[10]='\0';}
				 if(t==4){sendM[6]=drawMoney[0];sendM[7]=drawMoney[1];sendM[8]=drawMoney[2];sendM[9]=drawMoney[3];sendM[10]='\0';}
				 //printf("\n\n");
				 //printf("Send Message is: %s\n",sendM);
                (void)send(s,sendM,sizeof(sendM),0);
				char inputchar=0;i=0;char getM[bufsize];int n;
				while(inputchar!=-1){
				 if((n=recv(s,&inputchar,1,0))<0)exit(0);
				 if(inputchar=='('){
				  printf("\n\n\n\n\n");
				  printf("Drawing money is failed!\n");
                  printf("Press any key to reinput...\n");
					  getchar();
printf("\n\n\n");printf("\n\n\n");
				  goto GK;
				  }
                 if(inputchar=='%'){
				  printf("\n\n\n\n\n");
				  printf("Drawing money is Successful!\n");
                 printf("Press any key to continue...\n");
					  getchar();
printf("\n\n\n");printf("\n\n\n");
				      break;
				  }
				 if(inputchar==-1)break;
				 getM[i]=inputchar;
				 i++;
				}//end of while
				getM[i]='\0';
				lackmoney=lackmoney-atol(drawMoney);
			//	try{
				 //int86(0x14,&r,&v);//Send money Machine Drive
                bool int86=true;
				if(int86){
				storemoney=storemoney-atol(drawMoney);
				if((in=(fopen("date.dat","r+w")))==NULL)printf("File not exist!\n");
 	                 fno=fileno(in);flen=filelength(fno); t=(flen/LEN);
	                p=A;
     	            fread(p,LEN,1,in);
	                p->lockmoney=lackmoney;
		            p->money=storemoney;
                   fseek(in,-len,1);
                  fwrite(p,LEN,1,in);
	         	   fclose(in);
				}
				//}
				//catch(){
				else{   
				 printf("\n\n\n\n\n");printf("ATM error.\n");
				 getchar();
				}
                 sendM[0]='C';//flag of wash money
                   t=strlen(account);
                  for(i=1;i<t+1;i++)sendM[i]=account[i-1];
                  sendM[t+1]='/';k=t;
				  if(int86){sendM[t+2]='-';}
				 else {sendM[t+2]='+';}
                 sendM[t+3]='\0';//as above is code
                (void)send(s,sendM,sizeof(sendM),0);
				
			//	}
				printf("\n\n\n");
printf("\n\n\n");
printf("\n\n\n");
printf("\n\n\n");
				printf("Whether to print stub?(y/n)\n");
				scanf("%c",&e);
				if(e=='y'){/*print stub */
				// fprintf(stdprn,"Your account:%s\n",account);
                 // fprintf(stdprn,"You had drawn money:%s\n",drawMoney);
				 // fprintf(stdprn,"Your lacking money:%d\n",lackmoney);
                   clrscr();
				   goto LPP;
				}
                   clrscr();
                  goto LPP;
					break;}//end of Draw money
            case 4:
				{
					//login(s);
                     A[3].lockmoney=-1;
					break;}//end of inquire
			}//end of switch
}//end of maindraw

void main(int argc,char *argv[])

{  FILE *in;
  struct moneyCou *p;

 /* the provider of transmission*/
  int flags=0;
  
	char *host;
	unsigned port=6666;
	  /* buffer for one line of text*/
	int s;              /*socket descriptor,read count*/
    int fno,flen,t;
	if((in=(fopen("date.dat","r+w")))==NULL)printf("File not exist!\n");
 	fno=fileno(in);flen=filelength(fno); t=(flen/LEN);
	       p=A;
     	  fread(p,LEN,1,in);
	      host=p->host;
	      fclose(in);
	    
	WSADATA myWSAData;
	WORD VersionReqd;
	int Status;
	struct sockaddr_in sin;
    struct protoent  *ppe;
    
	VersionReqd = MAKEWORD(2,2);
	Status = WSAStartup(VersionReqd, &myWSAData);
	if (Status != 0)
	{/**Author: Xu Zhengyu  2001HDC(3)  413
Project: RAD Report---Project: RAD Report---Imitating ATM System based on C/S and DOS
Title: Imitating ATM System based on C/S and DOS
Function:  1 Inquire lacking money of account
           2 Modify code
		   3 Draw money from account
		   4 Login & Register
		   5 washing money
		   6 safeguard file of Server & Client (include modify IP address)
Date:2003/04/12  **/

		printf("WSAStartup() failed\n");
		printf("Press any key to contionue!\n");
		getchar();
		exit(1);
	}


	if ((ppe=getprotobyname("tcp"))==0)
	{	printf("Cann't get tcp protocol entry\n");
	     	printf("Press any key to contionue!\n");
	    getchar();
		exit(1);}
	s=socket(PF_INET,SOCK_STREAM,ppe->p_proto);
	if (s<0) 
	{	printf("Can't create socket\n");
	    printf("Press any key to contionue!\n");
     	getchar();
		exit(1);}

	memset(&sin,0,sizeof(sin));
    sin.sin_family=AF_INET;
	sin.sin_port=htons((u_short)port);
	sin.sin_addr.s_addr=inet_addr(host);

	if (connect(s,(struct sockaddr*)&sin,sizeof(sin))<0)
	{
		printf("Can't connect to %s\n",host);
	    printf("Press any key to contionue!\n");
		getchar();
		exit(1);
	}
DDT:
    login(s);
	maindraw(s);
	if(A[3].lockmoney==-1)goto DDT;
	shutdown(s,1);
	WSACleanup(); 

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线999| 92国产精品观看| 日韩一区二区中文字幕| 石原莉奈一区二区三区在线观看| 精品视频在线看| 亚洲成a人v欧美综合天堂下载 | 亚洲高清视频中文字幕| 欧美午夜视频网站| 美美哒免费高清在线观看视频一区二区| 91精品国产综合久久久久久漫画| 蜜桃精品视频在线| 日本一区二区免费在线| k8久久久一区二区三区| 亚洲一区视频在线观看视频| 91精品国产丝袜白色高跟鞋| 蜜桃久久久久久| 国产精品区一区二区三| 欧美怡红院视频| 麻豆成人av在线| 国产精品伦一区二区三级视频| 色老汉av一区二区三区| 精品亚洲欧美一区| 亚洲日本欧美天堂| 91国产精品成人| 久久一区二区三区四区| 国产一区二区美女| 一区二区三区国产| 国产午夜一区二区三区| 色一情一伦一子一伦一区| 蜜臀av一区二区| 亚洲视频香蕉人妖| www国产成人免费观看视频 深夜成人网| 粉嫩一区二区三区性色av| 一区二区在线观看免费| 欧美videos大乳护士334| 99国产欧美另类久久久精品 | jlzzjlzz亚洲日本少妇| 亚洲高清在线精品| 一色桃子久久精品亚洲| xnxx国产精品| 欧美日韩国产乱码电影| av影院午夜一区| 国产伦精品一区二区三区视频青涩| 亚洲香蕉伊在人在线观| 国产精品毛片久久久久久| 欧美精品1区2区3区| 日本韩国一区二区三区视频| 国产一区二区成人久久免费影院| 亚洲午夜精品网| 亚洲视频免费在线| 国产女人18水真多18精品一级做| 日韩视频免费观看高清在线视频| 欧美亚洲综合网| 91在线国产福利| 成人综合在线观看| 国产一区二区三区精品视频| 免费精品视频在线| 亚洲成人激情综合网| 亚洲精品久久久久久国产精华液| 久久精品一级爱片| www国产精品av| 精品国免费一区二区三区| 91精品国产综合久久精品| 在线视频国内自拍亚洲视频| 91亚洲永久精品| 99久久99久久久精品齐齐| 成人做爰69片免费看网站| 国产成人av一区二区| 国产美女主播视频一区| 国产麻豆一精品一av一免费| 久久99热这里只有精品| 日本不卡一区二区三区| 天天操天天色综合| 午夜不卡av在线| 日精品一区二区| 日本亚洲欧美天堂免费| 秋霞电影一区二区| 久99久精品视频免费观看| 日韩视频免费直播| 国产成人精品免费| 成人av在线播放网址| 国产成人精品午夜视频免费| 国产美女精品在线| 成人精品免费看| 一道本成人在线| 欧美唯美清纯偷拍| 欧美裸体bbwbbwbbw| 6080午夜不卡| 日韩三级视频在线看| 欧美xxxxx牲另类人与| 国产三级精品视频| 亚洲日韩欧美一区二区在线| 亚洲第一av色| 美女视频网站久久| 国产宾馆实践打屁股91| 99精品国产99久久久久久白柏| 欧美午夜精品电影| 欧美大片一区二区| 国产色91在线| 亚洲国产日产av| 国产一区二区三区| 欧美综合欧美视频| 日韩精品资源二区在线| 欧美—级在线免费片| 亚洲精品精品亚洲| 日本成人中文字幕| 成人激情免费网站| 欧美日韩高清不卡| 中文字幕+乱码+中文字幕一区| 亚洲一区二区三区四区不卡| 九色|91porny| 色视频成人在线观看免| 欧美一区二区视频在线观看| 国产女人18毛片水真多成人如厕 | 国产在线视视频有精品| 亚洲视频每日更新| 国产精品久久久久久久久免费相片 | 日韩一区二区高清| 国产三级久久久| 午夜精品福利一区二区蜜股av | 亚洲激情欧美激情| 青草国产精品久久久久久| 国产高清视频一区| 欧美日韩精品一区二区在线播放 | 99在线热播精品免费| 欧美日本韩国一区| 亚洲视频在线一区观看| 日本不卡中文字幕| 91国在线观看| 久久久五月婷婷| 午夜精品久久久久久久久| 国产成人亚洲精品狼色在线| 欧美老肥妇做.爰bbww| 国产精品入口麻豆九色| 免费成人在线播放| 色婷婷综合视频在线观看| 欧美精品一区二区三区很污很色的| 一区二区视频在线看| 国产麻豆欧美日韩一区| 欧美一级片在线看| 亚洲精品午夜久久久| 国产99久久久久| 精品成a人在线观看| 亚洲va在线va天堂| 在线免费观看日本欧美| 国产精品视频在线看| 国产精品综合久久| 欧美电影免费提供在线观看| 亚洲成人自拍网| 色国产综合视频| 自拍偷在线精品自拍偷无码专区| 国产一区二区精品久久91| 精品欧美一区二区久久| 男人的j进女人的j一区| 欧美精品粉嫩高潮一区二区| 一区二区三区在线播| 91官网在线观看| 一区二区视频在线看| 91亚洲国产成人精品一区二三| 亚洲国产精品国自产拍av| 国产a精品视频| 国产欧美一区二区精品性色| 国产真实乱偷精品视频免| 久久日一线二线三线suv| 久久av老司机精品网站导航| 欧美一二三区精品| 乱一区二区av| 久久精品日产第一区二区三区高清版| 国内精品免费**视频| 国产亚洲欧美日韩在线一区| 国产大片一区二区| 欧美国产亚洲另类动漫| 成人一区二区在线观看| 成人欧美一区二区三区小说| 成人av电影在线观看| 亚洲色图.com| 欧美日韩一区二区在线观看视频| 亚洲电影视频在线| 欧美一卡二卡三卡| 经典三级视频一区| 日本一区二区在线不卡| jlzzjlzz亚洲女人18| 亚洲成人一区二区| 日韩亚洲欧美综合| 国产毛片精品国产一区二区三区| 中文无字幕一区二区三区 | 国产自产2019最新不卡| 亚洲精品一区二区三区精华液| 国产精品99久久久久久宅男| 国产精品久久福利| 欧美日韩一区二区三区四区 | 黑人巨大精品欧美一区| 国产喂奶挤奶一区二区三区| 99久久精品免费看| 日韩影视精彩在线| 国产偷国产偷精品高清尤物| 99精品偷自拍| 久久精品国产亚洲a| 国产精品毛片高清在线完整版| 欧美三区在线观看|