如何用c语言编写菜单项

Python053

如何用c语言编写菜单项,第1张

在C语言中,通常菜单有系统菜单、弹出菜单、下拉菜单等,不知道你要做哪一种。

菜单的制作,通常需要一下几个步骤:

1、定义菜单项目数据结构;

2、定义你要做的弹出菜单或下拉菜单或...的数据结构;

3、建立菜单内容;

4、加载菜单内容;

5、在某个位置上显示(包含保存原有内容以备关闭菜单后恢复覆盖的屏幕,测试菜单显示区域根据实际情况调整显示区域);

6、光标移动,菜单项目颜色变化;

7、执行选中菜单项程序

8、关闭菜单。

如果纯粹用C语言写,写一个通用的,估计至少要上千行程序代码,以前做过,后来不再使用C语言了,放在机器上,就找不到了。要不就放上去了。

#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("\n***************************************\n") 

 printf("      ┌──────┐\n") 

 printf("      │ 菜单│\n") 

 printf(" __________________________________\n") 

 printf("│ 1,按值传递    |\n") 

 printf("│ 2,按地址传递  |\n") 

 printf("│ 3,动态数组演示|\n") 

 printf("│ 4,退 出       |\n") 

 printf("└────────────────┙\n") 

 printf("**************************************\n\n") 

 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) 

  } 

 }

}

改一下试试:

int main() {

void zhi(void)

void han(void)

void shu(void)

void fen(int x)

void xun(int x)

char chose,s[20]

int n

for() {

printf("1:分支程序\n2:循环程序\n3:函数程序\n4:数组程序\n5:指针程序\n0:退出\n\n选择数字:")

scanf("%s",s)chose=s[0]

switch(chose) {

case'1':printf("这是个销售量与其相应等级的分支程序,请输入相应销售量!\n")

scanf("%d",&n)

fen(n)

break

case'2':printf("这是个求0——n累加之和的循环结构,输入n,下面为其值!\n")

scanf("%d",&n)

xun(n)

break

case'3':printf("这是一个求最大公约数的函数程序,请输入两个数的值!\n")

han()

break

case'4':printf("这是一个数组逆行排序的数组程序,请输入10个整数!\n")

shu()

break

case'5':printf("这是一个用指针求一个三个数的数组和的指针程序,请输入这三个数!\n")

zhi()

break

case'0':exit(1)

default:break

}

}

return 0

}