当前位置:首页 » 编程语言 » c语言菜单

c语言菜单

发布时间: 2022-01-14 07:25:33

c语言编写菜单

中国电力出版社书号为5123-5504-0的C语言程序设计书上有介绍方法:
现在,通过一个简单的开发实例来理解上述概念。该应用软件运行时,首先出现一个菜单,用户选择某一菜单项后进入相应子模块处理具体问题,处理结束后回到主菜单。当在主菜单上选择退出功能后,软件运行结束。将各子模块划分成子函数后,进一步将菜单初始化和界面显示、选择功能划分成子函数,最终设计出来的函数代码框架如下:
#include
//菜单初始化函数:设置菜单文字
void InitMenu( char *Menu[] )
{
Menu[0]="1. 菜单项1名称 ";

}
// 显示菜单、接受用户选择函数
// 初学者可以使用printf、getch函数实现基本交互
// 进阶后可以引入图形、字体、功能键、鼠标等元素进行人机交互
int ChooseMenu( char *Menu[], int MaxItem )
{
return 1; // 选择菜单1

return 0; // 选择退出
}
//模块一
void sub1(void)
{

}
void main( void )
{
char *Menu[10],MaxItem=10; //指针数组存储菜单名称:0-9项
intdone=0; //退出标志,为1时退出
InitMenu( Menu ); //调用菜单初始化模块
do
{
// 每轮循环都重新显示界面、接受用户选择、根据用户选择执行相应分支
switch( ChooseMenu(Menu, MaxItem ) )
{
case 1:
sub1();
break;
case 2:

case 0:
done=1;
}
}while(!done);
}
在结构那一章还有一个课程设计的菜单,太长了,感兴趣找书看看吧

❷ C语言输出如下菜单

大致代码如下

#include<stdio.h>
#include<stdlib.h>

voidmenu()
{
printf(" 主菜单 ");
printf("=============================== ");
printf(" 1.输出学生成绩 ");
printf(" 2.查询学生成绩 ");
printf(" 3.打印学生成绩 ");
printf(" 0.退出系统 ");
printf("=============================== ");
}
intmain()
{
intoperation;
menu();
scanf("%d",&operation);
switch(operation){
case1:
printf("请输入 ");
break;
case2:
printf("请输入查询学生学号 ");
break;
case3:
printf("正在输出 ");
break;
case0:
printf("谢谢使用 ");
break;
default:
printf("输入错误 ");
break;
}
return0;
}

❸ 用c语言编写一个菜单!

程序如下:

#include<stdio.h>
#include<string.h>


intMENU_Print(ints32QuerNum)
{
switch(s32QuerNum)
{
case1:
printf("您选择的题目如下: ");
printf("1、以下可以正确表示标识符的是:() ");
printf("A、Data,Double ");
printf("B、case,Big ");
printf("C、2011A,hi_ok ");
printf("D、_2011,year-month-data ");
break;
case2:
printf("您选择的题目如下: ");
printf("2、以下运算符优先级最低的是:() ");
printf("A、?: ");
printf("B、++ ");
printf("C、&& ");
printf("D、+= ");
break;
case3:
printf("您选择的题目如下: ");
printf("2、以下选项中不能正确赋值的是:() ");
printf("A、chars[20];s="ABCDE" ");
printf("B、chars[]="ABCDE" ");
printf("C、chars[20]={"ABCDE"} ");
printf("D、chars[20]={'A','B','C'} ");
break;
default:
break;
}

return0;
}

intmain()
{
ints32ChooseNum=0;
while(1)
{
printf(" 题号范围为1-3,请输入题号: ");
scanf("%d",&s32ChooseNum);

if(s32ChooseNum<1||s32ChooseNum>3)
{
printf("题号范围为1-3,您是输入超出的范围,请重新输入 ");
continue;
}

MENU_Print(s32ChooseNum);

}

return0;
}


运行结果:


我也不知道有没有理解你的意思,你看看是否合适。。。,我没有做选择输入和结果的判断,如果需要的话可以加上去,你可以告诉我你的具体要求

以上

❹ c语言中如何实现菜单

哈哈,用switch循环语句啊!
哈哈...................什么学校的啊??

❺ C语言中如何实现选项菜单的功能

#include<stdio.h>
#include<stdlib.h>

voidhello()
{
printf("helloworld ");
}

intmain()
{

intx;
while(1)
{
printf("-------------操作选项----------- ");
printf("1:返回菜单 ");
printf("2:退出程序 ");
printf("3:执行操作 ");
printf("-------------------------------- ");


printf("按数字键选择要执行的操作:");
scanf("%d",&x);
printf(" ");

//输入2跳出循环,退出程序
if(x==2)
break;

switch(x)
{
case1:break;//输入1,跳出switch语句,进入下一次循环
case3:hello();break;
default://数字输入错误,跳出siwtch语句,进入下一次循环
printf("输入的数字不正确 ");
break;
}
}
return0;
}

