用C语言制作一个简单实用菜单的程序。

2025-02-28 04:21:52
推荐回答(2个)
回答1:

#include 
#include 
#include 
#include 
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;
     }
    }
   }
  }
 }

}

回答2:

#include
/*定义三个函数*/
void FindNum(){/*似乎你要自已定义?*/}
void Dianmond()
{
/*空心还是实心的菱形?乍不说清楚呢*/
/*打印5×5的菱形*阵,当然也可以直接使用5行printf()来描画*/
for (int h=1;h<6;h++)
{
for(int v=1;v<6;v++)
{
if(v-h==2 || (h-v)==2 || h%2==0&&v==h)printf("*");
else printf(" ");
}
printf("\n");
}
}
void Goodbye(){printf("Goodbye!\n");}

/*驱动实现*/
int main()
{
/*设置退出开关的状态*/
bool quit=false;
int input;
/*循环*/
while(!quit)
{
/*打印菜单*/
printf("1.FindNum 2.Diamond 3.Goodbye! Input 1-3:");
/*接收输入*/
input=getchar()-0x30,getchar();
/*选择分支*/
switch(input)
{
case 1:FindNum();break;
case 2:Dianmond();break;
case 3:Goodbye();quit=true;break;
default:break;
}
}
}
/*注释得这么清楚了,流程图就免了吧,PS水平实在不够看*/