// 主函数 int main() { int i; char cmd[20]; // 打印提示信息及支持的所有命令 printf("Welcome to Calculator \n"); printf("========================= \n\n"); print_all_functions(); printf("========================= \n\n"); // 进入命令处理主循环 while(1) { // 输入操作命令 printf("Enter a command\n"); fgets(cmd, 20, stdin); // 根据操作命令循环查找对应的结构体元素 for (i = 0 ; i < NB_FUNCS ; i++) { if (functions[i].key == cmd[0]) { // 找到正确的处理函数 printf("Calling command: %s\n", functions[i].name); // 调用处理函数 functions[i].compute(); // 跳出for循环,继续while循环 break; } } } }
int main(){ int i; char cmd[20]; printf("Welcome to Calculator 2.0 \n"); printf("========================= \n\n"); print_all_functions(); printf("========================= \n\n"); while(1) { printf("Enter a command\n"); fgets(cmd, 20, stdin); for (i = 0 ; i < NB_FUNCS ; i++) { if (functions[i].key == cmd[0]) { printf("Calling command: %s\n", functions[i].name); functions[i].compute(); break; } } } }
void cmd_line_help(const char *args) { console_printf("help:\nAvailable terminal commands:\n"); print_all_functions(); console_printf("\nFor help with a specific command, type \"<command> --help\"\n"); }