说明:有3个选项,1是用返回菜单,2是用于退出程序,3是用于执行相关的操作,这里只是一个示例,所以将要执行的操作,编写成了一个输出hello world的函数。

❻ 怎样用C语言编写菜单

  1. 对于窗口组件菜单,需要根据不同平台,通过图形编程接口,进行菜单的编制。

    例程:

    #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();
    }
  2. 对于命令行菜单,直接通过不断刷新输出来模拟菜单行为。

    例程:

    #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]!='');/*查找完字符数组a结束*/
    }
    printf("子字符串出现次数: %d ",l);
    }
    voidcout()
    {
    intn=0,t=0,k=0;
    printf("请输入一个字符串: ");
    fflush(stdin);/*清除缓冲*/
    while((c=getchar())!=' ')
    {
    if(c>='a'&&c<='z')
    n++;
    if(c>='A'&&c<='Z')
    t++;
    if(c>='0'&&c<='9')
    k++;
    }
    printf("有大写字母: %d ",t);
    printf("有小写字母: %d ",n);
    printf("有数字: %d ",k);
    }
    voidnumber()
    {
    l=num;
    printf("请输入一个数字:(0-10) ");
    fflush(stdin);
    scanf("%d",&m);
    printf("%d对应的英文是: %s ",m,*(l+m-1));
    }
    voidmain()
    {
    while(1)
    {
    system("cls");
    menu();
    switch(n)
    {
    case1:system("cls");check();system("pause");break;
    case2:system("cls");cout();system("pause");break;
    case3:system("cls");number();system("pause");break;
    case4:system("cls");break;
    default:system("cls");break;
    }
    if(n==4)break;
    }
    printf("感谢使用 ");
    }

❼ C语言菜单程序编写

#include <stdio.h>
#include <math.h>
void armstrong(int a)
{
int i;
int n = 1;
int b = a;
int s = 0;
while(b /= 10) n++;

b = a;

for(i = 0; i < n; i ++){
s += (int)pow(b%10, n);
b /= 10;
}
if(s == a){
printf("%d 是水仙花数!\n", a);
}else{
printf("%d 不是水仙花数!\n", a);
}
}
void prime(int a)
{
int i;
if(a < 2) {
printf("%d 不是素数!\n", a);
return ;
}
for(i = 2; i < a; i ++){
if(a % i == 0) {
printf("%d 不是素数!\n", a);
return ;
}
}
printf("%d 是素数!\n", a);
}
void max(int a, int b, int c)
{
if(b > a) a = b;
if(c > a) a = c;
printf("最大值是:%d\n", a);
}
void factorial(int a)
{
int i;
int f = 1;
for(i = a; i >1; i --)
f *= i;
printf("%d 的阶乘是:%d\n", a, f);
}

int main(int argc, char **argv)
{
int a, b, c;
int type ;
int run = 1;
printf("本程序可完成某些数学计算:\n");
printf( "***********************************\n"
"* 1.判断一个数是否为水仙花数。 *\n"
"* 2.判断一个数是否为素数。 *\n"
"* 3.求三个数的最大值。 *\n"
"* 4.求一个数的阶乘。 *\n"
"* 0.退出。 *\n"
"***********************************\n");
do{
printf("请按菜单进行选择(0-4):");
scanf("%d", &type);
switch(type){
case 0:
while(1){
getchar();
printf("你确定退出吗?(y/n)");
a = getchar();
switch(a){
case 'y':
run = 0;
break;
case 'n':
run = 1;
break;
default:
break;
}
if((a == 'y') || (a == 'n')) break;
}
break;
case 1:
printf("请输入一个数:");
scanf("%d", &a);
armstrong(a);
break;
case 2:
printf("请输入一个数:");
scanf("%d", &a);
prime(a);
break;
case 3:
printf("请输入三个数:");
scanf("%d%d%d", &a, &b, &c);
max(a, b, c);
break;
case 4:
printf("请输入一个数: ");
scanf("%d", &a);
factorial(a);
break;
default:
break;
}
}while(run);
return 0;
}

❽ C语言菜单选择

#include<stdio.h>
intmain()
{
inti,j,t,n,m,k,s=1;
printf("输入测试次数:");
scanf("%d",&t);
while(t)
{
printf(" 1.计算n! 2.输出素数 3.判定闰年 输入选项(1~3):");
scanf("%d",&n);
switch(n)
{
case1:
{
scanf("%d",&k);
for(i=1;i<=k;i++)
s*=i;
printf("%d!=%d",k,s);
s=1;
t--;
break;
}
case2:
{
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("%-4d",i);
}
t--;
break;
}
case3:
{
scanf("%d",&k);
if((k%4==0&&k%100)||k%400==0)
printf("%d年是闰年",k);
elseprintf("%d年非闰年");
t--;
break;
}
default:
{
printf("INPUTERROR!");
t--;
break;
}
}
}
return0;
}

