操作系统-命令解释程序(实验一)
實(shí)驗(yàn)一? 命令解釋程序的編寫(兩周內(nèi))
一、目的和要求
1. 實(shí)驗(yàn)?zāi)康?/strong>
(1)掌握命令解釋程序的原理;
(2)*掌握簡(jiǎn)單的DOS調(diào)用方法;
(3)掌握C語(yǔ)言編程初步。
2.實(shí)驗(yàn)要求
編寫類似于DOS,UNIX的命令行解釋程序
(1)自行定義系統(tǒng)提示符
(2)自定義命令集(8-10個(gè))
(3)用戶輸入HELP以查找命令的幫助
(4)列出命令的功能,區(qū)分內(nèi)部還是外部命令
(5)用戶輸入QUIT退出
(6)內(nèi)部命令有dir, cd, md, rd, cls, date, time, ren, copy等。
二、實(shí)驗(yàn)內(nèi)容
根據(jù)教師指定的實(shí)驗(yàn)課題,完成設(shè)計(jì)、編碼、測(cè)試工作。
三、實(shí)驗(yàn)環(huán)境
1.PC微機(jī)
2.Windows 操作系統(tǒng)
3.C/C++程序開(kāi)發(fā)集成環(huán)境
四、實(shí)驗(yàn)核心算法及運(yùn)用文檔
?
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 char or[19][20]={"dir","cd","md","rd","cls","date","time","ren","copy","javac","java","erase","chkntfs","assoc","at","attrib","call","help","quit"}; 5 char order[10]; 6 void cmd(int i); 7 void main() 8 { 9 int i; 10 printf("Microsoft Windows [版本 6.1.7601]\n"); 11 printf("版權(quán)所有 <c> 2009 Microsoft Corporation。版權(quán)所有權(quán)利。\n\n"); 12 while(1) 13 { 14 printf("C:\\Users\\USER>"); 15 gets(order); 16 if(strcmp(order,"\n")==1) 17 { 18 for(i=0;i<19;i++){ 19 if(stricmp(order,or[i])==0) 20 break; 21 } 22 if(i==19) 23 printf("\"%s\"不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。\n\n",order); 24 else if(i==18) 25 break; 26 else if(i==4) 27 system("cls"); 28 else{ 29 cmd(i); 30 //system(order); 31 printf("\n"); 32 } 33 } 34 } 35 } 36 37 38 void cmd(int i){ 39 FILE *fp; 40 int j; 41 int os[19][30]; 42 fp=fopen("order.txt","r+"); 43 for(j=0;j<19;j++) 44 fscanf(fp,"%s",os[j]); 45 fclose(fp); 46 if(i>=0&&i<=16) 47 printf("\"%s\"內(nèi)部命令輸入正確。\n",order); 48 else 49 printf("\"%s\"外部命令輸入正確。\n",order); 50 if(i==17){ 51 for(j=0;j<19;j++){ 52 printf("%s\t",or[j]); 53 if(j>=0&&j<=16) 54 printf("內(nèi)部命令 "); 55 else 56 printf("外部命令 "); 57 printf("%s\n",os[j]); 58 } 59 60 } 61 else if(i==4){ 62 system(order); 63 } 64 else 65 printf("該命令的作用是:%s",os[i]); 66 printf("\n"); 67 }?
五、運(yùn)行結(jié)果
?
六、實(shí)驗(yàn)總結(jié)
??? 這次實(shí)驗(yàn)可以說(shuō)是一次很簡(jiǎn)單的實(shí)驗(yàn),有很多運(yùn)用到的代碼都是以前做大作業(yè)的時(shí)候?qū)戇^(guò)的了。但是還是存在一些問(wèn)題,比如這次實(shí)驗(yàn)的拓展題就讓我有些不知道怎么下手,因?yàn)閏md命令解釋,如果用所以說(shuō)system(order);這句代碼的話就可以照樣的輸出本機(jī)cmd命令解釋的,如果不用的話,暫時(shí)還沒(méi)有想出怎么去寫這個(gè)代碼。
轉(zhuǎn)載于:https://www.cnblogs.com/moliny/p/5315121.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的操作系统-命令解释程序(实验一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: uva 10047 the monocy
- 下一篇: 设计新Xlator扩展GlusterFS