主菜單c語言
㈠ 怎麼用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語言的,怎麼跳回主菜單
設置一個while大循環,最後switch時候只要不匹配出「退出」功能的輸入,就自動循環回去了
㈢ 怎樣製作一個C語言菜單
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
using namespace std;
void xuanzepaixu() //選擇排序函數
{
printf("待添加,請按任意鍵繼續...");
getchar();
}
void erfenpaixu() //二分查找函數
{
printf("待添加,請按任意鍵繼續...");
getchar();
}
void menu() //主菜單
{
system("cls"); //清屏
printf("\n\t\t\t 菜單\n");
printf("\t\t\t#***********************#\n");
printf("\t\t\t# 1選擇排序 #\n");
printf("\t\t\t# 2二分查找 #\n");
printf("\t\t\t# 3返回 #\n");
printf("\t\t\t# 4---關閉 #\n");
printf("\t\t\t#***********************#\n");
printf("\t\t\t 請選擇(1-4) =:");
}
void main()
{
char select;
while(1)
{
menu();
system("COLOR 9f");
scanf("%c",&select);
if(select=='3')
break; //返回上級菜單
else
{
getchar(); //讀入回車符
if(!isdigit(select)) //如果不是數字字元
{
printf("\n\7Your select may be wrong, must enter the digit!\n");_getch();
}
else
{
switch (select)
{
case '1': xuanzepaixu();break;
case '2': erfenpaixu();break;
case '4':exit(0); //直接退出
default:
{
printf("\n\7\7Your selected digit may be wrong, select again!\n");
_getch();
break;
}
}
}
}
};
}
已經調試過,添加功能函數就行了,當然上面的菜單還是用dos界面列印的,如果想用windows,那就要用MFC了。
㈣ C語言如何實現返回主菜單
如何再返回到主菜單 ?
下面我寫的這個模板你參考下:
void dispMenu()
{
printf("===========菜單================\n");
printf("==1 功能1==============\n");
printf("==2 功能2==============\n");
printf("==0 退出==============\n");
}
void dispMenu1()
{
printf("===========菜單1================\n");
printf("==1 功能11==============\n");
printf("==2 功能12==============\n");
printf("==0 返回上層菜單==============\n");
}
void func1()
{
int cmd;
dispMenu1();
scanf("%d",&cmd);
while(cmd != 0)
{
if(cmd ==1)
func1();
}
}
void main()
{
int cmd;
dispMenu();
scanf("%d",&cmd);
while(cmd != 0)
{
if(cmd ==1)
func1();
dispMenu();
scanf("%d",&cmd);
}
}
㈤ 怎樣用c語言編寫主菜單和子菜單,例如主菜單有123項,選擇1時,1的子菜單有12項,第2項是返回主
控制台?
//...
voidmenu1_1()
{
printf("1.xxx0.返回 ");
switch(getchar())
{
case'0':menu();
//...
}
}
voidmenu1_2(){}
voidmenu1_3(){}
voidmenu()
{
printf("1.xx2.xxx3.xxx0.退出 ");
switch(getchar())
{
case'0':exit(0);
case'1':menu1_1();break;
case'2':menu1_2();break;
case'3':menu1_3();break;
}
}
㈥ C語言的 這樣設計一個主菜單 行嗎
#include <stdio.h>
void main()
{
int choise;
do { //改成do while,這樣可以先執行一遍循環體然後判斷while里的條件。while後面要跟條件!
printf("\n");
printf("\n-------------------------------------");
printf("\n 主菜單 ");
printf("\n 1字母數字轉換 2獎金發放 ");
printf("\n 3列印月歷 4列印水仙花 ");
printf("\n 5查找最大最小數 6退出 ");
printf("\n-------------------------------------");
printf("\n\n 請選擇:");
scanf("%d",&choise); //要先接收數字再選擇!而且scanf里的%d少了右引號。。
switch(choise)
{
case 1:
printf("\n字母數字轉換\n");
break;
case 2:
printf("\n獎金發放\n");
break;
case 3:
printf("\n列印月歷\n");
break;
case 4:
printf("\n列印水仙花\n");
break;
case 5:
printf("\n查找最大最小數\n");
break;
case 6:
printf("\n退出\n"); //沒寫分號。。
break;
// return; 這句不要,沒有這種東西
default:
printf("\n錯誤輸入!\n"); /*switch語句最好寫上default,表示當上述條件都不成立時執 行的語句。*/
}
}while(choise!=6); //choice不等於6的時候循環,等於6時跳出循環。do while最後要寫分號
}
㈦ C語言 如何回到主菜單 求高手指正
#include<stdio.h>
void main()
{
int option;
printf("please choose option 1calculate 2help 3exit\n");
do
{
scanf("%d",&option);
switch (option)
{
case 1:
break;
case 2:
break;
case 3:
break;
}
}while(option!=0);//輸入0退出
}
㈧ c語言中,怎樣實現子菜單向主菜單回退
1、如果只是想返回已經寫好的主菜單頁面的話 可以直接在當前函數中結束位置調用主菜單所在的函數,如果想輸入某值返回的話 就加個輸入提示 比如 在其他函數頁面加上「輸入0返回主菜單」就可以在任意時候 輸入0來返回 當然實現的時候也是輸入語句加判斷語句 加調用主菜單所在函數,調用前先調用清屏函數。
2、常式:
#include<stdio.h>int menu(){ int rt; char str[256]; printf("1 ****\n"); printf("2 ****\n"); printf("3 ****\n"); printf("4 ****\n"); printf("5 退出程序\n"); printf("請選擇,輸入選項前面的數字後回車: "); scanf("%s",str); if ( str[0]>='1' && str[0]<='5' ) rt=str[0]-'0'; else rt=0; return rt;}void f1() {}void f2() {}void f3() {}void f4() {}void main(){ int s,loop=1; while ( loop ) { s=menu(); switch ( s ) { case 1: f1(); break; case 2: f2(); break; case 3: f3(); break; case 4: f4(); break; case 5: loop=0; break; default: break; } }}
㈨ 怎樣用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]!='