#include "stdioh"
//被二级菜单调用的33九个小程序
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;
}
}
1、如果只是想返回已经写好的主菜单页面的话 可以直接在当前函数中结束位置调用主菜单所在的函数,如果想输入e68a847a686964616f31333337616636某值返回的话 就加个输入提示 比如 在其他函数页面加上“输入0返回主菜单”就可以在任意时候 输入0来返回 当然实现的时候也是输入语句加判断语句 加调用主菜单所在函数,调用前先调用清屏函数。
2、例程:
#include<stdioh>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; } }}
#include "stdioh"
double zhouchang(double r){
return 31415926r2;
}
double mianji(double r){
return 31415926rr;
}
double tiji(double r){
return 431416926rrr/3;
}
int main(int argc,char argv[]){
double r;
int f;
printf("\t\t(1)计算圆的周长\n\t\t(2)计算圆的面积\n\t\t(3)计算圆球的体积\n");
printf("请选择: 1, 2,3\n");
scanf("%d",&f);
printf("请输入半径r: r=");
scanf("%lf",&r);
if(f==1)
printf("圆的周长=%f\n",zhouchang(r));
else if(f==2)
printf("圆的面积=%f\n",mianji(r));
else if(f==3)
printf("圆球的体积=%f\n",tiji(r));
return 0;
}
运行样例:
1、首先在打开的C语言编程软件中,编写这个homePage函数。
2、然后对窗体清除初始化。接下来就可以看到这些菜单的命令。
3、然后就可以循环判断,如下图所示。
4、此时,可以输入想要的 *** 作,如下图所示。
5、最后,可以根据自己的需要设置各个命令对应的 *** 作,就完成C语言菜单的设置了。
/本程序没有采用严格的措施防止错误的输入,
所以请在看源程序之后再输入。
运行后会有如下提示:
“请输入你的选择及整数n(用逗号来间隔):”
这时可以输入这样的选择:“1,2”,即求2的立方
“2,125”,即求125的立方根
“3”,退出程序/
#include<stdioh>
#include<mathh>
display();
lifang(n);
lifanggen(n);
main()
{
int choice,number;
display();
printf("请输入你的选择及整数n(用逗号来间隔):\n");
scanf("%d,%d",&choice,&number);
switch(choice)
{
case 1:
lifang(number);
break;
case 2:
lifanggen(number);
break;
case 3:
break;
}
}
display()
{
printf("\n");
printf("1求整数n的立方\n");
printf("2求整数n的立方根\n");
printf("3结束程序\n");
printf("\n");
}
lifang(n)
{
double val=n;
int time=3;
printf("%lf\n\n\n",pow(val, time));/如果将%lf-->%d就不能得出结果/
main();/这里是简单的调用主函数来返回初始选择列表,还有其他方法实现/
}
lifanggen(n)
{
double val=n;
double time=0333333333333333;
/这里为近似的1/3的值,因为要求
一个数字的立方根需要用到求立方根的算法,这里为求省事没有给出
,百度里边可以搜到/
printf("%lf\n\n\n",pow(val,time));
main();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include<stdioh>
#include<windowsh>
//\n1增加 2查询 3删除 4退出\n");
//声明函数
void addnd();
void searchnd();
void printnd();
void charund();
//含 枚举类型 分支switch
enum mmenu{/定义一个名为mmenu的枚举类型
可以让常量有一定的含义(如实现菜单)/
addn=1,//默认是0,定义为1后 后面的成员也会自动变换(排序)
searchn,
printn,
quitn
};
void main(){
enum mmenu input;
while(1){
printf("菜单\n1增加 2查询 3打印 4退出\n");
scanf("%d",&input);
Sleep(500);
system("cls");
switch(input){//case内的情况 只能是整型或字符型的常量
case addn:printf("选中了1增加\n");addnd();break;
case searchn:printf("选中了2查询\n");searchnd();break;
case printn:printf("选中了3打印\n");printnd();break;
case quitn:printf("选中了4退出\n");exit(0);break;
default :printf("不在选项内,请重新输入!\n");break;}
};
}
void addnd(){//增加
printf("//请自定义addnd()函数代码//\n");
}
void searchnd(){
printf("//请自定义searchnd()函数代码//\n");
}
void printnd(){//打印
printf("//请自定义printnd()函数代码//\n");
}
void charund(){
printf("//请自定义charund函数代码//\n");
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)