void main() { char str[10]; char strname[10]; char c; printf("是否格式化?<y/n>"); scanf("%c",&c); fgetc(stdin); if(c=='y') { if(!Format()) { return; } printf("格式化完毕!\n"); } if(!Install()) { return; } printf("login.................\n"); login(); showhelp(); printf("%s>",cmdhead); while(1) { scanf("%s",&str); if(strcmp(str,"exit")==0) { fclose(fd); return; } else if(strcmp(str,"dir")==0) { showdir(); } else if(strcmp(str,"bit")==0) { showbitmap(); } else if(strcmp(str,"help")==0) { showhelp(); } else if(Iscmd(str)) { scanf("%s",&strname); cmd_Up(str,strname); } else { printf("错误命令!\n"); } printf("%s>",cmdhead); } }
int main() { char str[10]; char strname[10]; char c; printf("FormatDisk?<y/n>"); scanf("%c",&c); fflush(stdin); if(c=='y') { if(!Format()) { return -1; } printf("Finished!\n"); } if(!Install()) { return -1; } printf("login now\n"); login(); showhelp(); printf("%s>",cmdhead); while(1) { scanf("%s",&str); if(strcmp(str,"shutdown")==0) { fclose(fd); return 0 ; } else if(strcmp(str,"dir")==0) { showdir(); } else if(strcmp(str,"bit")==0) { showbitmap(); } else if(strcmp(str,"help")==0) { showhelp(); } else if(strcmp(str,"logout")==0) { logout(); } else if(Iscmd(str)) { scanf("%s",&strname); cmd_Up(str,strname); } else { printf("Error!!\n"); } printf("%s>",cmdhead); } return 0; }
void login() { char str[20]; int i; do{ do{ printf("user name:"); fflush(stdin); scanf("%s",str); for(i=0;i<PWDNUM ;i++) { //printf("%s",pwd[i].username); if(strcmp(pwd[i].username,str)==0) { break; } if(strcmp("exit",str)==0) { exit(0); } } if(i!=PWDNUM) { break; } }while(1); printf("passwd:"); fgetc(stdin); scanf("%s",str); if(strcmp(pwd[i].password,str)==0) { break; } if(strcmp("exit",str)==0) { exit(0); } }while(1); cur_user=&pwd[i]; inodetemp=read_inode(0);//读取主目录的inode; if((inodetemp->di_mode&DIMODE_DIR)!=DIMODE_DIR) { printf("读取主目录失败,请重新格式化!\n"); } else { changeinode();//交换指针 cur_inode 指向当前目录的 inode read_dir_data(cur_inode->di_block[0]); //printf("%d",cur_inode->di_block[0]); } strcpy(cmdhead,"root"); cmd_Up("cd","etc"); cmd_Up("cd",cur_user->username); printf("login success!!\n"); }