parent
e25a10b353
commit
2222568065
@ -1,117 +0,0 @@
|
|||||||
///程序启动
|
|
||||||
|
|
||||||
///1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
|
|
||||||
///6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
|
|
||||||
|
|
||||||
///请选择: 0
|
|
||||||
///确定要退出吗?(Y/N): no
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include "data.h"
|
|
||||||
|
|
||||||
enum {
|
|
||||||
CMD_QUIT, // 退出
|
|
||||||
CMD_READ, // 读取
|
|
||||||
CMD_SAVE, // 保存
|
|
||||||
CMD_PRINT, // 打印
|
|
||||||
CMD_QUERY, // 查询
|
|
||||||
CMD_INSERT, // 添加
|
|
||||||
CMD_UPDATE, // 修改
|
|
||||||
CMD_DELETE, // 删除
|
|
||||||
CMD_SORT, // 排序
|
|
||||||
CMD_CHART, // 图表
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// 函数声明
|
|
||||||
void init(void); // 程序启动
|
|
||||||
void quit(void); // 程序退出
|
|
||||||
void display_menu(void); // 显示命令菜单
|
|
||||||
int make_choice(void); // 选择命令
|
|
||||||
int confirm(const char* msg); // 确认
|
|
||||||
|
|
||||||
|
|
||||||
// 主函数
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
init(); // 程序启动
|
|
||||||
for(;;) {
|
|
||||||
display_menu(); //
|
|
||||||
int c = make_choice();
|
|
||||||
switch(c) {
|
|
||||||
case CMD_READ:
|
|
||||||
read_data();
|
|
||||||
break;
|
|
||||||
case CMD_SAVE:
|
|
||||||
save_data();
|
|
||||||
break;
|
|
||||||
case CMD_PRINT:
|
|
||||||
print_data();
|
|
||||||
break;
|
|
||||||
case CMD_QUERY:
|
|
||||||
query_data();
|
|
||||||
break;
|
|
||||||
case CMD_INSERT:
|
|
||||||
add_data();
|
|
||||||
break;
|
|
||||||
case CMD_UPDATE:
|
|
||||||
update_data();
|
|
||||||
break;
|
|
||||||
case CMD_DELETE:
|
|
||||||
delete_data();
|
|
||||||
break;
|
|
||||||
case CMD_SORT:
|
|
||||||
sort_data();
|
|
||||||
break;
|
|
||||||
case CMD_CHART:
|
|
||||||
make_chart();
|
|
||||||
break;
|
|
||||||
case CMD_QUIT:
|
|
||||||
if (confirm("确定要退出吗?")) quit(); // 仅在确认后退出
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
puts("命令错误,请重新选择");
|
|
||||||
break;}
|
|
||||||
}
|
|
||||||
quit(); // 程序退出
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
// 函数定义
|
|
||||||
void init(void)
|
|
||||||
{
|
|
||||||
puts("程序启动");
|
|
||||||
}
|
|
||||||
void quit(void)
|
|
||||||
{
|
|
||||||
puts("程序退出");
|
|
||||||
exit(EXIT_SUCCESS);
|
|
||||||
}
|
|
||||||
void display_menu(void)
|
|
||||||
{
|
|
||||||
printf("\n%d 读取 | %d 保存 | %d 打印 | %d 查询 | %d 添加\n%d 修改 | %d 删除 | %d 排序 | %d 图表 | %d 退出\n\n",
|
|
||||||
CMD_READ,CMD_SAVE,CMD_PRINT,CMD_QUERY,CMD_INSERT,CMD_UPDATE,CMD_DELETE,CMD_SORT,CMD_CHART,CMD_QUIT);
|
|
||||||
}
|
|
||||||
int make_choice(void)
|
|
||||||
{
|
|
||||||
int c; // 用户输入
|
|
||||||
int n = 0; // 正确读入的数据项个数
|
|
||||||
while (n == 0) {
|
|
||||||
printf("请选择:");
|
|
||||||
n = scanf("%d", &c); // 尝试读入整数 c
|
|
||||||
scanf("%*[^\n]"); // 跳过一行中剩余的字符
|
|
||||||
}
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
int confirm(const char* msg)
|
|
||||||
{
|
|
||||||
char c = 'n'; // 默认选择是 no
|
|
||||||
printf("%s(Y/N): ", msg); // 提示输入 yes/no 进行确认
|
|
||||||
scanf(" %c%*[^\n]", &c); // 读取第一个字符,忽略剩余字符
|
|
||||||
return c == 'y' || c == 'Y'; // 返回确认结果
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in new issue