1. 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;
}
}
}
}
}
}
2. C语言 编写菜单
#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");
}
楼主,终于帮你写完了,完美测试成功,第一功能因为学艺未精写了两个小时,艾,呵呵,不过我还是很开心,如果你有什么不懂可以HI我,我会帮你解答,呵呵,真的好开心,终于写出来了
哈哈。。。。
3. 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;
}
4. 用C语言制作一个简单实用菜单的程序。
#include<iostream>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>
usingnamespacestd;
voidxuanzepaixu()//选择排序函数
{
printf("待添加,请按任意键继续...");
getchar();
}
voiderfenpaixu()//二分查找函数
{
printf("待添加,请按任意键继续...");
getchar();
}
voidmenu()//主菜单
{
system("cls");//清屏
printf(" 菜单 ");
printf(" #***********************# ");
printf(" #1选择排序# ");
printf(" #2二分查找# ");
printf(" #3返回# ");
printf(" #4---关闭# ");
printf(" #***********************# ");
printf(" 请选择(1-4)=:");
}
voidmain()
{
charselect;
while(1)
{
menu();
system("COLOR9f");
scanf("%c",&select);
if(select=='3')
break;//返回上级菜单
else
{
getchar();//读入回车符
if(!isdigit(select))//如果不是数字字符
{
printf(" 7Yourselectmaybewrong,mustenterthedigit! ");_getch();
}
else
{
switch(select)
{
case'1':xuanzepaixu();break;
case'2':erfenpaixu();break;
case'4':exit(0);//直接退出
default:
{
printf(" 77Yourselecteddigitmaybewrong,selectagain! ");
_getch();
break;
}
}
}
}
}
}
5. 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的函数。
6. 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();
}
7. 怎样用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]!='