#include?stdio.h
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、衡陽ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的衡陽網(wǎng)站制作公司
#include?stdlib.h
void?menu()????????//菜單繪制
{
printf("---------------------------------------\n");
printf("\t\t?0.退出\n");
printf("\t\t?1.錄入信息\n");
printf("\t\t?2.查找信息\n");
printf("\t\t?3.刪除信息\n");
printf("\t\t?4.瀏覽信息\n");
printf("\t\t??5.有其他疑問找群主")
printf("\t\t??6.C++8群:?491994603")
printf("---------------------------------------\n");
}
void?keyDown()????//按鍵處理
{
int?choice;
scanf("%d",?choice);
switch?(choice)
{
case?0:
printf("退出程序\n");
Sleep(2000);
return?0;
case?1:
//調(diào)用菜單1實(shí)現(xiàn)函數(shù)
break;
case?2:
//調(diào)用菜單2實(shí)現(xiàn)函數(shù)
break;
case?3:
//調(diào)用菜單3實(shí)現(xiàn)函數(shù)
break;
case?4:
//調(diào)用菜單4實(shí)現(xiàn)函數(shù)
break;
default:
printf("輸入錯(cuò)誤\n");
}
system("pause");
return?0;
}
int?main()
{
while(1)????????
{
menu();
keyDown();
system("cls");
}
return?0;
}
#include?stdio.h
struct?mi
{
char?menuItem[20];
float?menuPrize;
};
struct?mi?menuList[3]=
{
{"Egg",1},
{"Rice",5},
{"Nuddle",6}
};
void?order()//定菜?算帳單?
{
int?i[3],j,k;
double?sum=0;
double?texafter;
printf("\nyou?could?choose?anyone?with?any?food");
for(j=0;j3;j++)
{
printf("\n%d.?%-10s",j+1,menuList[j].menuItem);
printf("???%3.1f?元\n",menuList[j].menuPrize);
printf("?%s要幾份:",menuList[j].menuItem);
scanf("%d",k);
i[j]=k;
}
system("cls");
printf("您已定了\n");
for(j=0;j3;j++)
{
if(i[j]!=0)
printf("%d份?%s\n",i[j],menuList[j].menuItem);
}
for(j=0;j3;j++)
sum+=menuList[j].menuPrize*i[j];
texafter=sum*1.05;
printf("Sum=%-5.2lf??",sum);
printf("Texafter=%-5.2lf",texafter);
printf("\npress?any?key?to?continue");
getch();
system("cls");
}
int?main()
{
int?i=1,j=0;
while(i)
{
printf("\n\n---------Please?select----------\n");
printf("---------1.???菜單????----------\n");
printf("---------2.???點(diǎn)菜????----------\n");
printf("---------0.???退出????----------\n");
scanf("%d",i);
switch(i)
{
case?1:
for(j=0;j3;j++)
{
printf("%d.?%-10s",j+1,menuList[j].menuItem);
printf("???%3.1f?元\n",menuList[j].menuPrize);
}???getch();system("cls");?break;
case?2:order();break;
case?0:break;
}
}?
}
//新手學(xué)習(xí),希望可以幫助你
給你一個(gè)簡單的菜單程序吧。其中的子函數(shù),填充成樓主所需即可。
#include
/*子函數(shù)1*/
fun1() {
printf ("子函數(shù)1\n");
}
/*子函數(shù)2*/
fun2() {
printf ("子函數(shù)2\n");
}
/*子函數(shù)3*/
fun3() {
printf ("子函數(shù)3\n");
}
/*子函數(shù)4*/
fun4() {
printf ("子函數(shù)4\n");
}
int main(void) {
int key; /*命令編號*/
do {
system("cls"); /*清屏*/
/*打印菜單*/
printf ("======================================================\n");
printf (" #\t功能詳情\n");
printf ("------------------------------------------------------\n");
printf (" 1\t功能1\n");
printf (" 2\t功能2\n");
printf (" 3\t功能3\n");
printf (" 4\t功能4\n");
printf (" 5\t退出\n");
printf ("======================================================\n");
printf ("\n");
printf("請輸入命令編號以開啟操作:");
/*輸入命令編號*/
scanf("%d",key);
printf ("\n");
/*switch函數(shù)實(shí)現(xiàn)輸入功能序號執(zhí)行相應(yīng)函數(shù)*/
switch (key) {
case 1: fun1(); break; /*子函數(shù)1*/
case 2: fun2(); break; /*子函數(shù)2*/
case 3: fun3(); break; /*子函數(shù)3*/
case 4: fun4(); break; /*子函數(shù)4*/
case 5: printf("程序結(jié)束!按任意鍵退出...\n\n"); break;
default:printf("輸入錯(cuò)誤,請重新輸入!\n\n"); break;
}
/*屏幕暫留*/
if (key!=5) {
printf ("\n");
printf("按Enter鍵繼續(xù)...\n");
printf ("\n");
fflush(stdin);
getch ();
}
} while (key!=5);
/*屏幕暫留*/
fflush(stdin);
getch ();
return 0;
}運(yùn)行結(jié)果
1、對于窗口組件菜單,需要根據(jù)不同平臺,通過圖形編程接口,進(jìn)行菜單的編制。
例程:
#includestdio.h?
#includegraphics.h?
#includeconio.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);?
/*按上下鍵選擇所需選項(xiàng)*/?
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;?/*按回車鍵確認(rèn)*/?
/*畫圖做菜單*/?
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)/*這里引用函數(shù),實(shí)現(xiàn)所要的功能*/?
{?
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();?
}
2、對于命令行菜單,直接通過不斷刷新輸出來模擬菜單行為。
例程:
#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出現(xiàn)的次數(shù)????????????????????**\n");
printf("\t\t**???2.統(tǒng)計(jì)字符串中大小寫字母,數(shù)字出現(xiàn)的次數(shù)????????**\n");
printf("\t\t**???3.將數(shù)字翻譯成英語??????????????????????????????**\n");
printf("\t\t**???4.結(jié)束??????????????????????????????????????????**\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;nk;n++)
if(a[n]==b[0])
{
j++;?/*記錄相同的字符數(shù)*/
do
{????
if(a[++n]==b[++t])
{?
j++;
if(j==m)?
{
l++;/*子字符串相同數(shù)*/
j=0;/*判斷后相同字符數(shù)歸零*/
t=-1;/*判斷中if中++t;t將會歸零*/
}
}
else
{
j=0;
t=0;
break;/*如果不同跳出while循環(huán)讓for使n+1繼續(xù)判斷*/
}
}while(a[n]!='\0');/*查找完字符數(shù)組a結(jié)束*/
}
printf("子字符串出現(xiàn)次數(shù):\n%d\n",l);
}??????????????????????????????????
void?cout()
{
int?n=0,t=0,k=0;
printf("請輸入一個(gè)字符串:\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("有數(shù)字:\n%d\n",k);
}
void?number()
{
l=num;
printf("請輸入一個(gè)數(shù)字:(0-10)\n");
fflush(stdin);
scanf("%d",m);
printf("%d對應(yīng)的英文是:\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");
}