c語言菜單
❶ 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語言編寫菜單
對於窗口組件菜單,需要根據不同平台,通過圖形編程介面,進行菜單的編制。
常式:
#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]!='