天天看點

作業系統cmd

實驗一  指令解釋程式的編寫(兩周内)

一、目的和要求

1. 實驗目的

(1)掌握指令解釋程式的原理;

(2)*掌握簡單的DOS調用方法;

(3)掌握C語言程式設計初步。

2.實驗要求

編寫類似于DOS,UNIX的指令行解釋程式

(1)自行定義系統提示符

(2)自定義指令集(8-10個)

(3)使用者輸入HELP以查找指令的幫助

(4)列出指令的功能,區分内部還是外部指令

(5)使用者輸入QUIT退出

(6)内部指令有dir, cd, md, rd, cls, date, time, ren, copy等。

二、實驗内容

根據教師指定的實驗課題,完成設計、編碼、測試工作。

三、實驗環境

1.PC微機

2.Windows 作業系統

3.C/C++程式開發內建環境

1 #include<stdio.h>
  2 char cmd[11][11]={"dir","cd","md","rd","cls","date","time","ren","cope","help","quit"};
  3 char str[10];
  4 int i;
  5 main()
  6 {
  7     printf("Microsoft Windows [版本 6.1.7601]\n");
  8     printf("版權所有 <c> 2009 Microsoft Corporation。保留所有權利\n\n");
  9     while(1){
 10     printf("C:\Users\Administrator>");
 11     gets(str);
 12     for(i=0;i<11;i++)
 13     {
 14         if(strcmp(str,cmd[0])==0)
 15         {
 16             printf("'dir'内部指令輸入正确!\n");
 17             printf("該指令作用是:顯示一個目錄中的檔案和子目錄。\n\n\n");
 18             break;
 19         }
 20         if(strcmp(str,cmd[1])==0)
 21         {
 22             printf("'cd'内部指令輸入正确!\n");
 23             printf("該指令作用是:顯示目前目錄的名稱或将其更改。\n\n\n");
 24 
 25             break;
 26         }
 27         if(strcmp(str,cmd[2])==0)
 28         {
 29             printf("'md'内部指令輸入正确!\n");
 30             printf("該指令作用是:建立一個目錄。\n\n\n");
 31 
 32             break;
 33         }
 34         if(strcmp(str,cmd[3])==0)
 35         {
 36             printf("'rd'内部指令輸入正确!\n");
 37             printf("該指令作用是:删除目錄。\n\n\n");
 38 
 39             break;
 40         }
 41         if(strcmp(str,cmd[4])==0)
 42         {
 43             printf("'cls'内部指令輸入正确!\n");
 44             printf("該指令作用是:清除螢幕。\n\n\n");
 45 
 46             break;
 47         }
 48         if(strcmp(str,cmd[5])==0)
 49         {
 50             printf("'date'内部指令輸入正确!\n");
 51             printf("該指令作用是:顯示或設定日期。\n\n\n");
 52 
 53             break;
 54         }
 55         if(strcmp(str,cmd[6])==0)
 56         {
 57             printf("'time'内部指令輸入正确!\n");
 58             printf("該指令作用是:内部指令顯示或設定系統時間。\n\n\n");
 59 
 60             break;
 61         }
 62         if(strcmp(str,cmd[7])==0)
 63         {
 64             printf("'ren'内部指令輸入正确!\n");
 65             printf("該指令作用是:重新命名檔案。\n\n\n");
 66 
 67             break;
 68         }
 69         if(strcmp(str,cmd[8])==0)
 70         {
 71             printf("'cope'内部指令輸入正确!\n");
 72             printf("該指令作用是:将至少一個檔案複制到另一個位置。\n\n\n");
 73             return 0;
 74             break;
 75         }
 76         if(strcmp(str,cmd[9])==0)
 77         {
 78             printf("類型:外部指令\n");
 79                     printf("有關某個指令的詳細資訊,請鍵入 HELP 指令名\n");
 80                     printf("dir\t内部指令 顯示一個目錄中的檔案和子目錄。\n"); 
 81                     printf("cd\t内部指令 顯示目前目錄的名稱或将其更改。\n");
 82                     printf("md\t内部指令 建立一個目錄。\n");
 83                     printf("rd\t内部指令 删除目錄。.\n");
 84                     printf("cls\t内部指令 清除螢幕。\n");
 85                     printf("date\t内部指令 顯示或設定日期。\n");
 86                     printf("time\t内部指令 内部指令顯示或設定系統時間。\n");
 87                     printf("ren\t内部指令 重新命名檔案。\n");
 88                     printf("cope\t内部指令 将至少一個檔案複制到另一個位置。\n");
 89                     printf("help\t外部指令 提供Windows指令的幫助資訊。\n");
 90                     printf("quit\t外部指令 退出指令解釋程式。\n\n\n");
 91                      break;
 92         }
 93         if(strcmp(str,cmd[10])==0)
 94         {
 95             printf("'quit'外部指令輸入正确!\n");
 96             printf("該指令作用是:退出指令解釋程式。\n\n\n");
 97             exit(1);
 98             break;
 99         }
100         if(strcmp(str,cmd[i])!=0)
101         {
102             printf("此指令不是内部或外部指令,也不是可運作的程式或批處理檔案。\n\n\n");
103             break;
104         }
105     }
106     }
107 }      
上一篇: 1014
下一篇: 團隊項目2.0