當前位置:首頁 » 編程語言 » c語言菜單

c語言菜單

發布時間: 2022-01-14 07:25:33

c語言編寫菜單

中國電力出版社書號為5123-5504-0的C語言程序設計書上有介紹方法:
現在,通過一個簡單的開發實例來理解上述概念。該應用軟體運行時,首先出現一個菜單,用戶選擇某一菜單項後進入相應子模塊處理具體問題,處理結束後回到主菜單。當在主菜單上選擇退出功能後,軟體運行結束。將各子模塊劃分成子函數後,進一步將菜單初始化和界面顯示、選擇功能劃分成子函數,最終設計出來的函數代碼框架如下:
#include
//菜單初始化函數:設置菜單文字
void InitMenu( char *Menu[] )
{
Menu[0]="1. 菜單項1名稱 ";

}
// 顯示菜單、接受用戶選擇函數
// 初學者可以使用printf、getch函數實現基本交互
// 進階後可以引入圖形、字體、功能鍵、滑鼠等元素進行人機交互
int ChooseMenu( char *Menu[], int MaxItem )
{
return 1; // 選擇菜單1

return 0; // 選擇退出
}
//模塊一
void sub1(void)
{

}
void main( void )
{
char *Menu[10],MaxItem=10; //指針數組存儲菜單名稱:0-9項
intdone=0; //退出標志,為1時退出
InitMenu( Menu ); //調用菜單初始化模塊
do
{
// 每輪循環都重新顯示界面、接受用戶選擇、根據用戶選擇執行相應分支
switch( ChooseMenu(Menu, MaxItem ) )
{
case 1:
sub1();
break;
case 2:

case 0:
done=1;
}
}while(!done);
}
在結構那一章還有一個課程設計的菜單,太長了,感興趣找書看看吧

❷ C語言輸出如下菜單

大致代碼如下

#include<stdio.h>
#include<stdlib.h>

voidmenu()
{
printf(" 主菜單 ");
printf("=============================== ");
printf(" 1.輸出學生成績 ");
printf(" 2.查詢學生成績 ");
printf(" 3.列印學生成績 ");
printf(" 0.退出系統 ");
printf("=============================== ");
}
intmain()
{
intoperation;
menu();
scanf("%d",&operation);
switch(operation){
case1:
printf("請輸入 ");
break;
case2:
printf("請輸入查詢學生學號 ");
break;
case3:
printf("正在輸出 ");
break;
case0:
printf("謝謝使用 ");
break;
default:
printf("輸入錯誤 ");
break;
}
return0;
}

❸ 用c語言編寫一個菜單!

程序如下:

#include<stdio.h>
#include<string.h>


intMENU_Print(ints32QuerNum)
{
switch(s32QuerNum)
{
case1:
printf("您選擇的題目如下: ");
printf("1、以下可以正確表示標識符的是:() ");
printf("A、Data,Double ");
printf("B、case,Big ");
printf("C、2011A,hi_ok ");
printf("D、_2011,year-month-data ");
break;
case2:
printf("您選擇的題目如下: ");
printf("2、以下運算符優先順序最低的是:() ");
printf("A、?: ");
printf("B、++ ");
printf("C、&& ");
printf("D、+= ");
break;
case3:
printf("您選擇的題目如下: ");
printf("2、以下選項中不能正確賦值的是:() ");
printf("A、chars[20];s="ABCDE" ");
printf("B、chars[]="ABCDE" ");
printf("C、chars[20]={"ABCDE"} ");
printf("D、chars[20]={'A','B','C'} ");
break;
default:
break;
}

return0;
}

intmain()
{
ints32ChooseNum=0;
while(1)
{
printf(" 題號范圍為1-3,請輸入題號: ");
scanf("%d",&s32ChooseNum);

if(s32ChooseNum<1||s32ChooseNum>3)
{
printf("題號范圍為1-3,您是輸入超出的范圍,請重新輸入 ");
continue;
}

MENU_Print(s32ChooseNum);

}

return0;
}


