c語言中怎樣建立2個級聯菜單,c中如何編寫一個多級菜單

本文目錄一覽:

請教C語言中如何編寫二級菜單

用switch和goto吧,可能會亂點,但是個簡單的辦法.

level1:printf(“…”);

/*程序一級菜單*/

switch(scanf(“%d”,choice),choice){

case

1:printf(“…”);

/*程序二級菜單*/

scanf(“%d”,choice);

if(4==choice)goto

level1;

else

switch(choice){

/*…*/

}

break;

case

2:

/*…*/

怎麼實現級聯菜單?

對於一個多條件的查詢,我們希望在選擇了一個菜單項後,另外一個下拉菜單能夠根據我們所選擇的第一個菜單項顯示其所有子菜單項。這就是本文提到的級聯菜單問題。級聯菜單實現的方法有很多,本文根據筆者所做的一個小實驗,簡單的介紹一下如何通過XML來實現級聯菜單的功能。

首先要定義一個XML文件,用以存放級聯菜單的信息,我們命名為query.xml,其代碼如下:

?xml version=”1.0″ encoding=”gb2312″?

info

course

text軟件工程/text

value1/value

/course

course

text數據結構/text

value2/value

/course

course

text操作系統/text

value3/value

/course

course

text計算機組成原理/text

value4/value

/course

teacher

text張老師/text

value1/value

/teacher

teacher

text李老師/text

value2/value

/teacher

teacher

text劉老師/text

value3/value

/teacher

teacher

text王老師/text

value4/value

/teacher

class

text一班/text

value1/value

/class

class

text二班/text

value2/value

/class

class

text三班/text

value3/value

/class

class

text四班/text

value4/value

/class

/info

然後再創建一個HTML文件,命名為query.html

在query.html里,首先創建一個表單

form id=”queryForm”

select id=”keyword” name=”keyword” onChange=”showDetail()”

option value=”default”default/option

option value=”1″課程/option

option value=”2″教師/option

option value=”3″班級/option

/select

select id=”content” name=”content” onChange=”showValue()”

option value=”default”default/option

/select

/form

從上面的代碼可以看出,當我們選擇第一級菜單時,會觸發showDetail方法,這是通過JavaScript來實現的,因此我們還需要定義一個showDetail方法,其實現代碼如下:

function showDetail(){

var document_xml = new ActiveXObject(“Microsoft.XMLDOM”);

document_xml.load(“query.xml”); //加載info.xml

var RootNode = document_xml.documentElement; //獲得info.xml文檔的根節點

var keyword = document.getElementByIdx(“keyword”).value;

var details; //用以存放二級菜單內容,是一個數組對象

var content = document.getElementByIdx(“content”);

content.options.length = 0;//先清空

if(keyword==”default”){

var option = new Option(“default”,”default”);

content.add(option);

}else{

if(keyword==”1″){

details = document_xml.getElementsByTagName_r(“course”);

}else if(keyword==”2″){

details = document_xml.getElementsByTagName_r(“teacher”);

}else if(keyword==”3″){

details = document_xml.getElementsByTagName_r(“class”);

}

for(var i=0;idetails.length;i++){

var xText = details[i].childNodes[0].firstChild.nodeValue; //獲取文本

var xValue = details[i].childNodes[1].firstChild.nodeValue; //獲取文本以應的值

var option = new Option(xText,xValue);

content.add(option);

}

}

}

從上面的代碼可以看出,showDetail方法會根據一級菜單選項的不同顯示對應的子菜單。這裡涉及到通過JavaScript來讀取xml文件的操作,可以參見源碼的注釋部分,記得結合xml文件里的內容一起看哦。

二級菜單顯示出來之後,我們就可以進行選擇了,選擇之後,會調用showValue方法,把選到的子菜單項的value和text顯示出來。showValue的定義如下:

function showValue(){

var content= document.getElementByIdx(“content”);

var contentText = content.options[content.selectedIndex].text; //獲取text值

var contentValue = document.getElementByIdx(“content”).value; //獲取文本

alert(contentValue+” “+contentText);

}

在這個方法里,要注意option當中text值的獲取,它與select表單域的value的獲取方式不大一樣,詳見代碼及其注釋。

把兩個方法封裝在head/head之間,記得要寫上script language=”javascript”和/script了,然後你直接打開query.xml就可以看到效果了。

不知是否對樓主有用,希望對樓主有所幫助。

C語言二級菜單

#include “stdio.h”

//被二級菜單調用的3*3九個小程序

fun1_1()

{}

fun1_2()

{}

fun1_3()

{}

fun2_1()

{}

fun2_2()

{}

fun2_3()

{}

fun3_1()

{}

fun3_2()

{}

fun3_3()

{}

//被主函數調用的3個程序,每個程序可分別調用三個函數(第二級菜單)

fun1()

{

int x;

printf(“菜單二\n”);

printf(“1. 1-1 xxx\n”);

printf(“2. 1-2 yyy\n”);

printf(“3. 3-3 zzz\n”);

printf(“\n請選擇:”);

scanf(“%d”,x);

switch(x)

{

case 1 : fun1_1();break;

case 2 : fun2_2();break;

case 3 : fun3_3();break;

}

}

fun2()

{

int x;

printf(“菜單二\n”);

printf(“1. 2-1 xxx\n”);

printf(“2. 2-2 yyy\n”);

printf(“3. 2-3 zzz\n”);

printf(“\n請選擇:”);

scanf(“%d”,x);

switch(x)

{

case 1 : fun2_1();break;

case 2 : fun2_2();break;

case 3 : fun2_3();break;

}

}

fun3()

{

int x;

printf(“菜單二\n”);

printf(“1. 3-1 xxx\n”);

printf(“2. 3-2 yyy\n”);

printf(“3. 3-3 zzz\n”);

printf(“\n請選擇:”);

scanf(“%d”,x);

switch(x)

{

case 1 : fun3_1();break;

case 2 : fun3_2();break;

case 3 : fun3_3();break;

}

}

//主函數,可調用3個函數(一級菜單)

main()

{

int x;

printf(“菜單一\n”);

printf(“1 xxx\n”);

printf(“2 yyy\n”);

printf(“3 zzz\n”);

printf(“\n請選擇:”);

scanf(“%d”,x);

switch(x)

{

case 1 : fun1();break;

case 2 : fun2();break;

case 3 : fun3();break;

}

}

用C語言怎麼寫一個二級菜單呢,可以在液晶上顯示,謝謝!!!

#includestdio.h

#includestdlib.h

int main()

{ void menu();

printf(“\n\n\n\n\n\n\t\t\t歡 迎 使 用 通 訊 錄 管 理 系 統”);

printf(“\n\n\n\t\t\t\t\t製作人:*******”);

printf(“\n\n\t\t\t\t\t2012年2月18日”);

printf(“\n\n\t\t\t\t\tVC6.0運行通過”);

printf(“\n\n\n\t按回車進入主菜單:”);

getchar();

menu();

return 0;

}

void menu()

{

system(“cls”);

printf(“\t***********************************************************\n”);

printf(“\t\t********************主菜單******************\n”);

printf(“\t***********************************************************\n”);

printf(“\t請選擇以下功能:\n\n”);

printf(“\t1:登記、添加同學信息\n”);

printf(“\t2:查看同學信息\n”);

printf(“\t3.排序同學信息\n”);

printf(“\t4:修改同學信息\n”);

printf(“\t5:刪除同學信息\n”);

printf(“\t6:查詢同學信息\n”);

printf(“\t7:使用說明幫助\n”);

printf(“\t8:退出系統\n”);

printf(“\n\n\t溫馨提示:先進入功能–7,了解使用說明\n\n”);

}

再在menu()函數中用switch語句寫選擇

C語言結構體實現多級菜單的困惑,請高手解答

missing ‘;’ before ‘code’ :在code前面少了一個分號

但看你代碼是沒有問題的。

應該是你在頭文件里的宏定義多了個分號 或者少了個分號

原創文章,作者:NQFG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/140741.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NQFG的頭像NQFG
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論