A. 用c語言製作一個小菜單
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
using namespace std;
 void xuanzepaixu()           //選擇排序函數
 {
  printf("待添加,請按任意鍵繼續...");
   getchar();
 }
 void erfenpaixu()           //二分查找函數
 {
  printf("待添加,請按任意鍵繼續...");
  getchar();
 }
void menu()    //主菜單
{
    system("cls"); //清屏
 printf("\n\t\t\t        菜單\n");
 printf("\t\t\t#***********************#\n");
 printf("\t\t\t#    1選擇排序          #\n");
 printf("\t\t\t#    2二分查找          #\n");
 printf("\t\t\t#    3返回              #\n");
 printf("\t\t\t#    4---關閉           #\n");
 printf("\t\t\t#***********************#\n");
 printf("\t\t\t      請選擇(1-4) =:");
}
void main()
{
 char select;
 while(1)
 {  
     menu();
  system("COLOR 9f");       
  scanf("%c",&select);
  if(select=='3')
   break;      //返回上級菜單
  else
  {
   getchar(); //讀入回車符
   if(!isdigit(select)) //如果不是數字字元
   {
    printf("\n\7Your select may be wrong, must enter the digit!\n");_getch();
   }
   else
   {
    
    switch (select)
    {
     case '1': xuanzepaixu();break;
        case '2': erfenpaixu();break;
     case '4':exit(0);             //直接退出
     default: 
     {
      printf("\n\7\7Your selected digit may be wrong, select again!\n");
      _getch();
      break;
     }
    }
   }
  }
 };
}
B. 怎樣用C語言編寫菜單
- 對於窗口組件菜單,需要根據不同平台,通過圖形編程介面,進行菜單的編制。 - 常式: - #include<stdio.h> 
 #include<graphics.h>
 #include<conio.h>
 voidmain()
 {
 charstr;
 inti,k,choice=1;
 intgd=DETECT,gm;
 initgraph(&gd,&gm,"");
 setbkcolor(2);
 settextstyle(3,0,3);
 outtextxy(140,120,"A.TheMockClock.");
 outtextxy(140,150,"B.TheDigitalClock.");
 outtextxy(140,180,"C.Exit.");
 setlinestyle(0,0,3);
 rectangle(170,115,370,145);
 /*按上下鍵選擇所需選項*/
 for(i=1;i<=100;i++)
 {
 str=getch();
 if(str==72)
 {
 --choice;
 if(choice==0)choice=3;
 }
 if(str==80)
 {
 ++choice;
 if(choice==4)choice=1;
 }
 if(str==13)break;/*按回車鍵確認*/
 /*畫圖做菜單*/
 cleardevice();
 switch(choice)
 {case1:setlinestyle(0,0,3);
 rectangle(170,115,400,145);
 settextstyle(3,0,3);
 outtextxy(140,120,"A.TheMockClock.");
 settextstyle(3,0,3);
 outtextxy(140,150,"B.TheDigitalClock.");
 outtextxy(140,180,"C.Exit.");
 break;
 case2:setlinestyle(0,0,3);
 rectangle(170,145,400,175);
 settextstyle(3,0,3);
 outtextxy(140,120,"A.TheMockClock.");
 settextstyle(3,0,3);
 outtextxy(140,150,"B.TheDigitalClock.");
 settextstyle(3,0,3);
 outtextxy(140,180,"C.Exit.");
 break;
 case3:settextstyle(3,0,3);
 outtextxy(140,120,"A.TheMockClock.");
 outtextxy(140,150,"B.TheDigitalClock.");
 settextstyle(3,0,3);
 outtextxy(140,180,"C.Exit.");
 setlinestyle(0,0,3);
 rectangle(170,175,400,205);
 break;
 }
 }
 if(i>=100)exit(0);/*如果按鍵超過100次退出*/
 switch(choice)/*這里引用函數,實現所要的功能*/
 {
 case1:cleardevice();
 setbkcolor(4);
 settextstyle(3,0,4);
 outtextxy(160,120,"No.1havenotbuilt.");break;
 case2:cleardevice();
 setbkcolor(4);
 settextstyle(3,0,4);
 outtextxy(160,150,"No.2havenotbuilt.");
 break;
 case3:exit(0);
 }
 getch();
 closegraph();
 }
- 對於命令行菜單,直接通過不斷刷新輸出來模擬菜單行為。 - 常式: - #include<stdio.h> 
 #include<stdlib.h>
 #include<string.h>
 intn,t,k;
 intm;
 chars1[20],s2[20],c;
 char**l;
 char*num[]={"one","two","three","four","five","six","seven","eight","nine","ten"};
 voidmenu()
 {
 printf(" ******************************************************* ");
 printf(" **1.查找字元串S1中S2出現的次數** ");
 printf(" **2.統計字元串中大小寫字母,數字出現的次數** ");
 printf(" **3.將數字翻譯成英語** ");
 printf(" **4.結束** ");
 printf(" ******************************************************* ");
 printf(" 您的輸入:");
 fflush(stdin);
 scanf("%d",&n);
 }
 voidcheck()
 {
 chara[20],b[20];
 intj=0,k,m,l=0;
 intt=0,n=0;
 printf("請輸入主字元串: ");
 scanf("%s",a);
 k=strlen(a);
 printf("請輸入子字元串: ");
 scanf("%s",b);
 m=strlen(b);
 for(n=0;n<k;n++)
 if(a[n]==b[0])
 {
 j++;/*記錄相同的字元數*/
 do
 {
 if(a[++n]==b[++t])
 {
 j++;
 if(j==m)
 {
 l++;/*子字元串相同數*/
 j=0;/*判斷後相同字元數歸零*/
 t=-1;/*判斷中if中++t;t將會歸零*/
 }
 }
 else
 {
 j=0;
 t=0;
 break;/*如果不同跳出while循環讓for使n+1繼續判斷*/
 }
 }while(a[n]!='
