MenuSelet() 應該是一個菜單選擇函數,返回一個具體數值,之后switch(MenuSelect()) 根據這個值進行判斷,下面每個case中應該對應著相應的實現操作。
創新互聯于2013年開始,是專業互聯網技術服務公司,擁有項目成都網站設計、成都網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元岱山做網站,已為上家服務,為岱山各地企業和個人服務,聯系電話:18982081108
函數是一個獨立的程序段,它執行具體的,明確的任務。也就是說函數是我們預先編寫好的一段處理某個具體問題的代碼。
C語言中我們通常會使用函數來執行一系列指令。一次函數調用將在一個程序內的任何一個給定點上執行一系列指令。函數可以根據需要被多次調用。如果一個程序中會多次的執行同一個任務,那么函數的使用將會大大的減少程序的代碼量,而且包含函數的程序還便于維護和修改程序,因為我們只需要修改函數就可以對程序中的多處進行修改了。
在主函數里的是實參,在子函數里的是形參。因為在真正執行的時候是把實參傳遞給形參來執行的,所以實參才是實際的參數。
比如:
int jjj(int a, int b)
void main()
{
int x, int y;
jjj(x, y);
}
a、b是形參,x和y是實參。
而調用與被調用是相互的,
int aa(){...}
int bb(){...;aa();...}此時,bb函數調用了aa函數,即aa被bb函數調用。
1、對于窗口組件菜單,需要根據不同平臺,通過圖形編程接口,進行菜單的編制。
例程:
#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);?
/*按上下鍵選擇所需選項*/?
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();?
}
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出現的次數????????????????????**\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;nk;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");
}
//求長度
int Length(char* szSrc)
{ static int nCount=0;
while(*(szSrc+nCount)!='\0')
nCount++;
return nCount;
}
//有一個字符串,包含n個字符。寫一函數,將此字符串從第m個字符開始的全部字符復制成另一個字符串。
char* Mid(char* szSrc,int n1,int n2)
{
static char sz[1024];
memset(sz,0,sizeof(sz));
strncpy(sz,szSrc+n1,n2-n1+1);
return sz;
}
//逆序 數字逆序要把長度也送進去
void changestr(char *szSrc)
{
static int nCount=0;
do(*(szSrc+nCount)!='\0')
nCount++;
for(int i=0; i=nCount/2;i++)
{
char ch;
ch =*(szSrc+i);
*(szSrc+i) = *(szSrc+nCount-i);
*(szSrc+nCount-i)=ch;
}
新聞標題:c語言菜單函數是什么意思 C語言菜單
本文URL:http://m.kartarina.com/article0/hgecio.html
成都網站建設公司_創新互聯,為您提供域名注冊、網站改版、建站公司、關鍵詞優化、品牌網站建設、商城網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