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

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

?? client.cpp

?? 模擬銀行ATM提款機系統 模擬銀行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一区二区三区免费野_久草精品视频
色婷婷精品久久二区二区蜜臂av| 日韩和欧美的一区| 成人黄色电影在线 | 国产欧美一区二区精品久导航| 奇米精品一区二区三区在线观看一| 欧美精品1区2区3区| 日韩黄色小视频| 日韩三区在线观看| 国产成人h网站| 国产精品久久看| 欧洲国产伦久久久久久久| 视频一区欧美精品| 欧美成人一区二区| 成人小视频在线| 一区二区激情小说| 欧美电影在线免费观看| 精品一区二区免费| 国产精品久线在线观看| 欧美午夜寂寞影院| 久久超级碰视频| 国产精品污污网站在线观看| 在线一区二区视频| 麻豆91在线看| 亚洲婷婷国产精品电影人久久| 91原创在线视频| 免费在线观看视频一区| 国产欧美日韩精品一区| 91成人免费网站| 九九在线精品视频| 最新日韩在线视频| 正在播放亚洲一区| 国产乱码精品一品二品| 亚洲精品美腿丝袜| 久久久三级国产网站| 一本色道亚洲精品aⅴ| 美国毛片一区二区三区| 亚洲日韩欧美一区二区在线| 欧美国产一区二区| 91精品中文字幕一区二区三区| 国产成人亚洲综合a∨婷婷图片| 亚洲国产日韩a在线播放性色| 久久久99久久| 3d成人动漫网站| 一本一本久久a久久精品综合麻豆| 久久91精品久久久久久秒播| 亚洲激情自拍视频| 国产精品视频一二三区| 日韩一区二区电影在线| 91久久精品网| 国产91综合一区在线观看| 婷婷综合五月天| 中文字幕一区不卡| 精品区一区二区| 欧美日本高清视频在线观看| 99久久久久久| 国产九色sp调教91| 美女国产一区二区三区| 亚洲午夜久久久久久久久久久| 国产精品毛片久久久久久| 日韩欧美一级精品久久| 欧美色倩网站大全免费| 91看片淫黄大片一级在线观看| 国产成人一区二区精品非洲| 蜜桃一区二区三区在线观看| 天天影视网天天综合色在线播放| 亚洲精品视频在线| 国产精品福利一区| 国产婷婷色一区二区三区四区| 日韩欧美国产不卡| 宅男在线国产精品| 欧美性色黄大片| 色噜噜狠狠成人中文综合| 成人深夜视频在线观看| 国产不卡视频在线观看| 国产精品综合二区| 国产成人免费视频精品含羞草妖精 | 91麻豆精品国产自产在线观看一区 | 亚洲欧美区自拍先锋| 国产精品沙发午睡系列990531| 久久精品欧美一区二区三区麻豆| 精品免费视频一区二区| 日韩一区二区在线观看| 日韩欧美激情一区| 欧美私模裸体表演在线观看| 在线亚洲欧美专区二区| 在线观看91精品国产入口| 色天使久久综合网天天| 精品视频123区在线观看| 欧美日韩一级二级| 欧美一区二区视频免费观看| 欧美一区二区在线免费观看| 日韩视频永久免费| 精品免费国产二区三区| 国产日韩欧美精品电影三级在线| 国产午夜精品一区二区三区嫩草| 国产欧美精品一区| 一区二区中文视频| 亚洲国产精品自拍| 免费视频最近日韩| 国产乱一区二区| 成人av资源下载| 91免费版在线看| 欧美日韩三级一区| 亚洲一区二区三区爽爽爽爽爽| 亚洲一区二区欧美日韩| 日韩电影免费在线观看网站| 久久精品国产一区二区三区免费看 | 天天亚洲美女在线视频| 激情文学综合丁香| 91美女蜜桃在线| 在线成人高清不卡| 欧美激情综合五月色丁香小说| 中文字幕一区免费在线观看| 亚洲在线观看免费| 国产一区二区三区四| 91小视频在线| 欧美大片国产精品| 亚洲人成精品久久久久| 日韩avvvv在线播放| 国产福利一区二区三区视频| 日本韩国视频一区二区| 欧美成人vps| 一区二区三区欧美日| 国内国产精品久久| 欧美主播一区二区三区美女| 精品国产乱码久久久久久浪潮| 国产精品久久久久久久久快鸭| 日产欧产美韩系列久久99| 99久久婷婷国产综合精品电影| 7777精品伊人久久久大香线蕉经典版下载 | 欧美日韩一级黄| 中文字幕第一区二区| 视频一区中文字幕国产| www.爱久久.com| 日韩精品一区二区三区中文精品| 亚洲欧美激情在线| 国产在线播放一区二区三区| 欧美日韩在线免费视频| 国产精品你懂的在线欣赏| 日韩国产精品久久久久久亚洲| 波多野洁衣一区| 日韩精品一区二区三区四区| 亚洲激情成人在线| 国产精一区二区三区| 欧美一区二区三区四区久久| 亚洲六月丁香色婷婷综合久久| 精品亚洲国产成人av制服丝袜| 欧美综合色免费| 中文字幕在线不卡一区二区三区 | 欧美极品美女视频| 久久国产福利国产秒拍| 欧美人牲a欧美精品| 亚洲免费在线观看视频| 成人av电影在线网| 国产调教视频一区| 狠狠色综合色综合网络| 欧美一区二区三区精品| 亚洲综合男人的天堂| av亚洲精华国产精华精华| 久久久精品国产免大香伊| 精油按摩中文字幕久久| 一区二区成人在线| 一道本成人在线| 中文字幕亚洲不卡| 成人一区二区三区视频在线观看| 精品国产一区久久| 久久99精品国产麻豆不卡| 日韩一区二区三区四区| 日韩av二区在线播放| 91麻豆精品国产91久久久久久| 亚洲一卡二卡三卡四卡五卡| 欧美在线观看一区| 亚洲综合激情小说| 欧美色中文字幕| 亚洲一区二区黄色| 欧美乱妇15p| 日韩激情一二三区| 日韩欧美亚洲一区二区| 精品亚洲porn| 久久综合久久综合久久综合| 国产综合一区二区| 欧美高清一级片在线观看| 成人激情黄色小说| 亚洲人成伊人成综合网小说| 色偷偷一区二区三区| 亚洲午夜在线视频| 91精品综合久久久久久| 韩国成人精品a∨在线观看| 精品av综合导航| 高清不卡在线观看| 亚洲欧美区自拍先锋| 欧美另类变人与禽xxxxx| 麻豆91在线播放免费| 国产日产精品1区| 91在线观看免费视频| 午夜精品久久久久久久久| 精品久久久久一区二区国产| 大胆亚洲人体视频| 亚洲国产精品综合小说图片区| 欧美一区二区三区白人 |