運行結果:


我也不知道有沒有理解你的意思,你看看是否合適。。。,我沒有做選擇輸入和結果的判斷,如果需要的話可以加上去,你可以告訴我你的具體要求

以上

❹ c語言中如何實現菜單

哈哈,用switch循環語句啊!
哈哈...................什麼學校的啊??

❺ 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語言編寫菜單

  1. 對於窗口組件菜單,需要根據不同平台,通過圖形編程介面,進行菜單的編制。

    常式:

    #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();
    }
  2. 對於命令行菜單,直接通過不斷刷新輸出來模擬菜單行為。

    常式:

    #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]!='');/*查找完字元數組a結束*/
    }
    printf("子字元串出現次數: %d ",l);
    }
    voidcout()
    {
    intn=0,t=0,k=0;
    printf("請輸入一個字元串: ");
    fflush(stdin);/*清除緩沖*/
    while((c=getchar())!=' ')
    {
    if(c>='a'&&c<='z')
    n++;
    if(c>='A'&&c<='Z')
    t++;
    if(c>='0'&&c<='9')
    k++;
    }
    printf("有大寫字母: %d ",t);
    printf("有小寫字母: %d ",n);
    printf("有數字: %d ",k);
    }
    voidnumber()
    {
    l=num;
    printf("請輸入一個數字:(0-10) ");
    fflush(stdin);
    scanf("%d",&m);
    printf("%d對應的英文是: %s ",m,*(l+m-1));
    }
    voidmain()
    {
    while(1)
    {
    system("cls");
    menu();
    switch(n)
    {
    case1:system("cls");check();system("pause");break;
    case2:system("cls");cout();system("pause");break;
    case3:system("cls");number();system("pause");break;
    case4:system("cls");break;
    default:system("cls");break;
    }
    if(n==4)break;
    }
    printf("感謝使用 ");
    }

❼ 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;
}

❽ C語言菜單選擇

#include<stdio.h>
intmain()
{
inti,j,t,n,m,k,s=1;
printf("輸入測試次數:");
scanf("%d",&t);
while(t)
{
printf(" 1.計算n! 2.輸出素數 3.判定閏年 輸入選項(1~3):");
scanf("%d",&n);
switch(n)
{
case1:
{
scanf("%d",&k);
for(i=1;i<=k;i++)
s*=i;
printf("%d!=%d",k,s);
s=1;
t--;
break;
}
case2:
{
scanf("%d%d",&m,&k);
for(i=m;i<=k;i++)
{
for(j=2;j<i;j++)
if(i%j==0)break;
if(j>=i)printf("%-4d",i);
}
t--;
break;
}
case3:
{
scanf("%d",&k);
if((k%4==0&&k%100)||k%400==0)
printf("%d年是閏年",k);
elseprintf("%d年非閏年");
t--;
break;
}
default:
{
printf("INPUTERROR!");
t--;
break;
}
}
}
return0;
}

❾ 怎麼用C語言編寫菜單

