Console通用菜单程序设计

#include <iostream>

#include <cstdio>

char *menu[]={"wwerwerwe",                            

               "----------",

               "1,asdasda",

               "2,2345",

               "3,345",

               "0,qiut",

               "---------",

               "Please choice:"};

int f1()   //f1~f3为对应1、2、3选项的功能

 {     printf("12344345/n"); }



int f2()

{     printf("2343454/n"); }

int f3()

{     printf("345345435/n"); }



int (*fun[])()={f1,f2,f3};//函数指针数组  typedef  int  (*Fptr)( );  Fptr fun[ ]={f1,f2,f3};



void pause()      //pause、cls为使得程序通用性更强

 {     system("pause"); }

void cls() {     system("cls"); }



void displayMenu()

{     int i;

      int menuNumber=sizeof(menu)/sizeof(char*);

      cls();

      for(i=0;i<menuNumber-1;i++)

         printf("/t%s/n",menu[i]);

      printf("/t%s",menu[i]);

}



int choice()

{     int t;

      scanf("%d",&t);

      while(t<0||t>sizeof(menu)/sizeof(char*)-5)

     {

        cls();

        displayMenu();

        scanf("%d",&t);

      }

     return t;

}



int main()

{     int i;

      while(1)

      {

        displayMenu();

        i=choice();

        if(i==0)          break;

        else       {         (*fun[i-1])( );         pause();       }

      }

     return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值