📄 menu.c
字号:
/**************************************************************
程序说明 :FreeDev输入输出和菜单模块
类 型 :Nios II
说 明 :
测试系统菜单相关函数
**************************************************************/
#include <stdio.h>
#include <alt_types.h>
#include <io.h>
#include <system.h>
#include <string.h>
/*********************************************
函数名:MenuHeader(void)
功 能:菜单头显示函数
输 入:
返 回:
备 注:
**********************************************/
void MenuHeader(void)
{
printf("\n\n");
printf("数字音频处理控制系统实验. <---->\n");
printf("Audio音频开发系统\n");
}
/*********************************************
函数名:MenuBegin(char *title)
功 能:显示菜单开始
输 入:
返 回:
备 注:
**********************************************/
void MenuBegin( char *title )
{
printf("\n\n");
printf("----------------------------------\n");
printf("%s\n",title);
printf("----------------------------------\n");
}
/*********************************************
函数名:MenuItem(char letter, char *name )
功 能:显示菜单项
输 入:
返 回:
备 注:
**********************************************/
void MenuItem( char letter, char *name )
{
printf(" %c: %s\n" ,letter, name);
}
/*********************************************
函数名:MenuEnd( char lowLetter, char highLetter )
功 能:显示菜单结束并接收用户输入
输 入:
返 回:
备 注:
**********************************************/
int MenuEnd( char lowLetter, char highLetter )
{
static char entry[3];
static char ch = 23;
printf(" q: Exit\n");
printf("----------------------------------\n");
printf("\nSelect Choice (%c-%c): [Followed by <enter>]",lowLetter,highLetter);
fgets(entry, sizeof(entry), stdin);
if(sscanf(entry, "%c\n", &ch))
{
if( ch >= 'A' && ch <= 'Z' )
ch += 'a' - 'A';
if( ch == 27 )
ch = 'q';
if(ch != 'q' && ( ch < lowLetter && ch > highLetter ))
{
printf("\n -ERROR: %c is an invalid entry. Please try again\n", ch);
}
}
return ch;
}
/*********************************************
函数名:ShowSelect( char lowLetter, char highLetter )
功 能:显示菜单结束并接收用户输入
输 入:
返 回:
备 注:
**********************************************/
int ShowSelect(char *prompt,char sel1, char sel2 )
{
static char entry[3];
static char ch = 23;
while(1){
printf("----------------------------------\n");
printf("%s",prompt);
printf("\n请选择(%c-%c): [回车确认]",sel1,sel2);
fgets(entry, sizeof(entry), stdin); //获取屏幕字符
if(sscanf(entry, "%c\n", &ch))
{
if( ch == sel1 || ch == sel2)
break;
}
}
return ch;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -