菜單程序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]!='