当前位置:首页 » 编程语言 » c语言可交互操作菜单
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言可交互操作菜单

发布时间: 2022-12-07 00:47:04

⑴ 在c语言中,一个菜单套着一个菜单,如何从二级菜单跳回一级菜单

1、首先在打开的C语言编程软件中,编写这个【homePage】函数。

⑵ 编写一个C语言程序,显示如下菜单并实现相应的菜单选择功能

/*本程序没有采用严格的措施防止错误的输入,
所以请在看源程序之后再输入。
运行后会有如下提示:
“请输入你的选择及整数n(用逗号来间隔):”
这时可以输入这样的选择:“1,2”,即求2的立方
“2,125”,即求125的立方根
“3”,退出程序*/

#include<stdio.h>
#include<math.h>

display();
lifang(n);
lifanggen(n);

main()
{
int choice,number;
display();
printf("请输入你的选择及整数n(用逗号来间隔):\n");
scanf("%d,%d",&choice,&number);
switch(choice)
{
case 1:
lifang(number);
break;
case 2:
lifanggen(number);
break;
case 3:
break;
}
}

display()
{
printf("************************************************\n");
printf("1.求整数n的立方\n");
printf("2.求整数n的立方根\n");
printf("3.结束程序\n");
printf("************************************************\n");
}

lifang(n)
{
double val=n;
int time=3;
printf("%lf\n\n\n",pow(val, time));/*如果将%lf-->%d就不能得出结果*/
main();/*这里是简单的调用主函数来返回初始选择列表,还有其他方法实现*/
}

lifanggen(n)
{
double val=n;
double time=0.333333333333333;
/*这里为近似的1/3的值,因为要求
一个数字的立方根需要用到求立方根的算法,这里为求省事没有给出
,网络里边可以搜到*/
printf("%lf\n\n\n",pow(val,time));
main();
}

⑶ c语言制作弹出式菜单

void Menu()
{

system("cls"); /*调用系统的清屏命令*/
textbackground(BLUE);/*将背景设置为蓝色*/
textmode(2);
window(1,1,25,80);
clrscr();
textx=3;/*光标初始化位置*/
texty=2;
gotoxy(1,2);
cprintf("%c",218);/*画左上角*/
for(i=0;i<78;i++)
cprintf("%c",196); /*画水平直线*/
cprintf("%c",191);/*画右上角*/
for(i=3;i<=23;i++)
{
gotoxy(1,i);
cprintf("%c",179); /*画垂直线*/
gotoxy(80,i);
cprintf("%c",179);
}
cprintf("%c",192); /*画左下角*/
for(i=0;i<78;i++)
cprintf("%c",196);

cprintf("%c",217); /*画右下角*/
gotoxy(1,1);
textcolor(7); /*设置灰色*/
for(i=0;i<80;i++)
cprintf("%c",219);/*用符号实现画主菜单的灰色背景区*/
Selectitem(); /*调用选项函数*/
DrawSelectitem(); /*画选项*/
gettext(2,3,78,23,c); /*保存当前文本区域*/
}
/*定义菜单*/
void Selectitem()
{
strcpy(ml[0].name,"File");/*下面的具体选项补空格是为了各菜单黑色背景相同*/
strcpy(ml[0].str[0],"Open ALT-O");
strcpy(ml[0].str[1],"New ALT-N");
strcpy(ml[0].str[2],"Save Ctrl-S");
strcpy(ml[0].str[3],"Write to... ");
strcpy(ml[0].str[4],"Exit ");

ml[0].n=5; /*保存菜单的项数*/
strcpy(ml[1].name,"Edit");
strcpy(ml[1].str[0],"Cut Ctrl+X");
strcpy(ml[1].str[1],"Copy Ctrl+C");
strcpy(ml[1].str[2],"Paste Ctrl+V");
strcpy(ml[1].str[3],"Find ");
strcpy(ml[1].str[4],"Find&Replace ");
ml[1].n=5;
strcpy(ml[2].name,"Help");/*系统帮助*/
strcpy(ml[2].str[0],"This System ");
strcpy(ml[2].str[1],"Ver ");
ml[2].n=2;
}
/*显示主单名*/
void DrawSelectitem()
{
for(i=0;i<3;i++)
RedText(i,1,ml[i].name); /*显示主菜单名,且首字母为红色*/
}
/*正常显示菜单*/
void RedText(int x,int y,char *z)
{
textbackground(7); /*设置背景颜色为浅灰色*/
gotoxy(3+x*20,y);
for(j=0;z[j];j++)
{
if(j==0)
textcolor(RED);/*第一个字母显示红色*/
else
textcolor(BLACK); /*设置黑色*/
cprintf("%c",z[j]); /*输出菜单名*/
}
}
/*显示选中菜单*/
void BlackText(int x,int y,char *z)
{
textbackground(0); /*设置背景颜色为黑色*/
textcolor(15); /*设置文本颜色为白色*/
gotoxy(3+20*x,y);/*定位坐标*/
cputs(z); /*输出菜单名字符串*/
}

