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

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

?? fms.cpp

?? 在控制臺下模擬的windows操作系統下的文件管理系統
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// FMS.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "io.h"
#include "conio.h"
#include "stdio.h"
#include "stdlib.h"
#include "malloc.h"
#include "string.h"
#include "ctype.h"
#define M 20/*一個用戶可保存M個文件*/
#define N 30/*用戶數*/
#define L 5/*用戶只能一次打開L個文件*/
typedef struct MFD/*主文件目錄*/
{
	char username[100];
	char password[100];
	FILE fp;/*文件指針*/
}MFD;
typedef struct UFD/*用戶文件目錄*/
{
	char filename[256];
	char protect;/*保護碼*/
	int lenght;/*文件長度*/
}UFD;
typedef struct OFD/*打開文件目錄*/
{
	char filename[256];
	char opencode;/*打開保護碼*/
	int fp;/*讀寫指針*/
}OFD;
typedef struct COMM/*命令串*/
{
	char string[256];/*命令*/
	struct COMM *next;/*后繼指針*/
}COMM;
MFD mainfd[N];/*主文件目錄數組*/
UFD userfd[M];/*用戶文件目錄數組*/
OFD openfd[L];/*打開文件目錄數組*/
COMM *command;/*命令傳指針*/
char username[10];
int usernum=0,savenum=0,opennum=0;
int workfile=0;
void init();
void init_ufd(char *username);/*初始化用戶文件目錄*/
void mesg(char *str);
char *getpass();/*設置口令*/
char *getuser();/*設置用戶名*/
COMM *readcommand();/*讀命令串*/
void login();/*用戶登錄*/
void logout();/*用戶注銷*/
void setpass();/*修改口令*/
void create();
void mydelete();/*刪除*/
void myread();/*讀*/
void myopen();/*打開*/
void myclose();/*關閉*/
void mywrite();/*寫*/
void help();/*幫助*/
void dir();/*列文件目錄*/
void mycopy();/*復制*/
void myrename();/*文件改名*/
int main(int argc, char* argv[])
{
	init();
	for(;;)
	{
		readcommand();
		if(strcmp(command->string,"create")==0)
			create();
		else if(strcmp(command->string,"delete")==0)
			mydelete();
		else if(strcmp(command->string,"open")==0)
			myopen();
		else if(strcmp(command->string,"close")==0)
			myclose();
		else if(strcmp(command->string,"read")==0)
			myread();
		else if(strcmp(command->string,"write")==0)
			mywrite();
		else if(strcmp(command->string,"copy")==0)
			mycopy();
		else if(strcmp(command->string,"rename")==0)
			myrename();
		else if(strcmp(command->string,"login")==0)
			login();
		else if(strcmp(command->string,"setpass")==0)
			setpass();
		else if(strcmp(command->string,"logout")==0)
			logout();
		else if(strcmp(command->string,"help")==0)
			help();
		else if(strcmp(command->string,"dir")==0)
			dir();
		else if(strcmp(command->string,"exit")==0)
			break;
		else
			mesg("Bad command");
	}
	return 0;
}
void init()
{
	FILE *fp;
	char tempname[20],tempass[20];
	int i=0;
	usernum=0;
	savenum=0;
	opennum=0;
	strcpy(username,"");
	/*用戶使用時,建立一個mainfile.txt文件,包括每個用戶的用戶名和口令*/
	/*然后才能運行此程序*/
	if((fp=fopen("mainfile.txt","r"))!=NULL)
	{
		while(!feof(fp))
		{
			strcpy(tempname,"");
			fgets(tempname,20,fp);
			if(strcmp(tempname,"")!=0)
			{
				fgets(tempass,20,fp);
				tempname[strlen(tempname)-1]='\0';
				tempass[strlen(tempass)-1]='\0';
				strcpy(mainfd[usernum].username,tempname);
				strcpy(mainfd[usernum].password,tempass);
				usernum++;
			}
		}
		fclose(fp);
	}
}
void init_ufd(char *username)/*初始化用戶文件目錄*/
{
	FILE *fp;
	char tempfile[100],tempprot;
	int templength;
	savenum=0;
	opennum=0;
	workfile=-1;
	if((fp=fopen(username,"w+"))!=NULL)
	{
		while(!feof(fp))
		{
			strcpy(tempfile,"");
			fgets(tempfile,50,fp);
			if(strcmp(tempfile,"")!=0)
			{
				fscanf(fp,"%c",&tempprot);
				fscanf(fp,"%d",&templength);
				tempfile[strlen(tempfile)-1]='\0';
				strcpy(userfd[savenum].filename,tempfile);
				userfd[savenum].protect=tempprot;
				userfd[savenum].lenght=templength;
				savenum++;
				fgets(tempfile,50,fp);
			}
		}
	}
	fclose(fp);
}
void mesg(char *str)
{
	printf("\n   %s\n",str);
}
char *getpass()/*設置密碼*/
{
	char password[20];
	char temp;
	int i=0;
	password[0]='\0';
	for(;i<10;)
	{
		while(!kbhit());
		temp=getch();
		if(isalnum(temp)||temp=='_'||temp==13)
		{
			password[i]=temp;
			if(password[i]==13)
			{
				password[i]='\0';
				break;
			}
			putchar('*');
			i++;
			password[i]='\0';
		}
	}
	return (password);
}
char *getuser()/*設置用戶名*/
{
	char username[20];
	char temp;
	int i=0;
	username[0]='\0';
	for(i=0;i<10;)
	{
		while(!kbhit());
		temp=getch();
		if(isalnum(temp)||temp=='_'||temp==13)
		{
			username[i]=temp;
			if(username[i]==13)
			{
				username[i]='\0';
				break;
			}
			putchar(temp);
			i++;
			username[i]='\0';
		}
	}
	return (username);
}
COMM *readcommand()/*讀命令串*/
{
	char temp[256];
	char line[256];
	int i=0,end=0;
	COMM *newp,*p;
	command=NULL;
	strcpy(line,"");
	while(strcmp(line,"")==0)
	{
		printf("\nc:\\>");
		gets(line);
	}
	for(i=0;i<strlen(line);i++)
	{
		if(line[i]==' ')
			i++;
		end=0;
		while(line[i]!='\0'&&line[i]!=' ')
		{
			temp[end]=line[i];
			end++;
			i++;
		}
		if(end>0)
		{
			temp[end]='\0';
			newp=(COMM*)malloc(sizeof(COMM));
			strcpy(newp->string,temp);
			newp->next =NULL;
			if(command==NULL)
				command=newp;
			else
			{
				p=command;
				while(p->next !=NULL)
					p=p->next;
				p->next=newp;
			}
		}
	}
	p=command;
	return command;
}
void login()/*用戶登錄*/
{
	FILE *fp;
	int i=0;
	char password[20],confirm[20],tempname[20];
	COMM *p=command;
	while(p!=NULL)
	{
		printf("%s\n",p->string);
		p=p->next;
	}
	if(command->next==NULL)
	{
		printf("\n  User Name:");
		strcpy(tempname,getuser());
	}
	else if(command->next->next!=NULL)
	{
		mesg("Too many parameters");
		return;
	}
	else
		strcpy(tempname,command->next->string);
//	printf("%s%d\n",tempname,usernum);
	for(i=0;i<usernum;i++)
	{
		if(strcmp(mainfd[i].username,tempname)==0)
			break;
	}
	if(i>=usernum)
	{
		printf("\n new user account,enter your password twice!");
		printf("\n Password:");
		strcpy(password,getpass());
		printf("\n confirm Password:");
		strcpy(confirm,getpass());
		if(strcmp(password,confirm)==0)
		{
			if(usernum>=N)
				mesg("Create new account false! number of user account limited.\n  login false!");
			else
			{
				strcpy(mainfd[usernum].username,tempname);//把新用戶和口令填如mainfd中
				strcpy(mainfd[usernum].password,password);
				usernum++;
				strcpy(username,tempname);
				mesg("Create a new user! \n login suc!cess");
				init_ufd(username);
				fp=fopen("mainfile.txt","w+");//將新用戶添加到mainfile.txt文件中
				for(int i=0;i<usernum;i++)
				{
					fputs(mainfd[i].username,fp);
					fputs("\n",fp);
					fputs(mainfd[i].password,fp);
					fputs("\n",fp);
				}
				fclose(fp);
			}
		}
		else
		{
			mesg("Create new account fasle! Error password.");
			mesg("login false!");
		}
	}
	else
	{
		printf("\n   Password:");
		strcpy(password,getpass());
		if(strcmp(mainfd[i].password,password)!=0)
			mesg("Login false! Error password.");
		else
		{
			mesg("Login success!");
			strcpy(username,tempname);
			init_ufd(username);
		}
	}

}
void logout()/*用戶注銷*/
{
	if(command->next!=NULL)
		mesg("Too many parameters!");
	else if(strcmp(username,"")==0)
		mesg("No user login!");
	else
	{
		strcpy(username,"");
		opennum=0;
		savenum=0;
		workfile=-1;
		mesg("User login!");
	}
}
void setpass()/*修改口令*/
{
	int i=0;
	FILE *fp;
	char oldpass[20],newpass[20],confirm[20];
	if(strcmp(username,"")==0)
		mesg("No user login!");
	else
	{
		printf("\n   Old    password:");
		strcpy(oldpass,getpass());
		for(int i=0;i<usernum;i++)
		{
			if(strcmp(mainfd[i].username,username)==0)
				break;
		}
		if(strcmp(mainfd[i].password,oldpass)!=0)
			mesg("Old password error!");
		else
		{
			printf("\n   New password:");
			strcpy(newpass,getpass());
			printf("\n Confirm password:");
			strcpy(confirm,getpass());
			if(strcmp(newpass,confirm)!=0)
				mesg("Password not change! confirm different.");
			else
			{
				strcpy(mainfd[i].password,newpass);
				mesg(" Password change !");
					fp=fopen("mainfile.txt","w+");
				for(i=0;i<usernum;i++)
				{
					fputs(mainfd[i].username,fp);
					fputs("\n",fp);
					fputs(mainfd[i].password,fp);
					fputs("\n",fp);
				}
				fclose(fp);
			}
		}
	}
}
void create()
{
	int i=0;
	FILE *fp;
	if(strcmp(username,"")==0)
		mesg("No user lgoin!");
	else if(command->next==NULL)
		mesg("Too few parametets!");
	else if(command->next->next!=NULL)
		mesg("Too many parameters!");
	else
	{
		for(i=0;i<savenum;i++)
		{
		//	printf("%s  %d  %s",userfd[i].filename,i,command->next->string);
			if(strcmp(userfd[i].filename,command->next->string)==0)
				break;
		}
		if(i<savenum)
			mesg("Error!   the file already existed!");
		else if(savenum>=M)
			mesg("Error!  connot create file! number of files limited!");
		else
		{
			strcpy(userfd[savenum].filename,command->next->string);
			userfd[i].protect='r';
			userfd[i].lenght=rand();
			savenum++;
			mesg("Create file success!");
			fp=fopen(username,"w+");
			for(i=0;i<savenum;i++)
			{
				fputs(userfd[i].filename,fp);
				fputs("\n",fp);
				fprintf(fp,"%c\n%d\n",userfd[i].protect,userfd[i].lenght);
			}
			fclose(fp);
		}
	}
}
void mydelete()/*刪除*/
{
	int i=0;
	int tempsave=0;
	FILE *fp;
	if(strcmp(username,"")==0)
		mesg("No user lgoin!");
	else if(command->next==NULL)
		mesg("Too few parametets!");
	else if(command->next->next!=NULL)
		mesg("Too many parameters!");
	else
	{
		for(i=0;i<savenum;i++)
		{
		//	printf("%s  %d  %s",userfd[i].filename,i,command->next->string);
			if(strcmp(userfd[i].filename,command->next->string)==0)
				break;
		}
		if(i>=savenum)
			mesg("Error!   the file not existed!");
		else
		{
			tempsave=i;
			for(i=0;i<opennum;i++)
			{
				if(strcmp(command->next->string,openfd[i].filename)==0)
					break;
			}
			if(i>=opennum)
				mesg("File not open");
			////////////////////////////////////////////
			else
			{
				if(tempsave==savenum-1)
					savenum--;
				else
				{
					for(;tempsave<savenum-1;tempsave++)
					{
						strcpy(userfd[tempsave].filename,userfd[tempsave+1].filename);
						userfd[tempsave].protect=userfd[tempsave+1].protect;
						userfd[tempsave].lenght=userfd[tempsave+1].lenght;
					}
					savenum--;
				}
				mesg("Delete file success!");
				fp=fopen(username,"w+");
				for(i=0;i<savenum;i++)
				{
					fputs(userfd[i].filename,fp);
					fputs("\n",fp);
					fprintf(fp,"%c\n%d\n",userfd[i].protect,userfd[i].lenght);
				}
				fclose(fp);
			}		
		}
	}
}
void myread()/*讀*/
{
	int i=0;
	int tempsave=0;
	char tempfile[100];
		if(strcmp(username,"")==0)
		mesg("No user lgoin!");
	else if(command->next==NULL)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品久久久久久| 91网站最新网址| 成人av网站免费观看| 久久午夜羞羞影院免费观看| 综合婷婷亚洲小说| 五月婷婷综合在线| 92国产精品观看| 国产欧美日本一区二区三区| 亚洲国产aⅴ天堂久久| 高清国产一区二区三区| 日韩区在线观看| 亚洲国产一区二区视频| 99在线视频精品| 国产亚洲综合性久久久影院| 青青草97国产精品免费观看无弹窗版| 成人激情动漫在线观看| 精品久久久久久综合日本欧美| 午夜精品久久久久久久蜜桃app| k8久久久一区二区三区| 久久精品视频网| 国产永久精品大片wwwapp| 3d成人动漫网站| 亚洲国产精品久久久久婷婷884| 99久久夜色精品国产网站| 国产清纯美女被跳蛋高潮一区二区久久w| 日日摸夜夜添夜夜添亚洲女人| 色呦呦国产精品| 亚洲嫩草精品久久| 床上的激情91.| 久久久久久97三级| 国产精品亚洲а∨天堂免在线| 日韩欧美国产不卡| 久久国产成人午夜av影院| 欧美一区二区精品在线| 日本不卡一二三| 欧美成人综合网站| 另类专区欧美蜜桃臀第一页| 日韩一区二区电影| 久久99国产精品成人| 欧美变态口味重另类| 久久精品久久综合| 久久久久国产免费免费| 国产成人精品三级| 国产精品久久久久永久免费观看 | 国产视频一区不卡| 国产一区二区看久久| 国产视频亚洲色图| 91最新地址在线播放| 亚洲自拍偷拍av| 欧美一级片在线观看| 日韩国产在线观看一区| 欧美大片一区二区| 成人黄色片在线观看| 亚洲人成网站影音先锋播放| 欧美日韩免费视频| 青青草精品视频| 国产精品入口麻豆原神| 91在线视频观看| 三级欧美韩日大片在线看| 欧美大胆一级视频| 成人午夜av影视| 一区二区三区精密机械公司| 91精品国产综合久久久久久久| 久久成人免费电影| 国产精品久久久久久久久久久免费看| 91伊人久久大香线蕉| 日日夜夜一区二区| 国产欧美精品一区aⅴ影院| 色狠狠桃花综合| 免费高清在线一区| 国产精品久久久久久久久晋中| 欧美优质美女网站| 国产又粗又猛又爽又黄91精品| 亚洲男人的天堂av| 精品国产免费人成电影在线观看四季| 成人精品免费看| 日韩国产一二三区| 亚洲欧美日韩系列| 欧美成人三级在线| 91久久免费观看| 国产激情一区二区三区| 亚洲123区在线观看| 国产精品久久久久久久岛一牛影视| 7799精品视频| 日本高清不卡视频| 国产一区二三区| 天堂蜜桃一区二区三区| 国产精品乱码久久久久久| 欧美一二三区在线| 欧美制服丝袜第一页| 成人免费高清视频在线观看| 蜜桃av噜噜一区二区三区小说| 亚洲视频狠狠干| 久久久亚洲午夜电影| 欧美男人的天堂一二区| 91在线精品一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲一区二区三区四区中文字幕 | 国内久久婷婷综合| 99免费精品在线观看| 久久精品久久综合| 午夜欧美视频在线观看| 亚洲人成在线播放网站岛国| 欧美精品一区二区精品网| 欧美日韩久久久一区| 91啦中文在线观看| 成人黄色777网| 国产丶欧美丶日本不卡视频| 美女性感视频久久| 日韩精品国产欧美| 日韩有码一区二区三区| 亚洲制服丝袜一区| ㊣最新国产の精品bt伙计久久| 久久久久国产成人精品亚洲午夜| 日韩色在线观看| 日韩午夜av电影| 日韩精品专区在线| 欧美大片日本大片免费观看| 欧美一区二区三区喷汁尤物| 欧美日韩视频一区二区| 欧美日韩一区二区三区在线看 | 日韩视频免费观看高清在线视频| 精品视频在线免费看| 欧美日韩亚洲不卡| 制服丝袜亚洲色图| 欧美一级免费观看| 日韩精品一区二区在线| 26uuu亚洲婷婷狠狠天堂| 精品精品国产高清一毛片一天堂| 精品久久久久久综合日本欧美| 久久久午夜电影| 国产欧美一区二区精品忘忧草| 欧美国产精品中文字幕| 日韩美女久久久| 一区二区三区在线视频免费观看 | 欧美三级午夜理伦三级中视频| 在线免费视频一区二区| 欧美日韩电影一区| 精品国产91亚洲一区二区三区婷婷| 精品国产一区二区亚洲人成毛片| 久久午夜老司机| 亚洲欧洲在线观看av| 亚洲综合一区二区精品导航| 午夜欧美2019年伦理 | 一区二区三区美女| 丝袜亚洲另类丝袜在线| 国产一区二区三区观看| 91免费在线播放| 91精品婷婷国产综合久久竹菊| 26uuu亚洲综合色| 亚洲综合一区在线| 极品少妇一区二区| 91啪亚洲精品| 欧美精品一区二区三区四区 | 成人av在线电影| 欧美日韩激情一区二区三区| 2021中文字幕一区亚洲| 亚洲卡通欧美制服中文| 久久99精品国产麻豆婷婷洗澡| 91同城在线观看| 欧美精品一区二区高清在线观看| 亚洲人成精品久久久久久| 久久精品久久久精品美女| 色综合久久综合中文综合网| 26uuu欧美日本| 亚洲va国产天堂va久久en| 国产黄色成人av| 欧美日本免费一区二区三区| 欧美国产日韩a欧美在线观看| 亚洲成人福利片| 99精品久久久久久| 精品国产乱码久久久久久久| 亚洲影视在线播放| 成人激情视频网站| 精品粉嫩超白一线天av| 亚洲成人一区二区| www.99精品| 国产亲近乱来精品视频| 天堂久久久久va久久久久| 91美女在线看| 国产精品久久久久aaaa| 国产乱码精品一区二区三| 日韩一二三四区| 亚洲h在线观看| 在线影视一区二区三区| 国产精品热久久久久夜色精品三区 | 午夜日韩在线观看| 91小视频在线| 中文字幕在线不卡一区二区三区| 蜜桃一区二区三区在线| 91福利国产精品| 亚洲美女免费在线| 成人午夜免费电影| 久久久亚洲高清| 国产伦精品一区二区三区免费迷 | 国产一区二区伦理片| 欧美xingq一区二区| 美国毛片一区二区三区| 91精品国产综合久久精品麻豆| 亚洲国产日日夜夜|