菜单程序c语言
① c语言编写菜单程序
#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();
}
② c语言菜单程序设计
随便乱写了一个程序,就是函数间的互相调用。
#include <stdio.h>
#include <stdlib.h>
void menu1()
{
puts("选择菜单");
puts("1.计算");
puts("2.显示回一些有趣的东西");
int num;
scanf("%d",&num);
switch(num)
{
case 1:system("cls");menu2();break;
case 2:system("cls");menu3();break;
}
}
void menu2()
{
puts("1+1=2");
system("pause");
system("cls");
menu1();
}
void menu3()
{
puts("你真答帅!");
system("pause");
system("cls");
menu1();
}
int main()
{
printf("Hello!\n");
menu1();
return 0;
}
③ 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
是水仙花数!
",
a);
}else{
printf("%d
不是水仙花数!
",
a);
}
}
void
prime(int
a)
{
int
i;
if(a
<
2)
{
printf("%d
不是素数!
",
a);
return
;
}
for(i
=
2;
i
<
a;
i
++){
if(a
%
i
==
0)
{
printf("%d
不是素数!
",
a);
return
;
}
}
printf("%d
是素数!
",
a);
}
void
max(int
a,
int
b,
int
c)
{
if(b
>
a)
a
=
b;
if(c
>
a)
a
=
c;
printf("最大值是:%d
",
a);
}
void
factorial(int
a)
{
int
i;
int
f
=
1;
for(i
=
a;
i
>1;
i
--)
f
*=
i;
printf("%d
的阶乘是:%d
",
a,
f);
}
int
main(int
argc,
char
**argv)
{
int
a,
b,
c;
int
type
;
int
run
=
1;
printf("本程序可完成某些数学计算:
");
printf(
"***********************************
"
"*
1.判断一个数是否为水仙花数。
*
"
"*
2.判断一个数是否为素数。
*
"
"*
3.求三个数的最大值。
*
"
"*
4.求一个数的阶乘。
*
"
"*
0.退出。
*
"
"***********************************
");
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语言程序,显示如下菜单并实现相应的菜单选择功能
把2楼的稍微改了下
加了阶乘功能
#include<stdio.h>
#include<math.h>
void
my_jc()
{
int
c=0,i,sum=1;
printf("输入整数N:");
scanf("%d",&c);
for(i=1;i<=c;i++)
sum=sum*i;
printf("%d\n",sum);
}
void
my_LFG()
{
int
b=0;
printf("输入整数N:");
scanf("%d",&b);
printf("立方根为%f\n",pow(b,1.0/3.0))
;
}
void
my_LF()
{
int
a=0;
printf("输入整数N:");
scanf("%d",&a);
printf("立方为:%d\n",a*a*a);
}
void
main()
{
int
server=0;
while(server!=3)
{
printf("************************************************
\n");
printf("1.求整数n的立方\n")
;
printf("2.求整数n的立方根\n
")
;
printf("3.求n的阶乘并结束程序\n");
printf("************************************************\n");
printf("请选择服务类型:");
scanf("%d",&server);
switch(server)
{
case
1:
my_LF();
break;
case
2:
my_LFG();
break;
case
3:
{my_jc();break;}
}
}
}
⑤ c语言用switch语句实现菜单程序
#include <stdio.h>
int count(a,b,sign){
int num;
switch (sign) {
case '+':
num=(a+b);
break;
case '-':
num=(a-b);
break;
case '*':
num=(a*b);
break;
case '/':
num=a/b;
break;
default:
break;
}
return num;
}
int main(void){
char sign;
int ch,a,b,num;
// double num;
printf("1. a,b,add //求两数之和\n");
printf("2. a,b,sub //求两数之差\n");
printf("3. a,b,pro //求两数之积\n");
printf("4. a,b,div //求两数之商\n");
printf("5. exit\n\n");
while (1) {
printf("Please select a menu:");
scanf("%d",&ch);
switch (ch) {
case 1:
sign='+';
break;
case 2:
sign='-';
break;
case 3:
sign='*';
break;
case 4:
sign='/';
break;
default:
return 0;
}
printf("please input 2 number:\n");
scanf("%d%d",&a,&b);
num=count(a,b,sign);
printf("num=%d\n",num);
}
return 0;
}
//没有考虑除法浮点计算;没有考虑错误输入;
⑥ 如何用C语言做一个菜单,里面放程序
1、首先新建源文件c.c,用文本编辑器打开。
⑦ 求一个C语言菜单函数的程序
我写了一个完整程序给你参考,你可以在这个基础上增加你的功能。
源代码如下(vc++6.0下编译通过):
#include <stdlib.h>
#include <ctype.h>
#include <conio.h>
void func1()
{
printf("func1 ... \n");getch();
//coding here ...
}
void func2()
{
printf("func2 ... \n");getch();
//coding here ...
}
//any other func coding here ..
void menu() //主菜单
{
system("cls"); //清屏
printf("\n\t\t\t 菜单\n");
printf("\t\t\t#***********************#\n");
printf("\t\t\t# 1.xxxx #\n");
printf("\t\t\t# 2.xxxxxxx #\n");
printf("\t\t\t# //any other.... #\n");
printf("\t\t\t# 9.退出 #\n");
printf("\t\t\t#***********************#\n");
printf("\t\t\t 请选择(1-9): ");
}
void main()
{
char select;
while(1)
{
menu();
system("COLOR 9f");
fflush(stdin);
scanf("%c",&select);
getchar(); //读入回车符
if(!isdigit(select)) //如果不是数字字符
{
printf("\n\7Your select may be wrong, must enter the digit!\n");
getch();
}
else
{
switch (select)
{
case '1':
func1();
break;
case '2':
func2();
break;
//any other coding here ...
case '9':
exit(-1);//直接退出
default:
printf("\n\7\7Your selected digit may be wrong, select again!\n");
getch();
break;
}
}
}
}
希望对你有帮助。
⑧ 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语言菜单程序设计
//完整版写完了
#include<stdio.h>
#defineN4
voidfun1(inta[],intn)//建立数组
{
inti;
printf("输入数组a[%d] ",n);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
}
voidfun2(inta[],intn)//输出数组
{
inti;
for(i=0;i<n;i++)
printf("%d",a[i]);
printf(" ");
}
voidfun3(inta[],intn)//数组升序排序:选择排序法
{
inti,j,t;
for(j=1;j<n;j++)//N次比较
for(i=0;i<j;i++)//每趟中比j次
if(a[i]>a[j])//与a[i]后面的元素进行比较
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
voidfun4(inta[],intn)//查找数据
{
intb,i,k=0;
printf("输入要查找的数:");
scanf("%d",&b);
for(i=0;i<n;i++)
{
if(a[i]==b)
printf("a[%d]=%d ",i,b);
elsek++;
if(k==n)printf("没有这个数 ");
}
}
voidfun5(inta[],intn)//逆序输出
{
inti;
for(i=n-1;i>=0;i--)
printf("%d",a[i]);
printf(" ");
}
voidmain()
{
intnum,a[N];
printf("1.建立数组 ");
printf("2.输出数组 ");
printf("3.数组排序 ");
printf("4.查找数据 ");
printf("5.逆序输出 ");
printf("0.退出程序 ");
while(1==1){
printf(" 请选择功能:");
scanf("%d",&num);
switch(num)
{
case5:fun5(a,N);break;
case4:fun4(a,N);break;
case3:fun3(a,N);break;
case2:fun2(a,N);break;
case1:fun1(a,N);break;
case0:return;
}
}
}
⑩ 怎样用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]!='