新聞中心
C語(yǔ)言編程做一個(gè)簡(jiǎn)單的菜單
#include?stdio.h
創(chuàng)新互聯(lián)建站企業(yè)建站,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于成都做網(wǎng)站、網(wǎng)站建設(shè)中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過(guò)對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
#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.有其他疑問(wèn)找群主")
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;
}
C語(yǔ)言編寫(xiě)菜單
#includestdio.h?
#includestring.h?
#includestdlib.h
//值傳遞
void?fun1(char?a)
{
a?=?'b';
}
//地址傳遞
char?fun2(char*?a)
{
*a?=?'a';
return?*a;
}
//動(dòng)態(tài)分配數(shù)組
void?fun3(char*?a)
{
a??=?(char*)malloc(sizeof(char));
}
char?caidan()?
{?
char?choose[5];?
printf("\n***************************************\n");?
printf("??????┌──────┐\n");?
printf("??????│?菜單│\n");?
printf("?__________________________________\n");?
printf("│?1,按值傳遞????|\n");?
printf("│?2,按地址傳遞??|\n");?
printf("│?3,動(dòng)態(tài)數(shù)組演示|\n");?
printf("│?4,退?出???????|\n");?
printf("└────────────────┙\n");?
printf("**************************************\n\n");?
do?
{?
printf("請(qǐng)輸入您的選擇(1-4):");?
scanf("%s",choose);?
}while(strcmp(choose,"1")strcmp(choose,"2")strcmp(choose,"3")strcmp(choose,"4"));?
//返回選擇的菜單,注意如果輸入太長(zhǎng)?這里會(huì)異常,因?yàn)閏hoose[5],只申請(qǐng)了5個(gè)字節(jié)。?
return?choose[0];?
}?
void?main()
{
//執(zhí)行菜單的選擇?
while(1)
{
switch(caidan())?
{?
case?'1':
{
char?a?=?'a';
fun1(a);
//按值傳遞?內(nèi)容不變
break;?
}
case?'2':
{
char?b?=?'b';
char?a?=?fun2(b);
//按地址傳遞內(nèi)容會(huì)變
break;?
}
case?'3':
{
char*?p?=?NULL;
fun3(p);
//動(dòng)態(tài)數(shù)組分配成功
break;?
}
case?'4':exit(0);?
}?
}
}
用c語(yǔ)言制作一個(gè)簡(jiǎn)單的菜單程序,一個(gè)主函數(shù)四個(gè)子函數(shù)
給你一個(gè)簡(jiǎn)單的菜單程序吧。其中的子函數(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; /*命令編號(hào)*/
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("請(qǐng)輸入命令編號(hào)以開(kāi)啟操作:");
/*輸入命令編號(hào)*/
scanf("%d",key);
printf ("\n");
/*switch函數(shù)實(shí)現(xiàn)輸入功能序號(hào)執(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ò)誤,請(qǐng)重新輸入!\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é)果
c語(yǔ)言寫(xiě)菜單的示例?
#include stdio.h
#include windows.h
#include string.h
#include stdlib.h
#define MAX 1000
void main1()
{
int a, *p;
p = a;
printf("please input a number:");
scanf("%d", p); // 對(duì)p指向的a地址輸入值
printf("a=%d\n*p=%d\n", a, *p); // 輸出a地址存的值 輸出p指向的地址a的內(nèi)容
}
void main2()
{
int a,*p;
p = a;
printf("please input a number:");
scanf("%d", a); // 對(duì)p指向的a地址輸入值
printf("p=%p *p=%d\n", p,*p);// 輸出p指向的a的首地址號(hào)不足的位數(shù)用00補(bǔ)齊 輸出p指向的地址a的內(nèi)容
printf("%4d%4d %x\n", (*p)++, ++(*p), p);//輸出現(xiàn)在p指向的地址,輸出p指向的地址內(nèi)的值加一后的值,輸出p指向的地址內(nèi)的值加一后的值再加一
printf("%4d%4d\n", *p++, *p);// 輸出上個(gè)程序加一后的p指向的地址的內(nèi)容
printf("p=%x\n", p);// 輸出現(xiàn)在p指向的地址號(hào)
}
void sub(int x, int y, int *z)
{
*z = y - x;
}
void main3()
{
int a, b, c;
sub(10, 5, a);// 把10和5分別富值給x,y 把a(bǔ)的地址傳個(gè)*z在sub中對(duì)z指向的a地址富值
sub(7, a, b);// 把7和a的值分別富值給x,y 把b的地址傳個(gè)*z在sub中對(duì)z指向的b地址富值
sub(a, b, c);// 把a(bǔ)的值和吧的值分別富值給x,y 把c的地址傳個(gè)*z在sub中對(duì)z指向的c地址富值
printf("a=%d\nb=%d\nc=%d\n", a, b, c);// 輸出被賦值后的a b c
}
void main4()
{
int a[] = {1, 2, 3, 4, 5};
int *p = NULL;
p = a;// p指向a的首地址
printf("%d ", *p);// 輸出p指向的a首地址的第一個(gè)元素的內(nèi)容
printf("%d ", *(++p));// p的指向后移動(dòng)指向a的第二個(gè)元素并輸出她的內(nèi)容
printf("%d ", *++p);// p的指向后移動(dòng)指向a的第二個(gè)元素并輸出她的內(nèi)容
printf("%d ", *(p--));// p輸出值后指向的位子向前移一個(gè)元素
printf("%d ", *p++);// 輸出p的值后再將p的指向向后移一個(gè)元素
printf("%d ", *p);// 輸出p移后的指向的地址的值
printf("%d ", ++(*p));// 對(duì)p指向的地址的值加一后輸出值
printf("%d\n ", *p);// 輸出現(xiàn)在p指向的地址的值
}
f(int *t)
{
*t =10;
}
void main5()
{
int *p, a;
a = 2;
p = a;// p指向a的地址
f(p);// 把p指向的a的地址傳給*t在子函數(shù)中對(duì)a進(jìn)行重新賦值;
printf("a=%d\n", a);// 輸出a重新賦的值
}
void main6()
{
int a[10], j, *p;
for (j = 0; j 10; j++)
a[j] = j+1; // 對(duì)數(shù)組a進(jìn)行賦值
printf("\nOutput array using a[j]:\n");
for (j = 0; j 10; j++)
printf("%d ", a[j]);// 輸出賦值后的a
p = a; // p指向數(shù)組a首地址
printf("\nOutput array using p[j]:\n");
for (j = 0; j 10; j++)
printf("%d ", p[j]); // 把指針p當(dāng)數(shù)組用輸出p指向的a的各個(gè)元素
printf("\nOutput array using*( p+j):\n");
for (j = 0; j 10; j++)
printf("%d ", *(p+j)); // 把指針p當(dāng)數(shù)組用輸出p指向的a的各個(gè)元素
printf("\nOutput array using*( a+j):\n");
for (j = 0; j 10; j++)
printf("%d ", *(a+j)); // 使用數(shù)組a的指針性質(zhì)
printf("\nOutput array using *p++:\n");
for (j = 0; j 10; j++)
printf("%d ", *p++); // 把指針p當(dāng)數(shù)組用輸出p指向的a的各個(gè)元素
printf("\n");
}
void Input(float *p,int n)
{
int i;
printf("Pleese input %d score: ",n);
for(i=0;in;i++)
{
scanf("%f",(p+i));
}
}
void Output(float *q,int n)
{
int i;
printf("Output the score:\n");
for(i=0;in;i++)
{
printf("%f\n",*(q+i));
}
}
void FMax(float score[], int n,float *maxs,int *maxn )
{
int i;
*maxs=score[0];
for(i=1;in;i++)
{
if(score[i]*maxs)
{
*maxs=score[i];
*maxn=i;
}
}
}
void FMin(float score[], int n,float *mins,int *minn )
{
int i;
*mins=score[0];
for(i=1;in;i++)
{
if(score[i]*mins)
{
*mins=score[i];
*minn=i;
}
}
}
void main7()
{
float score[MAX],maxs,mins;
int maxn,minn;
Input(score,10);
Output(score,10);
FMax(score,10,maxs,maxn);
FMin(score,10,mins,minn);
printf("maxscore=%.2f,\t\tmaxnum=%d\nminscore=%.2f,\t\tminnum=%d\n",maxs,maxn,mins,minn);
}
int aver(int (*p)[5],int q)
{
int j,m=0,b;
for(j=0;j5;j++)
{
m+=*(*(p+q-1)+j);
}
b=m/5;
return(b);
}
void main8()
{
int i,j,(*pscore)[5],a,n,q[10][5];
pscore=q;
printf("Please input ten students's five scores:\n");
for(i=0;i10;i++)
{
for(j=0;j5;j++)
{
scanf("%d",pscore[i*5+j]);
}
}
printf("Please input students's number:");
scanf("%d",n);
a=aver(pscore,n);
printf("第%d學(xué)生五門成績(jī)的平均值為:%d\n",n,a);
}
void main9()
{
char *str1,*str2,*str3,a[100],b[100],c[100];
str1=a[0];
str2=b[0];
str3=c[0];
printf("str1=");
gets(str1);
printf("str2=");
gets(str2);
strcat(str1,str2);// 把字符串str2接到字符串str1的后面
printf("str1=%s\n",str1);// 輸出連接后的字符串str1
strcpy(str3,str1);// 把字符串str1接到字符串str3的后面
printf("str3=%s\n",str3);// 輸出連接后的字符串str3
}
void main10( )
{
char *p = "abcdefghijklmnopq";
while( *p++!='e')// 指針p的指向地址向后移一個(gè)元素判斷是不是等于'e'
printf("%c\n", *p);// 如果判斷等于'e'就輸出p指向的地址內(nèi)的字符
}
void main11()
{
char b[] = "program";
char *a = "PROGRAM";
int i = 0;
printf("%c%s\n", *a,b+1);// 先對(duì)數(shù)組b加一后輸出b 再輸出*a
while (putchar(*(a+i)))
{
i++;
}
printf("i = %d\n", i);// 判斷a有多少個(gè)字符輸出
while (--i)
{
putchar(*(b + i)); // 將p字符串逆向輸出不輸出最后一個(gè)
}
printf("\n%s\n", b[3]);// 輸出b字符串的最后四位
}
void main12( )
{
int a=1, *p, **pp;
pp =p;
p =a;
a++;
printf ("%d,%d,%d\n",a,*p, **pp);// a是a加一后的值 *P是指向的a地址內(nèi)的值 **pp是指向的 *P是指向的a地址內(nèi)的值
}
void main13()
{
char *alpha[7]={ " ABCD","EFGH ","IJKL ","MNOP ","QRST ","UVWX ","YZ "};
char **p;
int i;
p = alpha;
for(i = 0;i 4;i++)
printf("%c", *(p[i]));// 輸出指向的前四個(gè)字符串的第一個(gè)字母
printf("\n");
}
void main14()
{
char n[100];
char *s [ ]={"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Ten"};
int i,x,len;
printf("輸入一串阿拉伯?dāng)?shù)字:\n");
gets(n);
len=strlen(n);// 計(jì)算輸入的n的長(zhǎng)度
for(i=0;ilen;i++)
{
x=*(n+i)-48; /* 48為字符"0"的ASCII碼 */
printf("%s ",s[x]);// 將輸入的數(shù)字當(dāng)?shù)刂诽?hào)
}
printf("\n");
}
unsigned int MyStrlen(char s[ ])
{
char *p = s;
while (*p !='\0' )
{
p++;
}
return(p-s );
}
void main15()
{
char a[1000];
int b;
printf("Input char number:");
gets(a);
b= MyStrlen(a);
printf("The number's len:%d\n",b);
}
void reading(char (*a)[5], int *num)
{
int i=0;
gets(a[i]);
while(!strcmp(a[i],"****")==0)
{
gets(a[i]);
}
*num=i;
}
void findmax(char (*a)[5], int *num,char **max)
{
int i;
for (*max=a[0],i=1;i*num;i++)
{
if(strcmp(a[i],*max)0)
*max=a[i];
}
}
void main16()
{
char ss[10][5],*ps;
int n;
reading(ss,n);
findmax(ss,n,ps);
printf("max=%s\n",ps);
}
int *search1(int(*s)[4],int *len,int *n)
{
int i,j;
for (i = *n; i*len; i++)
{
for (j=0; j4; j++)
{
if (*(*(s+i)+j) 60)
{
*n=i;
return s[i];//如有不及格的返回地址
}
}
}
return NULL;//如果沒(méi)有返回NULL,好打出沒(méi)有成績(jī)不及格的同學(xué)
}
int *search2(int(*s)[4],int *len,int *n)
{
int i,j;
for (i = *n; i*len; i++)
{
for (j=0; j4; j++)
{
if (*(*(s+i)+j) 90)
{
*n=i;
return s[i];//如有不及格的返回地址
}
}
}
return NULL;//如果沒(méi)有返回NULL,好打出沒(méi)有成績(jī)不及格的同學(xué)
}
void main17()
{
int i,j,n,score[1000][4],count=0,x;
int *p;
p=score[0][0];
printf("Pleese input the students's total number(小于1000):\n ");
scanf("%d",n);
printf("Pleese input every student's score:\n ");
for(i=0;in;i++)
{
for(j=0;j4;j++)
{
scanf("%d",p[i*4+j]);
}
}
printf("是100分制請(qǐng)輸入100,150分制請(qǐng)輸入150:");
scanf("%d",x);
switch(x)
{
case 100:
i=0;//從第一個(gè)開(kāi)始擦找
while (in+1)
{
p=search1(score,n, i);
if (p)//如果有
{
printf("不及格的是第 %d 個(gè)人,三科成績(jī)分別為:\n",i+1);
for (j = 0; j 4; j++)
{
printf("%d, ", *p++);
}
count++;//記錄有幾個(gè)不及格的
printf("\n");
}
i++;
}
if (!pcount==0)//如果沒(méi)有
{
printf("沒(méi)有成績(jī)不及格的同學(xué)\n");
}
break;
case 150:
i=0;//從第一個(gè)開(kāi)始擦找
while (in+1)
{
p=search2(score,n, i);
if (p)//如果有
{
printf("不及格的是第 %d 個(gè)人,三科成績(jī)分別為:\n",i+1);
for (j = 0; j 4; j++)
{
printf("%d, ", *p++);
}
count++;//記錄有幾個(gè)不及格的
printf("\n");
}
i++;
}
if (!pcount==0)//如果沒(méi)有
{
printf("沒(méi)有成績(jī)不及格的同學(xué)\n");
}
break;
default:
printf("Incorrect letter entered .");
}
}
#define MAXI 16
#define N 5
void sort(char (*s)[MAXI],int n)
{
int i , j;
char *temp =(char *)malloc(sizeof(char ) * MAXI) ;
for(i = 0; i n-1 ; i++)
{
for(j = i+1; j n ; j++)
{
if(strcmp(s[i] , s[j]) 0) //這里的排序不能用s[i] = s[j],錯(cuò)誤:incompatible types in assignment
{
strcpy(temp,s[i]);
strcpy(s[i],s[j]);
strcpy(s[j],temp);
}
}
}
free(temp);
}
void print(char (*s)[MAXI],int n)
{
int i;
for(i = 0; i n ; i++)
{
printf("%s\n",s[i]);
}
}
void main18()
{
int index;
char str[N][MAXI];
for(index = 0; index N ;index++)
{
printf("請(qǐng)輸入第%d個(gè)字符串:\n",index+1);
gets(str[index] );
}
sort(str,N);
print(str,N);
}
void main19()
{
printf("\t\t\t\t歡迎使用");
printf("\n");
printf("\t\t*************************************************");
printf("\n\t\t*\t\t\t\t\t\t*");
printf("\n\t\t*\t\t\t\t\t\t*");
printf("\n\t\t*\t\t輸入1.第①個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入2.第②個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入3.第③個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入4.第④個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入5.第⑤個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入6.第⑥個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入7.第⑦個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入8.第⑧個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入9.第⑨個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入10.第⑩個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入11.第⑾個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入12.第⑿個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入13.第⒀個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入14.第⒁個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入15.第⒂個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入16.第⒃個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入17.第⒄個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入18.第⒅個(gè)實(shí)驗(yàn)\t\t*");
printf("\n\t\t*\t\t輸入0.結(jié)束\t\t\t*");
printf("\n\t\t*************************************************\n");
}
void main()
{
int n,m;
do{
system("cls");
main19();
printf("請(qǐng)輸入所需要選擇運(yùn)行的程序的序號(hào):");
scanf("%d",n);
switch(n)
{
case 1:
main1();
break;
case 2:
main2();break;
case 3:
main3();break;
case 4:
main4();break;
case 5:
main5();break;
case 6:
main6();break;
case 7:
main7();break;
case 8:
main8();break;
case 9:
main9();break;
case 10:
main10();break;
case 11:
main11();break;
case 12:
main12();break;
case 13:
main13();break;
case 14:
main14();break;
case 15:
main15();break;
case 16:
main16();break;
case 17:
main17();break;
case 18:
main18();break;
default:
printf("選錯(cuò)了!!!!!!!\n");
}
printf("不想繼續(xù)就輸入0否則輸入任意數(shù)字:");
scanf("%d",m);
}while(m!=0);
}
求一個(gè)C語(yǔ)言菜單函數(shù)的程序?
1、對(duì)于窗口組件菜單,需要根據(jù)不同平臺(tái),通過(guò)圖形編程接口,進(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)*/?
/*畫(huà)圖做菜單*/?
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);/*如果按鍵超過(guò)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、對(duì)于命令行菜單,直接通過(guò)不斷刷新輸出來(lái)模擬菜單行為。
例程:
#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ì)字符串中大小寫(xiě)字母,數(shù)字出現(xiàn)的次數(shù)????????**\n");
printf("\t\t**???3.將數(shù)字翻譯成英語(yǔ)??????????????????????????????**\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("請(qǐng)輸入主字符串:\n");
scanf("%s",a);
k=strlen(a);
printf("請(qǐng)輸入子字符串:\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將會(huì)歸零*/
}
}
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("請(qǐng)輸入一個(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("有大寫(xiě)字母:\n%d\n",t);
printf("有小寫(xiě)字母:\n%d\n",n);
printf("有數(shù)字:\n%d\n",k);
}
void?number()
{
l=num;
printf("請(qǐng)輸入一個(gè)數(shù)字:(0-10)\n");
fflush(stdin);
scanf("%d",m);
printf("%d對(duì)應(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");
}
標(biāo)題名稱:c語(yǔ)言菜單函數(shù)實(shí)例 c語(yǔ)言菜單程序設(shè)計(jì)模板
網(wǎng)頁(yè)路徑:http://www.ef60e0e.cn/article/docsede.html