#include "stdio.h"
#include "stdlib.h"
#include "dos.h"
#include "windows.h"
char choice1;
void main()
{
void menue1();
printf("歡迎進入Ben的作業查詢系統!");
menue1();
}
void menue1()
{
void choicemenue1();
printf("\n請按照以下列表選擇您想要查看的章節:");
printf("\n編號\t章節\n 1\t第一章\n 2\t第二章\n");
printf("請輸入編號進行選擇:");
choicemenue1();
}
void choicemenue1()
{
choice1=getch();
switch(choice1)
{
void menuechapter1();
void menuechapter2();
void menue1();
case '1':menuechapter1();break;
case '2':menuechapter2();break;
default:printf("\n輸入錯誤!請重新選擇!\n"),menue1();
}}
void menuechapter1()
{
char choiceex;
printf("\n您選擇的是第%c章",choice1);
printf("\n現在請選擇本章節的題目。");
printf("\n請按照以下列表選擇題目:");
printf("\n編號\t題目編號\n1\t第1題\n2\t第2題\n");
printf("請選擇:");
switch(choiceex=getch())
{
void c1_1();
void c1_2();
case '1':c1_1();break;
case '2':c1_2();break;
default:
printf("\n你個白痴!這也能選錯!不讓你重選了!");
printf("\n按任意鍵以退出!");
getch();
exit(0);
}
}
void menuechapter2()
{
char choiceex;
printf("\n您選擇的是第%c章",choice1);
printf("\n現在請選擇本章節的題目。");
printf("\n請按照以下列表選擇題目:");
printf("\n編號\t題目編號\n1\t第1題\n2\t第2題\n");
printf("\n請選擇:");
switch(choiceex=getch())
{
void c2_1();
void c2_2();
case '1':c2_1();break;
case '2':c2_2();break;
default:
printf("\n你個白痴!這也能選錯!不讓你重選了!");
printf("\n按任意鍵以退出!");
getch();
exit(0);
}
}
void c1_1()
{
char howtorun;
printf("現在請選擇考察方式:");
printf("\n編號\t考察方式\n 1\t運行程序\n 2\t查看源代碼\n 3\t返回主菜單\n 4\t退出程序\n");
printf("請選擇:");
switch(howtorun=getch())
{
void runc1_1();
void menue1();
case '1':runc1_1();break;
case '2':printf("\n"),system("type \\caidan\\chapter1\\c1_1.c"),printf("\n"),getch();break;
case '3':menue1();break;
case '4':exit(0);break;
default:
printf("程序即將結束!哈哈哈……");
printf("按任意鍵以結束程序!");
getch();
exit(0);
}}
void c1_2()
{
printf("c1_2 is OK!");
}void c2_1()
{
printf("c2_1 is OK!");
}void c2_2()
{
printf("c2_2 is OK!");
}
void runc1_1()
{
int a,b,max;
printf("\nPlease input two integer numbers:");
printf("a=?,b=?\n");
scanf("%d,%d",&a,&b);
max=a>b?a:b;
printf("The max number is %d",max);
}
大概就是這樣做的。。

❿ C語言編程做一個簡單的菜單

#include<stdio.h>
#include<stdlib.h>
voidmenu()//菜單繪制
{
printf("--------------------------------------- ");
printf(" 0.退出 ");
printf(" 1.錄入信息 ");
printf(" 2.查找信息 ");
printf(" 3.刪除信息 ");
printf(" 4.瀏覽信息 ");
printf(" 5.有其他疑問找群主")
printf(" 6.C++8群:491994603")
printf("--------------------------------------- ");
}

voidkeyDown()//按鍵處理
{
intchoice;
scanf("%d",&choice);
switch(choice)
{
case0:
printf("退出程序 ");
Sleep(2000);
return0;
case1:
//調用菜單1實現函數
break;
case2:
//調用菜單2實現函數
break;
case3:
//調用菜單3實現函數
break;
case4:
//調用菜單4實現函數
break;
default:
printf("輸入錯誤 ");
}
system("pause");
return0;
}
intmain()
{
while(1)
{
menu();
keyDown();
system("cls");
}
return0;
}

熱點內容
安卓ops是什麼文件 發布:2024-11-15 16:32:18 瀏覽:927
雙線性插值演算法c 發布:2024-11-15 16:30:45 瀏覽:866
c語言和vc的區別 發布:2024-11-15 16:19:23 瀏覽:118
linux是免費的嗎 發布:2024-11-15 15:53:44 瀏覽:617
多控存儲 發布:2024-11-15 15:52:42 瀏覽:283
一年級數學分解演算法 發布:2024-11-15 15:41:08 瀏覽:411
安卓個人熱點怎麼分享 發布:2024-11-15 15:40:16 瀏覽:264
墊錢解壓 發布:2024-11-15 15:38:54 瀏覽:336
miui4相當於安卓什麼系統 發布:2024-11-15 15:37:54 瀏覽:709
rc4android 發布:2024-11-15 15:27:25 瀏覽:742