c语言菜单_c语言菜单程序 - CSDN
精华内容
参与话题
  • C语言实现简单菜单

    万次阅读 2008-06-28 18:16:00
    通过本实例简单了解C语言实现菜单的基本原理。实例中没有什么过多深入的东西,仅仅是简单实现基本的菜单。 本实例是查询航班时刻表: /************************************************************************...

    通过本实例简单了解C语言实现菜单的基本原理。

    实例中没有什么过多深入的东西,仅仅是简单实现基本的菜单。

     

    本实例是查询航班时刻表:

     

    /************************************************************************/

    /*C语言实现 */ /*运行环境:VC++6.0                                                */

    /************************************************************************/

     

    #include "stdio.h"

    #include "conio.h"

    #include "stdlib.h"

    int PrnMainMenu(void); 

    void ProcessLoop(void);  

    void Atlanta(void);   

    void Boston(void);      

    void LosAngeles(void); 

    void Miami(void); 

    void NewYork(void);    

    main()        /*主函数*/

    {

         ProcessLoop();

         return 0;

    }

    void ProcessLoop(void)

     {

         int iChoice;

        iChoice = PrnMainMenu();

         while (iChoice != 6)

         {

             switch(iChoice)

             {

            case 1:

                Atlanta();

                 break;

             case 2:

                Boston();

                break;

            case 3:

                 LosAngeles();

                break;

            case 4:

                Miami();

                break;

            default:

                NewYork();

                break;

            }

             iChoice = PrnMainMenu();

        }

        return;

    }

     

    int PrnMainMenu(void)

    {

         int iChoice;

        system("cls");  /*_clearscreen(0); */

         printf("/n/t%s","wynfield metro airport");

         printf("/n/n/t                   main menu");

         printf("/n/n/n/t                   Select one:");

         printf("/n/n/t                   1.Atlanta");

         printf("/n/n/t                   2.Boston");

         printf("/n/n/t                   3.Los Angeles");

         printf("/n/n/t                   4.Miami");

         printf("/n/n/t                   5.New York");

        printf("/n/n/t                   6.Quit");

         printf("/n/n/n/n/n/n/t           Enter choice(1-6)===>");

         scanf("%d",&iChoice);     fflush(stdin);

         while (iChoice < 1 || iChoice > 6)

         {

            printf("/nERROR...re-enter choice(1-6)===>");

            scanf("%d",&iChoice);

             fflush(stdin);

         }

         return iChoice;

     }

     

    void Atlanta(void)

    {

         char cWait;

        system("cls");

        printf("/n/t%s","wynfield metro airport");

         printf("/n/n/t            Atlanta Flight Schedule");

         printf("/n/n/n/t   ------------------------------");

         printf("/n/n/t    Flight#         Departure");

         printf("/n/n/t    101             7:15 p.m");

         printf("/n/n/t    214             9:20 p.m");

         printf("/n/n/n/t      Press Enter to continue...");

         cWait = getch();

         return;

     }

     

    void Boston(void)

    {

         char cWait;

        system("cls");

         printf("/n/t%s","wynfield metro airport");

         printf("/n/n/t           Boston Flight Schedule");

         printf("/n/n/n/t   ------------------------------");

         printf("/n/n/t    Flight#         Departure");

         printf("/n/n/t    117             5:55 p.m");

         printf("/n/n/t    201             6:30 p.m");

         printf("/n/n/n/t      Press Enter to continue...");

         cWait = getch();

         return;

     }

     

    void LosAngeles(void)

     {

         char cWait;

        system("cls");

         printf("/n/t%s","wynfield metro airport");

         printf("/n/n/t           LosAngeles Flight Schedule");

         printf("/n/n/n/t   --------------------------------");

         printf("/n/n/t    Flight#         Departure");

         printf("/n/n/t    122             3:10 p.m");

         printf("/n/n/t    205             4:30 p.m");

         printf("/n/n/n/t      Press Enter to continue...");

         cWait = getch();

         return;

     }

     

    void Miami(void)

     {

         char cWait;

        system("cls");

         printf("/n/t%s","wynfield metro airport");

         printf("/n/n/t           Miami Flight Schedule");

         printf("/n/n/n/t   ------------------------------");

         printf("/n/n/t    Flight#         Departure");

         printf("/n/n/t    102             1:25 p.m");

         printf("/n/n/t    204             4:00 p.m");

         printf("/n/n/n/t      Press Enter to continue...");

         cWait = getch();

         return;

     }

     

    void NewYork(void)

    {

         char cWait;

        system("cls");

         printf("/n/t%s","wynfield metro airport");

         printf("/n/n/t           NewYork Flight Schedule");

         printf("/n/n/n/t   ------------------------------");

         printf("/n/n/t    Flight#         Departure");

         printf("/n/n/t    104             2:00 p.m");

         printf("/n/n/t    119             5:16 p.m");

         printf("/n/n/t    200             7:20 p.m");

         printf("/n/n/n/t      Press Enter to continue...");

         cWait = getch();

         return;

     }

     

     

     

    展开全文
  • C语言操作界面菜单思考

    万次阅读 2017-06-25 23:51:07
    C语言中,制作菜单操作界面是很常见的,一般都是通过scanf("%d",&i) 与switch(i)搭配来使用,这种方法很基础,我近来发现另外一种比较不错的方法,容错处理也有,可拓展性也高:#define BUFFERSIZE 256 enum login_...
    C语言中,制作菜单操作界面是很常见的,一般都是通过scanf("%d",&i) 与switch(i)搭配来使用,这种方法很基础,我近来发现另外一种比较不错的方法,容错处理也有,可拓展性也高:
    #define BUFFERSIZE 256
    enum login_register_status {_f_main_, _login_id_, _login_passwd_, _udpport_, _register_name_, _register_passwd_};
    static struct
    {
    	enum login_register_status status;
    	int buf_size;                        //从标准输入中获取的字节个数
    	int display;                         //根据需要,可以选择添加这个变量,控制显示设计
    	char *buf;                           //从标准输入获取的字节存放的位置,同buf_size一起使用
    }f_menu;
    
    static void init_f_menu()             //初始化菜单
    {
    	f_menu.status = _f_main_;
    	f_menu.display = 1;
    	f_menu.buf_size = BUFFERSIZE;             //一次从标准输入获取的字节共个数
    	f_menu.buf = malloc(BUFFERSIZE);
    }
    
    
    //通过这个枚举形式,本质上主界面和子界面是同一等级
    static void fun_f_menu()
    {
    	if(_f_main_ == f_menu.status)
    		printf("1.登录  2.注册  3.退出\n");	         //主界面
    	else if(_login_id_ == f_menu.status)
    		printf("请输入ID:\n"); 						//以下5个分级子界面,本质上和主界面同一等级
    	else if(_login_passwd_ == f_menu.status)
    		printf("请输入密码:\n");            
    	else if(_udpport_ == f_menu.status)
    		printf("请输入监听的UDP端口\n");
    	else if(_register_name_ == f_menu.status)
    		printf("请输入姓名:\n");
    	else if(_register_passwd_ == f_menu.status)
    		printf("请输入密码:\n");
    }
    
    static void do_f_menu()
    {
    	int nret;
    	scanf("%s", f_menu.buf);
    	//主界面的操作选项,通过从buf中获取的不同的数值,设置不同的f_menu.status,进行不同的操作
    	if(f_menu.status == _f_main_)
    	{
    		int num;
    		sscanf(f_menu.buf, "%d", &num);
    		if(1 == num)
    			f_menu.status = _login_id_;
    		else if(2 == num)
    		{
    			f_menu.status = _register_name_;
    		}
    		else if(3 == num)
    		{
    			exit(1);
    		}
    		else
    		{
    			printf("输入错误\n");
    			f_menu.status = _f_main_;
    		}
    	}
    	//根据不同status,来选择不同界面操作
    	else if(f_menu.status == _login_id_)     
    	{
    		/*   *** */
    		f_menu.status = ***       //下一个界面
    	}
    	else if(f_menu.status == _login_passwd_)     
    	{
    		/*   *** */
    		f_menu.status = ***       //下一个界面
    	}
    	else if(f_menu.status == _udpport_)      
    	{
    		/*   *** */
    		f_menu.status = ***       //下一个界面
    	}
    	else if(f_menu.status == _register_name_)
    	{
    		/*   *** */
    		f_menu.status = ***       //下一个界面
    	}
    	else if(f_menu.status == _register_passwd_)
    	{
    		/*   *** */
    		f_menu.status = ***       //下一个界面
    	}
    }


    展开全文
  • ==========欢迎使用多功能菜单系统=========== ----------------告知用户------------------- ------------------------------------------- 多功能菜单系统, 版本号:4.2 更新内容: ●新增选择音效 ●密码输入...
  • C语言 菜单选择

    2020-03-07 14:28:31
    输出如下菜单: 1 计算n! 2 输出素数 3 判定闰年 根据输入(1、2、3),接受数据输入,计算n!或输出某范围内的所有素数或判定给定年是否闰年,并输出计算结果。 要求:用switch实现。 测试次数T 说一下主要思路 变量...

    输出如下菜单:
    1 计算n!
    2 输出素数
    3 判定闰年
    根据输入(1、2、3),接受数据输入,计算n!或输出某范围内的所有素数或判定给定年是否闰年,并输出计算结果。
    要求:用switch实现。
    测试次数T

    说一下主要思路

    变量:

    int i,j,t,n,m,k,s=1;

    首先scanf次数t

    scanf("%d",&t);

    其次需要用到一个循环,其功能是循环次数,for和while都可以
    然后就是菜单3个功能的实现了

    1.计算阶乘

    scanf("%d",&k)for(i=1;i<=k;i++)
    {
      s*=i;
      if(t==1)
      {
        printf("%d\n",s);
      }
      else
      {
        printf("%d\n\n",s);
        s=1;
        t--;
      }
    }

    2.n~m之间的素数

    scanf("%d%d",&m,&k);
    for(i=m;i<=k;i++)
    {
      for(j=2;j<i;j++)
      {
        if(i%j==0) break;
        if(j==i) printf("%d ",i); 
      }
    }
      if(t==1{
        printf("\n");
      }
      else
      {
        printf("\n\n");
        t--;
      }

    3.判断是否闰年

    scanf("%d",&k);
    if((k%4==0&&k%100)||k%400==0)
    {
       if(t==1)
       {
         printf("%d是闰年\n",k);
       }
       else
       {
         printf("%d是闰年\n\n",k)
       }
    }
    else
    {
         if(t==1)
         {
            printf("%d非闰年\n",k);
         }
         else
         {
            printf("%d非闰年\n\n",k);
         }
    }

    最后把3个功能分别加入case中就行了

    PS:文章代码引用自百度知道(昵称为“圣骑士zss” )的老哥,我自己的代码写地比较乱,不方便阅读

    展开全文
  • c语言菜单制作

    2011-09-18 10:19:16
    这个东西真的很好用,看过之后就有感觉了,适用的c万能,其实c语言什么都能写,运用好c语言也不错。
  • C语言实现光条式菜单

    千次阅读 2014-06-07 12:41:39
    所谓光条式菜单,就是类似你装有多操作系统时,开机时系统让你选择进入哪个操作系统时所用的菜单,不知道正式的名称是不是这个,反正各位看下面的效果图应该就知道我说的是哪种菜单

    所谓光条式菜单,就是类似你装有多操作系统时,开机时系统让你选择进入哪个操作系统时所用的菜单,不知道正式的名称是不是这个,反正各位看下面的效果图应该就知道我说的是哪种菜单了

    怎么样,是不是很炫?其实利用windows编程的知识,C语言可以实现很多很炫的界面。

    首先声明以下的实现代码不是我写的,是我先前想实现这种效果而在网上苦寻良久才在某个问答平台上找到的,在此

    向原作者表示致敬,同时为了不让如此珍贵的资源埋没在网络的汪洋大海之中,特将此代码记下来,以备后用,

    同时供有需要的人参考。

    若原作者看到此博文,请与本人联系。

    以下是原作者的实现思路,我原封不动地摘录下来

    ----------------------------------------------------------------------------------------

    控制台的设置函数名很多都以 SetConsole 或 GetConsole 开头。
    BOOL WINAPI SetConsoleTextAttribute(
      __in  HANDLE hConsoleOutput,
      __in  WORD wAttributes
    );
    第一个参数可用 GetStdHandle(STD_OUTPUT_HANDLE); 获得;
    第二个参数意义如下:
    Attribute Meaning 
    FOREGROUND_BLUE Text color contains blue. 
    FOREGROUND_GREEN Text color contains green. 
    FOREGROUND_RED Text color contains red. 
    FOREGROUND_INTENSITY Text color is intensified. 
    BACKGROUND_BLUE Background color contains blue. 
    BACKGROUND_GREEN Background color contains green. 
    BACKGROUND_RED Background color contains red. 
    BACKGROUND_INTENSITY Background color is intensified. 
    COMMON_LVB_LEADING_BYTE Leading byte. 
    COMMON_LVB_TRAILING_BYTE Trailing byte. 
    COMMON_LVB_GRID_HORIZONTAL Top horizontal. 
    COMMON_LVB_GRID_LVERTICAL Left vertical. 
    COMMON_LVB_GRID_RVERTICAL Right vertical. 
    COMMON_LVB_REVERSE_VIDEO Reverse foreground and background attributes. 
    COMMON_LVB_UNDERSCORE Underscore. 
    这些是一个16位数的各个二进制位,你可以用位运算将这些属性组合,如:
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY | BACKGROUND_INTENSITY);
    如果要不等待回车立刻读入键盘输入,在conio.h中有个getch()函数。
    如果要处理上下左右等键盘输入,有个MapVirtualKey函数,可以上网查一下这个函数的具体用法。
    如果要清屏,可以发送命令system("cls");,这个函数在stdlib.h中。

    实现代码:

    #include <stdio.h>
    #include <conio.h> //getch()
    #include <stdlib.h> //system()
    #include <Windows.h> //WIN API
    int main(){
    	//这里只有4个选项,如果选项数更改,后面相应部位也要更改
    	char*option[]={"option 1","option 2","option 3","option 4"};
    	char key = 0;
    	int i, select = 0;
    	HANDLE ohandle = GetStdHandle(STD_OUTPUT_HANDLE);
    	while(true){
    		for(i=0;i<4;i++){//这里共4个选项
    			if(i==select)//设置焦点高亮
    				SetConsoleTextAttribute(ohandle,BACKGROUND_INTENSITY);
    			else if(i==select+1)//恢复设置
    				SetConsoleTextAttribute(ohandle,FOREGROUND_INTENSITY);
    			puts(option[i]);
    		}
    		SetConsoleTextAttribute(ohandle,FOREGROUND_INTENSITY);//恢复设置
    		key=getch();
    		if(key==0x1b)  //ESC 键
    			return 0;
    		if(key==0xd)  //Enter 键
    			break;
    		if(key<0){  //非ascii码键2个字节
    			key=getch();
    			switch(MapVirtualKey(key,1)){
    			case VK_UP:
    				select = (select+3)%4;//焦点上移,减一,滚动选择,共4个选项
    				break;
    			case VK_DOWN:
    				select = (select+1)%4;//焦点下移,加一
    				break;
    			}
    		}
    		system("cls");
    	}
    	system("cls");
    	//TODO:use select to do something here !
    	printf("you selected : %s\n",option[select]);
    	//return 0; //not necessary in new standards
    }

    也可以用GetKeyState等函数,它返回上一次按键的信息,这些函数属于win API(#include<windows.h>),并可以处理更多按键消息,如需要可查阅msdn。

    ----------------------------------------------------------------------------------------------------------------------------

    上面的效果图中,若选择了一项,则显示相应的结果


    读者可根据自身需要对代码作相应的修改。




    展开全文
  • 在学习C语言的时候, 大家都做过很多管理系统。菜单往往很单调,是这样的     学习知识要善于思考,思考,再思考。靠这个方法才能成为C/C++大牛哦。如果你学习时没有学会思考,那就永远学不会思考。思考的...
  • C语言课程设计报告-菜单设计

    千次阅读 2019-07-02 18:55:03
    源代码:https://blog.csdn.net/queen00000/article/details/94468911 xxx大学 C语言课程设计报告 ...
  • C语言简单的菜单选项

    千次阅读 2014-10-06 16:38:14
    #include char get_choice(void); char get_first(void); int get_int(void); void count(void); int main(){ int choice; void count (void); while ((choice =get_choice())!='q') { ... {
  • c语言菜单设计

    2007-09-15 09:51:28
    用运c语言制作简单的菜单
  • c语言菜单经典实例

    2007-09-10 09:29:34
    #include <conio.h>#include<dos.h>#include <graphics.h>#include<stdio.h>#include<stdlib.h>.../*定义一些常数*/#define NO 0#define YES 1#define NONE -1#define MAX_MENU 7...
  • C语言 菜单专题

    千次阅读 多人点赞 2016-08-01 10:45:43
    在作业一的基础上加入以下功能并添加菜单 数组功能基本功能菜单:   ===================================== 作者:*** 1. 建立成绩数组 2. 显示成绩数组 3. 按给定成绩查询 4. 按顺序号查询 5. 从高到低...
  • 在win-tc 下 全屏图形界面,是个不错的用具 呵呵 c语言图形界面菜单 c语言图形界面菜单 c语言图形界面菜单
  • C语言-菜单管理系统

    2019-02-27 14:00:39
    以前自己写的餐单管理系统,用C写的,需要的可以借鉴一下
  • c语言--菜单设计程序

    千次阅读 2010-10-12 17:02:00
    #include #include#include #include#include#define NO 0#define YES 1#define NONE -1#define MAX_MENU 7int X,Y;int Selection;int button,x,y;void *p;size_t area;struct MENU{ int x; int y;...
  • c语言编写的餐厅点餐程序呀
  • C语言入门(三)菜单设置

    千次阅读 2016-07-11 15:22:21
    菜单设置有关连接的选择项,它有以下内容:  Map file menu 选择是否产生.MAP文件。 Initialize segments 是否在连接时初始化没有初始化的段。 Devault libraries 是否在连接其它编译程序产生的目标文件时去...
  • C语言课程设计之设计菜单程序

    千次阅读 2019-12-25 13:45:23
    C语言课程设计之设计菜单程序 设计要求: 菜单内容:程序运行后,给出三个菜单选项的内容和输入提示 1 FindNum; 2 Dimand; 3 Goodbye!; Input 1-3: 2.设计要求:使用1-3数字来选择菜单项,其他输入则不起作用。 3....
  • 包含代码的用c语言控制可以下拉菜单的幻灯片。
  • C语言入门(二)主菜单操作

    千次阅读 2016-07-11 15:20:38
    (一)、主菜单 在Turbo C 2.0主屏幕顶上一行, 显示下列内容:  File Edit Run Compile Project Options Debug Break/watch  除Edit外, 其它各项均有子菜单, 只要用Alt加上某项中第一个字母(即大写字母), 就可进入...
1 2 3 4 5 ... 20
收藏数 35,430
精华内容 14,172
关键字:

c语言菜单