/*画边框函数*/

void DrawFrame(int l,int u,int r,int d,int tcolor,int bcolor)
{
textbackground(bcolor); /*背景颜色*/
textcolor(bcolor); /*文本颜色*/
for(i=l;i<=r;i++) /*输出背景区域*/
{
for(j=u;j<=d;j++)
{
gotoxy(i,j);
cprintf("%c",219); /*输出背景字符*/
}
}
textcolor(tcolor);/*边框颜色*/
for(i=u+1;i<d;i++) /*在背景区域内输出边框线*/
{
gotoxy(l,i);
cprintf("%c",179); /*垂直线*/
gotoxy(r,i);
cprintf("%c",179);
}
for(i=l+1;i<r;i++)
{
gotoxy(i,u);
cprintf("%c",196); /*水平线*/
gotoxy(i,d);
cprintf("%c",196);
}
gotoxy(l,u);
cprintf("%c",218);/*左上角*/
gotoxy(r,u);
cprintf("%c",191);/*右上角*/
gotoxy(l,d);
cprintf("%c",192);/*左下角*/
gotoxy(r,d);
cprintf("%c",217); /*右下角*/
/* gettext(l+1,u+1,r-1,d-1,save1);*//*保存边框内区域*/
}
/*显示具体下拉选择项目*/
void DrawMl(int n,charnodeptr *L,rownodeptr *R,pformateptr *P,operationptr *C,editptr *E)
{
gettext(1,1,80,25,save);/*保存被掩盖的地方*/
BlackText(n,1,ml[n].name);/*反选显示主菜单*/
DrawFrame(3+20*n-1,2,3+20*n+19,3+ml[n].n,0,7);/*下拉菜单的边框*/
for(i=3;i<3+ml[n].n;i++)/*输出所选菜单各选项*/
{
if(i==3)
BlackText(n,i,ml[n].str[i-3]);/*默认选中第一项*/
else
RedText(n,i,ml[n].str[i-3]);/*其余各项首字符红色显示*/
}
gotoxy(79,1);
MoveMl(n,3,L,R,P,C,E);/*菜单选项的控制*/
}
/*菜单选项的控制,n决定水平项,x决定下拉的选项*/
void MoveMl(int n,int x,charnodeptr *L,rownodeptr *R,pformateptr *P,operationptr *C,editptr *E)
{
int flag=1;
while(flag)
{
gotoxy(79,1);
key=bioskey(0);/*接收按键*/
gotoxy(79,1);
switch(key)
{
case ESC:/*退出循环*/
puttext(1,1,80,25,save);/*恢复打开菜单前的样子*/
flag=0;
break;
case LEFT:/*移到左边的选项*/
puttext(1,1,80,25,save);/*恢复打开菜单前的样子*/
if(n==0)/*往左移动越界的话移到最后一个选项*/
DrawMl(2,L,R,P,C,E);
else
DrawMl(n-1,L,R,P,C,E);
flag=0;
break;
case RIGHT:/*移动右边的选项*/
puttext(1,1,80,25,save);/*恢复打开菜单前的样子*/
if(n==2)/*往右移动越界的话移到第一个选项*/
DrawMl(0,L,R,P,C,E);
else
DrawMl(n+1,L,R,P,C,E);
flag=0;
break;
case UP:/*具体选项往上移动*/
RedText(n,x,ml[n].str[x-3]);/*输出红色字体*/
if(x==3)/*移到最上面再按上键,就移到最下面*/
x=3+ml[n].n-1;
else
x--;/*移动到新的要显示的内容*/
BlackText(n,x,ml[n].str[x-3]);/*输出黑色字体*/
flag=1;
break;
case DOWN:/*具体选项往下移动*/
RedText(n,x,ml[n].str[x-3]);
if(x==(3+ml[n].n-1))/*移动到最底下再按下键就移到最上面*/
x=3;
else
x++;/*移动到新的要显示的内容*/
BlackText(n,x,ml[n].str[x-3]);
flag=1;
break;
case ENTER:
puttext(1,1,80,25,save);/*恢复打开菜单前的样子*/
Enter(n,x-3,L,R,P,C,E);/*菜单选项的具体功能*/
flag=0;
break;
}
gotoxy(79,1);
}
}
/*菜单选项的具体功能*/
void Enter(int m,int n,charnodeptr *L,rownodeptr *R,pformateptr *P,operationptr *C,editptr *E)
{

switch(m)
{
case 0:switch(n)
{
case 0:Openfile(L,R,P,C,E);break; /*打开一个已存在的文件*/
case 1:Newfile(L,R,P,C,E);break; /*创建一个文件*/
case 2:Savefile(L);break; /*保存当前操作和文件*/
case 3:Writeto(L); /*另存为*/
case 4:Exit(L); /*退出系统*/
} break;
case 1: switch(n)
{
case 0: cut(L,R,P,C,E);break; /*剪切*/
case 1: (L,R,P,C,E);break; /*复制*/
case 2: paste(L,R,P,C,E);break; /*粘贴*/
case 3:find(L,R,P,C,E);break; /*查找*/
case 4:replace(L,R,P,C,E);break;/*替换*/
}break;
case 2:switch(n) /*选择了帮助菜单选项*/
{
case 0:Help();break;
case 1:Ver();
}
}/*结束外switch*/
}
//这是部分程序,如果要完整的例子程序,告诉我邮箱,我发给你.

