- 一、主函数逻辑结构
- 1、启动无限循环
- 2、接收用户操作值
- 3、主函数代码示例
- 二、宏定义声明
- 三、显示操作菜单
在 main
函数中 , 启动一个无限循环 , 不断的接收用户的操作选项 , 根据用户输入的不同的选项 , 执行不同的操作 ;
用户输入的选项 : 0 0 0 退出 , 1 1 1 写出配置 , 2 2 2 读取配置 ;
1、启动无限循环启动无限循环 : 主函数执行后 , 使用
for (;;)
启动无限循环 , 在循环中 , 显示用户输入菜单选项 , 提醒用户输入操作值 ;
2、接收用户操作值接收用户操作值 : 然后根据用户的不同输入 , 进行不同的操作 ;
-
用户输入 0 0 0 则退出程序 ;
-
用户输入 1 1 1 向配置文件 写出 / 更新 键值对数据 ;
-
用户输入 2 2 2 从配置文件 中 根据 键 查询 键值对数据 ;
主函数代码示例 :
/**
* @brief main 主函数入口
*/
void main()
{
// 用户输入的选项 , 0 退出 , 1 写出配置 , 2 读取配置
int user_input;
// 启动无限循环
for (;;)
{
//显示一个菜单
show_menu();
// 从命令行接收 int 值 , 作为菜单选择
scanf("%d", &user_input);
// 根据用户的不同输入 , 进行不同的操作
switch (user_input)
{
case 1: // 写出 或 更新配置项
write_update_config();
break;
case 2: // 读取配置项
read_config();
break;
case 0: // 退出程序
exit(0);
default: // 无法识别的操作 , 提示错误操作 , 继续
printf("Input Error !\n");
break;
}
}
// 执行完毕会后暂停
system("pause");
return ;
}
二、宏定义声明
在程序中 , 常用的值 , 推荐使用宏定义进行声明 , 这样可以避免魔法数出现 ;
// 配置文件名称
#define CONFIG_FILE_NAME "D:/File/config.ini"
三、显示操作菜单
在主函数的无限循环中 , 每次循环 , 都要显示操作菜单 , 提醒用户应该输入的内容 ;
用户输入的选项 : 0 0 0 退出 , 1 1 1 写出配置 , 2 2 2 读取配置 ;
/**
* @brief show_menu
* 显示应用操作菜单
*/
void show_menu()
{
printf("=============================\n");
printf("1 Write Config File\n");
printf("2 Read Config File\n");
printf("0 Quit\n");
printf("=============================\n");
}