C语言编写菜单

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-04
怎么用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("
请按照以下列表选择您想要查看的章节:");
printf("
编号章节
1第一章
2第二章
");
printf("请输入编号进行选择:");
choicemenue1();
}
void choicemenue1()
{
choice1=getch();
switch(choice1)
{
void menuechapter1();
void menuechapter2();
void menue1();
case '1':menuechapter1();break;
case '2':menuechapter2();break;
default:printf("
输入错误!请重新选择!
"),menue1();
}}
void menuechapter1()
{
char choiceex;
printf("
您选择的是第%c章",choice1);
printf("
现在请选择本章节的题目。");
printf("
请按照以下列表选择题目:");
printf("
编号题目编号
1第1题
2第2题
");
printf("请选择:");
switch(choiceex=getch())
{
void c1_1();
void c1_2();
case '1':c1_1();break;
case '2':c1_2();break;
default:
printf("
你个白痴!这也能选错!不让你重选了!");
printf("
按任意键以退出!");
getch();
exit(0);
}
}
void menuechapter2()
{
char choiceex;
printf("
您选择的是第%c章",choice1);
printf("
现在请选择本章节的题目。");
printf("
请按照以下列表选择题目:");
printf("
编号题目编号
1第1题
2第2题
");
printf("
请选择:");
switch(choiceex=getch())
{
void c2_1();
void c2_2();
case '1':c2_1();break;
case '2':c2_2();break;
default:
printf("
你个白痴!这也能选错!不让你重选了!");
printf("
按任意键以退出!");
getch();
exit(0);
}
}
void c1_1()
{
char howtorun;
printf("现在请选择考察方式:");
printf("
编号考察方式
1运行程序
2查看源代码
3返回主菜单
4退出程序
");
printf("请选择:");
switch(howtorun=getch())
{
void runc1_1();
void menue1();
case '1':runc1_1();break;
case '2':printf("
"),system("type \\caidan\\chapter1\\c1_1.c"),printf("
"),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("
Please input two integer numbers:");
printf("a=?,b=?
");
scanf("%d,%d",&a,&b);
max=a>b?a:b;
printf("The max number is %d",max);
}
大概就是这样做的。。

50rmb帮写
私信

#include<stdio.h> 
#include<string.h> 
#include<stdlib.h>
//值传递
void fun1(char a)
{
 a = 'b';
}
//地址传递
char fun2(char* a)
{
 *a = 'a';
 return *a;
}
//动态分配数组
void fun3(char*& a)
{
 a  = (char*)malloc(sizeof(char));
}
char caidan() 

 char choose[5]; 
 printf("
***************************************
"); 
 printf("      ┌──────┐
"); 
 printf("      │ 菜单│
"); 
 printf(" __________________________________
"); 
 printf("│ 1,按值传递    |
"); 
 printf("│ 2,按地址传递  |
"); 
 printf("│ 3,动态数组演示|
"); 
 printf("│ 4,退 出       |
"); 
 printf("└────────────────┙
"); 
 printf("**************************************

"); 
 do 
 { 
  printf("请输入您的选择(1-4):"); 
  scanf("%s",choose); 
 }while(strcmp(choose,"1")&&strcmp(choose,"2")&&strcmp(choose,"3")&&strcmp(choose,"4")); 
 //返回选择的菜单,注意如果输入太长 这里会异常,因为choose[5],只申请了5个字节。 
 return choose[0]; 

void main()
{
 //执行菜单的选择 
 while(1)
 {
  switch(caidan()) 
  { 
  case '1':
   {
    char a = 'a';
    fun1(a);
    //按值传递 内容不变
    break; 
   }
  case '2':
   {
    char b = 'b';
    char a = fun2(&b);
    //按地址传递内容会变
    break; 
   }
  case '3':
   {
    char* p = NULL;
    fun3(p);
    //动态数组分配成功
    break; 
   }
  case '4':exit(0); 
  } 
 }

}


中国电力出版社书号为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<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、_2...
  • c语言写菜单的示例?
    答:int a, b, c; sub(10, 5, &a);// 把10和5分别富值给x,y 把a的地址传个*z在sub中对z指向的a地址富值 sub(7, a, &b);// 把7和a的值分别富值给x,y 把b的地址传个*z在sub中对z指向的b地址富值 sub(a, b, &c);// 把a的值和吧的值分别富值给x,y 把c的地址传个*z在sub中对...
  • 怎么用C语言编写菜单?
    答:printf("现在请选择考察方式:");printf("\n编号\t考察方式\n 1\t运行程序\n 2\t查看源代码\n 3\t返回主菜单\n 4\t退出程序\n");printf("请选择:");switch(howtorun=getch())
  • c语言如何设计二维,三维坐标菜单?
    答:void displayMenu() { printf("=== 坐标菜单 ===\n");printf("1. 二维坐标\n");printf("2. 三维坐标\n");printf("0. 退出\n");printf("===\n");printf("请选择菜单项:");} void twoDimensionalMenu() { printf("=== 二维坐标菜单 ===\n");printf("1. 输入坐标\n");pri...
  • 用c语言写一个简单的菜单程序,一个主函数至少四个子函数急求!!就像这样...
    答:charAnswer[MAX_STR_LEN];doubleScore;boolIsAnswered;}QASNode;//问题库QASNode*g_QASLib[MAX_QAS_LEN];intg_QASIndex=0;///添加boolInsertToLib(char*pQuestion,char*pAnswer,doublescore){if(pQuestion==NULL||strcmp(pQuestion,"")==0||pAnswer==NULL)returnfalse;QASNode*pNewNode=(QAS...
  • 怎么写简单的C语言菜单?
    答:"\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")
  • 用C语言编写一个菜单程序 输入0至4,以进入相应选项,0表示退出,1-4分别...
    答:include<stdio.h> void main(){ int Selection;printf("0.退出\t1.乘法\t2.除法\t3.加法\t4.减法\n");printf("请输入操作:");scanf("%d",&Selection);switch(Selection){ case 1://乘法 break;case 2://除法 break;case 3://加法 break;case 4://减法 break;case 5:return;} ...
  • 如何用C语言做一个菜单,里面放程序
    答:1、首先新建源文件c.c,用文本编辑器打开。2、输入图片里面的代码,编辑确认无误之后保存。3、编写好控制台批处理文件,设置好环境变量,主要是PATH,INCLUDE和LIB三个环境变量!编辑好之后保存为bat后者cmd后缀文件。4、双击打开刚才设置好的批处理文件,在里面输入cl **.c,自动编译链接,生成exe文件...
  • 用c语言编写一个程序菜单:1、判断一个数是否为水仙花数;2.求三个数的...
    答:int a,b,c,max;printf("请输入三个整数:\n");scanf("%d%d%d",&a,&b,&c);if(a>=b) max=a;if(a<=b)max=b;if(max<=c)max=c;printf("三个数中最大的是:%d\n",max);} void fun3(){ char s[10];int i,n;printf("请输入要判定的数(整数):");scanf("%s",s);n=...
  • 设计一通过 c语言 个简单实用的菜单,通过菜单选择不同的菜单项并实现...
    答:include<stdio.h>#include<windows.h>//\n1.增加 2.查询 3.删除 4.退出\n");//声明函数void addnd();void searchnd();void printnd();void charund();//含 枚举类型 分支switchenum mmenu{/*定义一个名为mmenu的枚举类型 可以让常量有一定的含义(如实现菜单)*/addn=1,//默认是0,...