怎样用C语言编写菜单

小型仓库管理系统小型仓库管理系统... 小型仓库管理系统

小型仓库管理系统
展开
 我来答
tattackor
推荐于2017-09-21 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:873万
展开全部
  1. 对于窗口组件菜单,需要根据不同平台,通过图形编程接口,进行菜单的编制。

    例程:

    #include<stdio.h
    #include<graphics.h> 
    #include<conio.h> 
    void main() 

    char str; 
    int i,k,choice=1; 
    int gd=DETECT,gm; 
    initgraph(&gd,&gm," "); 
    setbkcolor(2); 
    settextstyle(3,0,3); 
    outtextxy(140,120,"A. The Mock Clock."); 
    outtextxy(140,150,"B. The Digital Clock."); 
    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) 
    { case 1: setlinestyle(0,0,3); 
    rectangle(170,115,400,145); 
    settextstyle(3,0,3); 
    outtextxy(140,120,"A. The Mock Clock."); 
    settextstyle(3,0,3); 
    outtextxy(140,150,"B. The Digital Clock."); 
    outtextxy(140,180,"C. Exit."); 
    break; 
    case 2: setlinestyle(0,0,3); 
    rectangle(170,145,400,175); 
    settextstyle(3,0,3); 
    outtextxy(140,120,"A. The Mock Clock."); 
    settextstyle(3,0,3); 
    outtextxy(140,150,"B. The Digital Clock."); 
    settextstyle(3,0,3); 
    outtextxy(140,180,"C. Exit."); 
    break; 
    case 3: settextstyle(3,0,3); 
    outtextxy(140,120,"A. The Mock Clock."); 
    outtextxy(140,150,"B. The Digital Clock."); 
    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)/*这里引用函数,实现所要的功能*/ 

    case 1: cleardevice(); 
    setbkcolor(4); 
    settextstyle(3,0,4); 
    outtextxy(160,120,"No.1 have not built."); break; 
    case 2: cleardevice(); 
    setbkcolor(4); 
    settextstyle(3,0,4); 
    outtextxy(160,150,"No.2 have not built."); 
    break; 
    case 3: exit(0); 

    getch(); 
    closegraph(); 
    }
  2. 对于命令行菜单,直接通过不断刷新输出来模拟菜单行为。

    例程:

    #include <stdio.h>
    #include <stdlib.h
    #include <string.h>
    int n,t,k;
    int m;
    char s1[20],s2[20],c;
    char **l;
    char *num[]={"one","two","three","four","five","six","seven","eight","nine","ten"};
    void menu()
    {
     printf("\n\n\t\t*******************************************************\n");
     printf("\t\t**   1.查找字符串S1中S2出现的次数                    **\n");
     printf("\t\t**   2.统计字符串中大小写字母,数字出现的次数        **\n");
     printf("\t\t**   3.将数字翻译成英语                              **\n");
     printf("\t\t**   4.结束                                          **\n");
     printf("\t\t*******************************************************\n");
     printf("\t\t     您的输入:");
        fflush(stdin);
     scanf("%d",&n);
    }
    void check()
    {
     
     char a[20],b[20];
     int j=0,k,m,l=0;
     int t=0,n=0;
     printf("请输入主字符串:\n");
     scanf("%s",a);
     k=strlen(a);
     printf("请输入子字符串:\n");
     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]!='\0');/*查找完字符数组a结束*/
      }
      printf("子字符串出现次数:\n%d\n",l);
    }                                  
    void cout()
    {
     int n=0,t=0,k=0;
     printf("请输入一个字符串:\n");
        fflush(stdin);/*清除缓冲*/
     while((c=getchar())!='\n')
     {
      if(c>='a'&&c<='z')
       n++;
      if(c>='A'&&c<='Z')
       t++;
      if(c>='0'&&c<='9')
       k++;
     }
     printf("有大写字母:\n%d\n",t);
     printf("有小写字母:\n%d\n",n);
     printf("有数字:\n%d\n",k);
    }
    void number()
    {
     l=num;
     printf("请输入一个数字:(0-10)\n");
        fflush(stdin);
     scanf("%d",&m);
     printf("%d对应的英文是:\n%s\n",m,*(l+m-1));
    }
    void main()
    {
     while(1)
     {   
      system("cls");
      menu();
      switch(n)
      {
      case 1:system("cls");check();system("pause");break;
      case 2:system("cls");cout();system("pause");break;
      case 3:system("cls");number();system("pause");break;
      case 4:system("cls");break;
      default:system("cls");break; 
      }
      if(n==4) break;
     }
     printf("感谢使用\n");
    }
kytxq18sg
推荐于2017-09-23 · TA获得超过288个赞
知道小有建树答主
回答量:578
采纳率:0%
帮助的人:0
展开全部

在C语言中,通常菜单有系统菜单、弹出菜单、下拉菜单等,不知道你要做哪一种。

菜单的制作,通常需要一下几个步骤:
1、定义菜单项目数据结构;
2、定义你要做的弹出菜单或下拉菜单或...的数据结构;
3、建立菜单内容;
4、加载菜单内容;
5、在某个位置上显示(包含保存原有内容以备关闭菜单后恢复覆盖的屏幕,测试菜单显示区域根据实际情况调整显示区域);
6、光标移动,菜单项目颜色变化;
7、执行选中菜单项程序;
8、关闭菜单。

如果纯粹用C语言写,写一个通用的,估计至少要上千行程序代码,以前做过,后来不再使用C语言了,放在机器上,就找不到了。要不就放上去了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式