菜單程序c語言
⑴ 如何用c語言做一個菜單,裡面放程序
1、首先新建源文件c.c,用文本編輯器打開。

⑵ C語言 菜單選擇的程序怎麼做 (用switch 語句)
#include<stdio.h>
void do1()
{
int n,i,m;
int a[10]={0};
printf("請輸入要判斷的數:");
scanf("%d",&n);
m=n;
for(i=0;;i++)
{
a[i]=m%10;
m/=10;
if(m==0)
break;
}
for(i=0;a[i]!=0;i++)
{
m+=a[i]*a[i]*a[i];
}
if(n==m)
printf("%d是水仙花數\n",n);
else
printf("%d不是水仙花數\n",n);
}
void do2()
{
int max,n,m,k;
printf("請輸入三個判斷的數字:");
scanf("%d %d %d",&n,&m,&k);
max=n;
if(max<m)
max=m;
if(max<k)
max=k;
printf("最大的數為:%d\n",max);
}
void do3()
{
int i,n,m=1;
printf("請輸入要求的數字:");
scanf("%d",&n);
for(i=1;i<=n;i++)
m*=i;
printf("%d的階乘是%d\n",n,m);
}
int menu()
{
int cn;
printf("請輸入指令:");
scanf("%d",&cn);
return cn;
}
void main()
{
for(; ;)
{
switch(menu())
{
case 1:
do1(); break;
case 2:
do2(); break;
case 3:
do3();break;
}
}
}
我給的這個還不是文件的形式,你需要的是文件的形式的話只要自己稍微改改就可以了,如果不是非要文件的形式,那麼完全符合,純屬手打,也同時鍛煉了自己,求採納
⑶ c語言菜單程序設計
隨便亂寫了一個程序,就是函數間的互相調用。
#include <stdio.h>
#include <stdlib.h>
void menu1()
{
puts("選擇菜單");
puts("1.計算");
puts("2.顯示一些有趣的東西");
int num;
scanf("%d",&num);
switch(num)
{
case 1:system("cls");menu2();break;
case 2:system("cls");menu3();break;
}
}
void menu2()
{
puts("1+1=2");
system("pause");
system("cls");
menu1();
}
void menu3()
{
puts("你真帥!");
system("pause");
system("cls");
menu1();
}
int main()
{
printf("Hello!\n");
menu1();
return 0;
}
⑷ 怎麼用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
/*子函數1*/
fun1() {
printf ("子函數1\n");
}
/*子函數2*/
fun2() {
printf ("子函數2\n");
}
/*子函數3*/
fun3() {
printf ("子函數3\n");
}
/*子函數4*/
fun4() {
printf ("子函數4\n");
}
int main(void) {
int key; /*命令編號*/
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("請輸入命令編號以開啟操作:");
/*輸入命令編號*/
scanf("%d",&key);
printf ("\n");
/*switch函數實現輸入功能序號執行相應函數*/
switch (key) {
case 1: fun1(); break; /*子函數1*/
case 2: fun2(); break; /*子函數2*/
case 3: fun3(); break; /*子函數3*/
case 4: fun4(); break; /*子函數4*/
case 5: printf("程序結束!按任意鍵退出...\n\n"); break;
default:printf("輸入錯誤,請重新輸入!\n\n"); break;
}
/*屏幕暫留*/
if (key!=5) {
printf ("\n");
printf("按Enter鍵繼續...\n");
printf ("\n");
fflush(stdin);
getch ();
}
} while (key!=5);
/*屏幕暫留*/
fflush(stdin);
getch ();
return 0;
}運行結果
⑹ 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語言菜單選項程序

改一下試試:
int main(){
void (void);
void han(void);
void shu(void);
void fen(int x);
void xun(int x);
char chose,s[20];
int n;
for(;;){
printf("1:分支程序
2:循環程序
3:函數程序
4:數組程序
5:指針程序
0:退出
選擇數字:");
scanf("%s",s); chose=s[0];
switch(chose){
case'1':printf("這是個銷售量與其相應等級的分支程序,請輸入相應銷售量!
");
scanf("%d",&n);
fen(n);
break;
case'2':printf("這是個求0——n累加之和的循環結構,輸入n,下面為其值!
");
scanf("%d",&n);
xun(n);
break;
case'3':printf("這是一個求最大公約數的函數程序,請輸入兩個數的值!
");
han();
break;
case'4':printf("這是一個數組逆行排序的數組程序,請輸入10個整數!
");
shu();
break;
case'5':printf("這是一個用指針求一個三個數的數組和的指針程序,請輸入這三個數!
");
();
break;
case'0':exit(1);
default:break;
}
}
return 0;
}
⑻ 菜單程序設計 c語言
#include<stdio.h>
int Menu()
{
char c;
scanf("%c",&c);
switch(c)
{
case 'A':
puts("FunA");
break;
case 'B':
puts("FunB");
case 'C':
puts("FunC");
break;
default:
printf("%d\n",-1);
return -1;
}
return 0;
}
int
main()
{
Menu();
return 0;
}
⑼ C語言 編寫菜單
#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出現的次數 **\n");
printf("\t\t** 2.統計字元串中大小寫字母,數字出現的次數 **\n");
printf("\t\t** 3.將數字翻譯成英語 **\n");
printf("\t\t** 4.結束 **\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("請輸入主字元串:\n");
scanf("%s",a);
k=strlen(a);
printf("請輸入子字元串:\n");
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]!='\0');/*查找完字元數組a結束*/
}
printf("子字元串出現次數:\n%d\n",l);
}
void cout()
{
int n=0,t=0,k=0;
printf("請輸入一個字元串:\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("有大寫字母:\n%d\n",t);
printf("有小寫字母:\n%d\n",n);
printf("有數字:\n%d\n",k);
}
void number()
{
l=num;
printf("請輸入一個數字:(0-10)\n");
fflush(stdin);
scanf("%d",&m);
printf("%d對應的英文是:\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");
}
樓主,終於幫你寫完了,完美測試成功,第一功能因為學藝未精寫了兩個小時,艾,呵呵,不過我還是很開心,如果你有什麼不懂可以HI我,我會幫你解答,呵呵,真的好開心,終於寫出來了
哈哈。。。。
⑽ 怎樣用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]!='
