A. c语言菜单怎么弄
中国电力出版社书号为5123-5504-0的C语言程序设计书上有介绍方法:
现在,通过一个简单的开发实例来理解上述概念。该应用软件运行时,首先出现一个菜单,用户选择某一菜单项后进入相应子模块处理具体问题,处理结束后回到主菜单。当在主菜单上选择退出功能后,软件运行结束。将各子模块划分成子函数后,进一步将菜单初始化和界面显示、选择功能划分成子函数,最终设计出来的函数代码框架如下:
#include <stdio.h>
//菜单初始化函数:设置菜单文字
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);
}
在结构那一章还有一个课程设计的菜单,太长了,感兴趣找书看看吧
B. C语言中怎么编制简单的菜单,通过菜单选择能实现程序的各项功能
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
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;
}
}
}
}
}
}
C. c语言中,怎样实现子菜单向主菜单回退
在 C 语言中实现子菜单向主菜单回退的常用方法是使用循环和条件语句控制程序流程。
具体实现步骤如下:
在主菜单中使用一个循并正早环(如 while 循环),实现主菜单的重复显示和等待用户输入的功能。
当用户选择进入子菜单时,主菜单中的循环应该退出,进入子菜单的处理逻辑。
在子菜单中,当用户选择回到主菜单时,应该退出子菜单的处理逻辑,返回到主菜单中的循环中。
在主菜单中,当用户选绝雀择退出程序时,主菜单的循环应该退出,整个程序结束。
以下是一个简单的示例程序,实现了主菜单和一个子菜单的功能,并实现了子菜单向主菜单回退的功能:
#include <stdio.h>
int main() {
int choice = 0;
while (1) {
printf("主菜单: ");
printf("1. 选项一 ");
printf("2. 选项二 ");
printf("3. 子菜单 ");
printf("4. 退出 ");
printf("请输入选项(1-4):");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("您选择了选项一。 ");
break;
case 2:
printf("您选择了选项二。 ");
break;
case 3:
printf("子菜单: ");
printf("1. 子选项一 ");
printf("2. 子选项二 ");
printf("3. 返回主菜单 ");
printf("请输入选项(1-3):");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("您选择了子选项一。 ");
break;
case 2:
printf("您选择了子选项二。 ");
break;
case 3:
printf("返回主菜单。 ");
// 跳出子清族菜单的处理逻辑,返回到主菜单的循环中
break;
default:
printf("无效选项,请重新选择。 ");
break;
}
break;
case 4:
printf("退出程序。 ");
// 跳出主菜单的循环,结束程序
return 0;
default:
printf("无效选项,请重新选择。 ");
break;
}
}
return 0;
}
在这个示例程序中,主菜单使用了一个 while 循环,不断重复显示和等待用户输入。
当用户选择进入子菜单时,主菜单中的循环退出,进入子菜单的处理逻辑。子菜单也使用了一个 switch 语句,等待用户选择,并执行相应的处理逻辑。
当用户选择返回主菜单时,子菜单的处理逻辑退出
D. 怎样用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
E. 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;
}
F. 怎样用C语言编写菜单
对于窗口组件菜单,需要根据不同平台,通过图形编程接口,进行菜单的编制。
例程:
#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();
}对于命令行菜单,直接通过不断刷新输出来模拟菜单行为。
例程:
#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]!='