⑷ 怎么用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语言做一个菜单,里面放程序

1、首先新建源文件c.c,用文本编辑器打开。

⑹ C语言菜单设计及功能调用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

#include<stdio.h>
#include<windows.h>
//\n1.增加 2.查询 3.删除 4.退出\n");
//声明函数
void addnd();
void searchnd();
void printnd();
void charund();
//含 枚举类型 分支switch
enum mmenu{/*定义一个名为mmenu的枚举类型
可以让常量有一定的含义(如实现菜单)*/
addn=1,//默认是0,定义为1后 后面的成员也会自动变换(排序)
searchn,
printn,
quitn
};
void main(){
enum mmenu input;
while(1){
printf("菜单\n1.增加 2.查询 3.打印 4.退出\n");
scanf("%d",&input);
Sleep(500);
system("cls");
switch(input){//case内的情况 只能是整型或字符型的常量
case addn:printf("选中了1.增加\n");addnd();break;
case searchn:printf("选中了2.查询\n");searchnd();break;
case printn:printf("选中了3.打印\n");printnd();break;
case quitn:printf("选中了4.退出\n");exit(0);break;
default :printf("不在选项内,请重新输入!\n");break;}
};

}

void addnd(){//增加
printf("//请自定义addnd()函数代码//\n");
}
void searchnd(){
printf("//请自定义searchnd()函数代码//\n");
}
void printnd(){//打印
printf("//请自定义printnd()函数代码//\n");
}
void charund(){
printf("//请自定义charund函数代码//\n");
}

⑺ 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语言编程做一个简单的菜单

#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语言编写菜单

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//值传递
voidfun1(chara)
{
a='b';
}
//地址传递
charfun2(char*a)
{
*a='a';
return*a;
}
//动态分配数组
voidfun3(char*&a)
{
a=(char*)malloc(sizeof(char));
}
charcaidan()
{
charchoose[5];
printf(" *************************************** ");
printf("┌──────┐ ");
printf("│菜单│ ");
printf("__________________________________ ");
printf("│1,按值传递| ");
printf("│2,按地址传递| ");
printf("│3,动态数组演示| ");
printf("│4,退出| ");
printf("└────────────────┙ ");
printf("************************************** ");
do
{
printf("请输入您的选择(1-4):");
scanf("%s",choose);
}while(strcmp(choose,"1")&&strcmp(choose,"2")&&strcmp(choose,"3")&&strcmp(choose,"4"));
//返回选择的菜单,注意如果输入太长这里会异常,因为choose[5],只申请了5个字节。
returnchoose[0];
}
voidmain()
{
//执行菜单的选择
while(1)
{
switch(caidan())
{
case'1':
{
chara='a';
fun1(a);
//按值传递内容不变
break;
}
case'2':
{
charb='b';
chara=fun2(&b);
//按地址传递内容会变
break;
}
case'3':
{
char*p=NULL;
fun3(p);
//动态数组分配成功
break;
}
case'4':exit(0);
}
}

}

⑽ 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的函数。