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

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

?? login.cpp

?? 用戶登陸系統存入車輛(存入時間
?? CPP
字號:

//login.cpp
//登陸系統


#include "StdAfx.h"
#include "typedef.h"
#include "md5.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>


//	名稱:login
//	作用:判斷用戶名和密碼是否正確
//	參數:void
//	返回值:登錄成功:(bool)true
//			登錄失敗:(bool)false
bool login(void)
{
	if ((fp_user = fopen("user.dat","r")) == 0)
	{
		printf("The program run appears an accident error, click arbitrarily the key go on.");/*程序運行出現意外錯誤,按任意鍵繼續*/
		getch();
		return false;
	}

	char read_username_md5[40],read_password_md5[40];
	unsigned char username_md5[17],	password_md5[17];

	read_username_md5[0] = '\0';
	read_password_md5[0] = '\0';

	rewind(fp_user);
	
	fscanf(fp_user,"%s\n%s\n%f\n%c\n%d\n%d",read_username_md5,read_password_md5,&user.price,&user.language,&user.Dimension.p_long,&user.Dimension.p_breadth);
	
	if (user.language == 'c')				//初始化界面語言
	{
		p_language_print = Chinese;
	}
	else
	{
		p_language_print = English;
	}


	//*********************************************************			Debug
		#ifdef DEBUG
		printf("\n\nDebug\n");

		printf("The strlen of read username_md5 = %d",strlen(read_username_md5));
		printf("\n%s\n",read_username_md5);

		printf("\n\n");
		getch();
		#endif
	//**********************************************************

	fclose(fp_user);

	if ((strlen(read_username_md5)) == 0)
	{
		Out_hander_ce();
		printf("Running system for the first time, click any key establish an user.\n\n第一次運行系統,按任意鍵創建用戶\n\n");
		getch();
		char password[20];

		system("cls");
		Out_hander_ce();
		while(1)
		{
			printf("\t\t\t\te.English\n\n\t\t\t\tc.簡體中文\n\n\nPlease choose an interface language:\n\n請選擇界面語言:\n\n");
			scanf("%c",&user.language);

			system("cls");

			if (user.language == 'c')				//初始化界面語言
			{
				p_language_print = Chinese;
				Out_hander_ch();
			}
			else
			{
				p_language_print = English;
				Out_hander_en();
			}

			printf("\n\n%s",*(p_language_print));/*請輸入用戶名:*/
			scanf("%s",&user.username);

			while (1)
			{	
				printf("\n%s",*(p_language_print+1));/*請輸入密碼:*/
				starword(user.password);
				printf("\n\n%s",*(p_language_print+2));/*請重復輸入密碼:*/
				starword(password);

				if (strcmp(password,user.password) == 0)
					break;
				else
					printf("\n%s\n",*(p_language_print+3));/*兩次密碼輸入不一致,請重新輸入!*/
			}

			printf("\n\n%s",*(p_language_print+4));/*請設置每小時停車價格(格式:元.角分,例如:15.00):*/
			scanf("%f",&user.price);
			printf("\n\n%s",*(p_language_print + 77));/*請設置停車場的容量(格式:長.寬,例如:5.4):*/
			scanf("%d%*c%d",&user.Dimension.p_long,&user.Dimension.p_breadth);

			printf("\n%s%s\n%s",*(p_language_print+5),user.username,*(p_language_print+6));/*您的用戶名是:*/	/*密  碼  是  :*/
			
			for (unsigned i=0; i<strlen(user.password); i++)					//按照密碼長度輸出星號
				printf("*");

			printf("\n%s%.2f\n%s%d * %d.\n%s",*(p_language_print+7),user.price,*(p_language_print + 78),user.Dimension.p_long,user.Dimension.p_breadth,*(p_language_print+8));/*每小時停車價格是:*/	/*以上信息正確嗎?(y/n)*/

			char command = 'y';
			fflush(stdin);
			command = getchar();
			switch(command)
			{
				case 'y':
					{					
						MD5_CTX md5;												//初始化用于MD5的加密結構
						MD5Init(&md5);
						
						MD5Update(&md5,username_md5,strlen((char *)user.username)); //對用戶名和密碼進行MD5加密
						MD5Final(username_md5,&md5); 
						MD5Update(&md5,password_md5,strlen((char *)user.password)); 
						MD5Final(password_md5,&md5); 
						

						if ((fp_user = fopen("user.dat","w")) == 0)
						{
							printf("%s",*(p_language_print+9));/*程序運行出現意外錯誤,按任意鍵繼續*/
							getch();
							fclose(fp_user);
							return false;
						}

						for (int ij=0;	ij<17;	ij++)			//將md5密文寫入到文件
						{
							fprintf(fp_user,"%x",username_md5[ij]);
						}

						fprintf(fp_user,"\n");

						for (ij=0;	ij<17;	ij++)
						{
							fprintf(fp_user,"%x",password_md5[ij]);
						}

						fprintf(fp_user,"\n%f",user.price);

						fprintf(fp_user,"\n%c",user.language);

						fprintf(fp_user,"\n%d",user.Dimension.p_long);

						fprintf(fp_user,"\n%d",user.Dimension.p_breadth);

						fclose (fp_user);


						carlist = InitList_Sq(sizeof(park_car),user.Dimension.p_long * user.Dimension.p_breadth);		//生成停車記錄文件

						if((InPush(carlist, user.Dimension.p_long, user.Dimension.p_breadth)) == false)					//初始化車位
						{
							return false;
						}
						

						if ((fp_car = fopen("parkcar.dat","wb")) == 0)
						{
							printf("%s",*(p_language_print+9));/*程序運行出現意外錯誤,按任意鍵繼續*/
							getch();
							
							return false;
						}
						if (fwrite(carlist,sizeof(park_car),user.Dimension.p_long * user.Dimension.p_breadth,fp_car) == 0)	
						{
							printf("%s",*(p_language_print+9));/*程序運行出現意外錯誤,按任意鍵繼續*/
							getch();

							fclose(fp_car);
							return false;
						}
						fclose(fp_car);

						printf("\n\n%s",*(p_language_print+10));/*用戶創建成功,現在將以新用戶身份登錄,按任意鍵繼續。*/

						login_log();

						getch();

						return true;
					}
				case 'n':
					{
						fclose (fp_user);
						break;
					}
			}
		}
	}

	char in_username[20],in_password[20];
	while(1)
	{
		if (user.language == 'c')
		{
			Out_hander_ch();
		}
		else if (user.language == 'e')
		{
			Out_hander_en();
		}


		printf("\t\t%s",*(p_language_print));/*請輸入用戶名:*/
		gets(in_username);
		printf("\n\t\t%s",*(p_language_print+1));/*請輸入  密碼:*/
		starword(in_password);

		for(int ini = 0;	ini<20;		ini++)
		{
			user.username[ini] = in_username[ini];
			user.password[ini] = in_password[ini];
		}

		unsigned char in_username_md5[17],	in_password_md5[17];
		
		MD5_CTX md5;												//初始化用于MD5的加密結構
		MD5Init(&md5);
				
		MD5Update(&md5,in_username_md5,strlen(in_username));		//對得到的用戶名和密碼進行MD5加密
		MD5Final(username_md5,&md5);
		MD5Update(&md5,in_password_md5,strlen(in_password));
		MD5Final(password_md5,&md5);



		if ((fp_user = fopen("temp.tmp","w")) == 0)
		{
			printf("%s",*(p_language_print+9));/*程序運行出現意外錯誤,按任意鍵繼續*/
			getch();
			return false;
		}
			
		for (int ij=0;	ij<17;	ij++)			//將md5密文寫入到文件
		{
			fprintf(fp_user,"%x",username_md5[ij]);
		}

		fprintf(fp_user,"\n");

		for (ij=0;	ij<17;	ij++)
		{
			fprintf(fp_user,"%x",password_md5[ij]);
		}
						
		fclose (fp_user);


		if ((fp_user = fopen("temp.tmp","r")) == 0)
		{
			printf("%s",*(p_language_print+9));/*程序運行出現意外錯誤,按任意鍵繼續*/
			getch();
			return false;
		}

		char write_username_md5[40],write_password_md5[40];

		rewind(fp_user);

		fscanf(fp_user,"%s\n%s",write_username_md5,write_password_md5);
		
		fclose(fp_user);

		//*********************************************************			Debug
			#ifdef DEBUG
			printf("\n\nDebug\n");

			printf("read_username_md5 = %s\n",read_username_md5);
			printf("write_username_md5 = %s\n",write_username_md5);
			printf("read_password_md5 = %s\n",read_password_md5);
			printf("write_password_md5 = %s\n",write_password_md5);
	
			printf("\n\n");
			getch();
			#endif 
		//**********************************************************


		if (strcmp(read_username_md5, write_username_md5) == 0 && strcmp(read_password_md5,write_password_md5) == 0)	//比較輸入帳戶的和文件中讀取的MD5值是否相等
		{
			printf("\n\n%s\n",*(p_language_print+11));/*登陸成功,按任意鍵繼續*/
			getch();

			break;
		}
		else
		{
			printf("\n\n%s\n\n",*(p_language_print+12));/*用戶名或密碼輸入錯誤,請重新輸入。按任意鍵繼續*/

			getch();
			system("cls");
		}
	}


	carlist = InitList_Sq(sizeof(park_car),user.Dimension.p_long * user.Dimension.p_breadth);

	if ((fp_car = fopen("parkcar.dat","rb")) == 0)		//將車輛數據文件載入內存
	{
		printf("%s",*(p_language_print+9));/*程序運行出現意外錯誤,按任意鍵繼續*/
		getch();

		return false;
	}

	if(fread(carlist,sizeof(park_car),user.Dimension.p_long * user.Dimension.p_breadth,fp_car) == 0)
	{
		printf("%s",*(p_language_print+9));/*程序運行出現意外錯誤,按任意鍵繼續*/
		getch();

		fclose(fp_car);
		return false;
	}

	fclose(fp_car);


	login_log();
	
	system("del temp.tmp");

	return true;

}




//回顯星號輸入密碼
//   密碼可輸入范圍:0-9,A-Z,a-z,space
void starword(char password[20])
{
	char ch;
	int ii=0;
	while ((ch = getch()) != 13)
	{
		if ((ch>=48 && ch<=57) || (ch>=65 && ch<=90) || (ch>=97 && ch<=122) || ch==10)
		{
			password[ii] = ch;
			ii++;
			printf("*");
		}
		else if (ch == '\b' && ii>0)
		{
			printf("\b");
			printf(" ");
			printf("\b");
			ii--;
		}
	}
	password[ii] = '\0';
	for (ii=ii+1; ii<20; ii++)
	{
		password[ii] = 0;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美二区在线观看| 国产免费成人在线视频| 久久久亚洲欧洲日产国码αv| 国产精品美女久久久久高潮| 石原莉奈在线亚洲三区| av激情成人网| 久久免费国产精品| 天天免费综合色| 色婷婷国产精品久久包臀| 精品成人佐山爱一区二区| 亚洲激情一二三区| 成人在线视频一区| 久久久亚洲高清| 美女在线观看视频一区二区| 在线一区二区视频| 中文字幕一区二区视频| 国产成人鲁色资源国产91色综| 欧美肥胖老妇做爰| 欧美高清视频一二三区| 亚洲乱码中文字幕| 色婷婷国产精品综合在线观看| 中文字幕欧美三区| 国产精品一区2区| 久久免费电影网| 韩国欧美国产一区| 欧美激情中文不卡| 久久99精品一区二区三区三区| 3atv在线一区二区三区| 偷拍一区二区三区四区| 在线播放中文一区| 日韩中文字幕1| 欧美一区二区网站| 青青草精品视频| 欧美大片免费久久精品三p| 蜜桃91丨九色丨蝌蚪91桃色| 日韩午夜在线观看| 国内不卡的二区三区中文字幕| 精品久久久久久久一区二区蜜臀| 久久9热精品视频| 久久久亚洲高清| 91免费版在线看| 亚洲国产精品久久久男人的天堂| 欧美日韩国产另类不卡| 美女视频黄久久| 久久嫩草精品久久久精品| 国产91丝袜在线观看| 亚洲同性gay激情无套| 欧美在线免费观看视频| 亚洲丶国产丶欧美一区二区三区| 欧美日韩一级片网站| 蜜桃久久久久久| 国产亚洲精品7777| 99精品桃花视频在线观看| 一区二区三区美女| 欧美一区二区高清| 成人午夜私人影院| 亚洲一区二区三区爽爽爽爽爽 | 久久久777精品电影网影网| 国产成人av一区二区| 亚洲男同1069视频| 欧美一区日本一区韩国一区| 国产精品一品二品| 亚洲成a人v欧美综合天堂下载| 欧美成人a∨高清免费观看| 成人性色生活片免费看爆迷你毛片| 亚洲色图另类专区| 日韩亚洲欧美中文三级| 国产·精品毛片| 亚洲mv在线观看| 久久久国产综合精品女国产盗摄| 91美女片黄在线观看| 美女视频一区在线观看| 亚洲视频一区在线观看| 日韩精品综合一本久道在线视频| 国产成人精品亚洲日本在线桃色| 一区二区高清免费观看影视大全 | 精品一区二区影视| 成人免费一区二区三区视频| 欧美一区二区三区小说| 色诱视频网站一区| 国产成人免费视频网站| 蜜桃av一区二区| 亚洲一区在线视频| 国产精品久久一级| 欧美—级在线免费片| 欧美三级在线看| 9人人澡人人爽人人精品| 激情小说欧美图片| 亚洲国产精品影院| 中文字幕亚洲综合久久菠萝蜜| 日韩欧美资源站| 在线观看不卡一区| 99久久综合狠狠综合久久| 老色鬼精品视频在线观看播放| 亚洲图片欧美色图| 亚洲欧美一区二区三区孕妇| 久久婷婷国产综合精品青草| 91 com成人网| 欧美日韩精品三区| 欧美在线free| 在线日韩一区二区| 色视频欧美一区二区三区| 成人sese在线| 国产69精品久久777的优势| 国产精品一品二品| 国产精品中文欧美| 精品一区二区三区影院在线午夜| 亚洲福利国产精品| 亚洲成人777| 亚洲3atv精品一区二区三区| 亚洲少妇30p| 亚洲欧洲精品一区二区三区不卡| 中文字幕成人av| 国产精品久久久久9999吃药| 中文字幕日韩欧美一区二区三区| 国产免费久久精品| 日韩一区在线免费观看| 综合在线观看色| 亚洲乱码国产乱码精品精98午夜| 国产精品家庭影院| 亚洲人成精品久久久久久| 亚洲天堂免费看| 亚洲一区影音先锋| 日韩vs国产vs欧美| 国产一区二区三区久久悠悠色av| 国产一区二区中文字幕| 国产成人综合亚洲91猫咪| 成人精品视频.| 色呦呦网站一区| 欧美裸体一区二区三区| 日韩欧美一级在线播放| 亚洲精品在线免费播放| 国产精品无人区| 一区二区三区欧美激情| 日韩精品亚洲专区| 国产一区二区三区免费播放| jlzzjlzz亚洲日本少妇| 欧美在线免费视屏| 精品少妇一区二区三区在线视频| 国产日韩av一区| 一区二区三区在线免费播放 | 亚洲第一狼人社区| 亚洲va天堂va国产va久| 久久精品国产精品亚洲精品| 国产不卡免费视频| 欧美亚洲综合在线| 精品国产污网站| 亚洲人成在线观看一区二区| 午夜精品久久久久久| 国产一区二区三区香蕉| 91麻豆免费视频| 欧美va亚洲va在线观看蝴蝶网| 国产女主播在线一区二区| 亚洲激情第一区| 久久国产精品区| 99久精品国产| 精品国产sm最大网站| 亚洲欧美日韩久久精品| 黄网站免费久久| 欧美亚洲一区二区在线| 久久久精品蜜桃| 亚洲成av人片在线| 丰满岳乱妇一区二区三区| 欧美一a一片一级一片| 国产精品婷婷午夜在线观看| 午夜欧美大尺度福利影院在线看| 国产精品一二三在| 欧美日韩高清在线播放| 国产精品伦理在线| 蜜臀国产一区二区三区在线播放| 91美女在线视频| 国产色产综合色产在线视频 | 一区二区三区日韩精品| 激情综合网最新| 欧美日韩中文字幕精品| 国产精品久久久久久福利一牛影视| 日韩电影免费一区| 欧美三级三级三级爽爽爽| 亚洲欧美另类小说| 国产精品自拍三区| 日韩视频免费观看高清完整版 | 欧美日韩国产成人在线免费| 国产精品第四页| 国产成人精品一区二区三区四区| 91精品国产麻豆国产自产在线 | 7777精品伊人久久久大香线蕉完整版| 中文字幕日韩欧美一区二区三区| 精品在线你懂的| 日韩欧美久久一区| 麻豆国产精品视频| 欧美一区二区在线免费观看| 午夜久久福利影院| 在线不卡一区二区| 免费人成黄页网站在线一区二区| 色婷婷av一区二区三区之一色屋| 亚洲欧洲av一区二区三区久久| 99免费精品在线| 亚洲免费资源在线播放| 欧洲国内综合视频| 亚洲午夜久久久久中文字幕久|