❾ 怎么用C语言编写菜单

#include "stdio.h"
#include "stdlib.h"
#include "dos.h"
#include "windows.h"
char choice1;
void main()
{
void menue1();
printf("欢迎进入Ben的作业查询系统!");
menue1();
}
void menue1()
{
void choicemenue1();
printf("\n请按照以下列表选择您想要查看的章节:");
printf("\n编号\t章节\n 1\t第一章\n 2\t第二章\n");
printf("请输入编号进行选择:");
choicemenue1();
}
void choicemenue1()
{
choice1=getch();
switch(choice1)
{
void menuechapter1();
void menuechapter2();
void menue1();
case '1':menuechapter1();break;
case '2':menuechapter2();break;
default:printf("\n输入错误!请重新选择!\n"),menue1();
}}
void menuechapter1()
{
char choiceex;
printf("\n您选择的是第%c章",choice1);
printf("\n现在请选择本章节的题目。");
printf("\n请按照以下列表选择题目:");
printf("\n编号\t题目编号\n1\t第1题\n2\t第2题\n");
printf("请选择:");
switch(choiceex=getch())
{
void c1_1();
void c1_2();
case '1':c1_1();break;
case '2':c1_2();break;
default:
printf("\n你个白痴!这也能选错!不让你重选了!");
printf("\n按任意键以退出!");
getch();
exit(0);
}
}
void menuechapter2()
{
char choiceex;
printf("\n您选择的是第%c章",choice1);
printf("\n现在请选择本章节的题目。");
printf("\n请按照以下列表选择题目:");
printf("\n编号\t题目编号\n1\t第1题\n2\t第2题\n");
printf("\n请选择:");
switch(choiceex=getch())
{
void c2_1();
void c2_2();
case '1':c2_1();break;
case '2':c2_2();break;
default:
printf("\n你个白痴!这也能选错!不让你重选了!");
printf("\n按任意键以退出!");
getch();
exit(0);
}
}
void c1_1()
{
char howtorun;
printf("现在请选择考察方式:");
printf("\n编号\t考察方式\n 1\t运行程序\n 2\t查看源代码\n 3\t返回主菜单\n 4\t退出程序\n");
printf("请选择:");
switch(howtorun=getch())
{
void runc1_1();
void menue1();
case '1':runc1_1();break;
case '2':printf("\n"),system("type \\caidan\\chapter1\\c1_1.c"),printf("\n"),getch();break;
case '3':menue1();break;
case '4':exit(0);break;
default:
printf("程序即将结束!哈哈哈……");
printf("按任意键以结束程序!");
getch();
exit(0);
}}
void c1_2()
{
printf("c1_2 is OK!");
}void c2_1()
{
printf("c2_1 is OK!");
}void c2_2()
{
printf("c2_2 is OK!");
}
void runc1_1()
{
int a,b,max;
printf("\nPlease input two integer numbers:");
printf("a=?,b=?\n");
scanf("%d,%d",&a,&b);
max=a>b?a:b;
printf("The max number is %d",max);
}
大概就是这样做的。。

❿ C语言编程做一个简单的菜单

#include<stdio.h>
#include<stdlib.h>
voidmenu()//菜单绘制
{
printf("--------------------------------------- ");
printf(" 0.退出 ");
printf(" 1.录入信息 ");
printf(" 2.查找信息 ");
printf(" 3.删除信息 ");
printf(" 4.浏览信息 ");
printf(" 5.有其他疑问找群主")
printf(" 6.C++8群:491994603")
printf("--------------------------------------- ");
}

voidkeyDown()//按键处理
{
intchoice;
scanf("%d",&choice);
switch(choice)
{
case0:
printf("退出程序 ");
Sleep(2000);
return0;
case1:
//调用菜单1实现函数
break;
case2:
//调用菜单2实现函数
break;
case3:
//调用菜单3实现函数
break;
case4:
//调用菜单4实现函数
break;
default:
printf("输入错误 ");
}
system("pause");
return0;
}
intmain()
{
while(1)
{
menu();
keyDown();
system("cls");
}
return0;
}

热点内容
C语言tf 发布:2024-11-15 14:36:22 浏览:810
违反密码法是什么意思 发布:2024-11-15 14:36:20 浏览:920
androidmp3录音 发布:2024-11-15 14:32:50 浏览:493
英朗自动挡哪个配置最好 发布:2024-11-15 14:27:44 浏览:253
编译原理断言有哪几种 发布:2024-11-15 14:25:29 浏览:200
数据库数据重复 发布:2024-11-15 14:23:17 浏览:781
安卓端开发用什么IDE 发布:2024-11-15 14:13:51 浏览:554
阿里云查看访问ip 发布:2024-11-15 14:08:58 浏览:544
随机字符串php 发布:2024-11-15 14:03:46 浏览:122
怎样用数据库搭建服务器 发布:2024-11-15 13:58:39 浏览:478