C语言实现用户自定义公式计算程序
#include <stdio.h>\n#include <math.h>\n#include <stdlib.h>\n\n// 自定义公式结构体\ntypedef struct {\n char expression[100];\n} Formula;\n\n// 存储用户添加的公式数组\nFormula formulas[10];\nint formulaCount = 0;\n\n// 解析并计算公式\ndouble evaluateFormula(char* expression, double x) {\n // 在此处解析公式并计算结果\n // 这里只实现了简单的加减乘除运算\n double result = 0.0;\n char operator;\n double operand;\n\n while (*expression) {\n if (*expression == '+' || *expression == '-' || expression == '' || *expression == '/') {\n operator = expression;\n } else {\n operand = atof(expression);\n\n switch (operator) {\n case '+':\n result += operand;\n break;\n case '-':\n result -= operand;\n break;\n case '':\n result *= operand;\n break;\n case '/':\n result /= operand;\n break;\n default:\n result = operand;\n break;\n }\n }\n\n expression++;\n }\n\n return result;\n}\n\nint main() {\n char choice;\n double x;\n\n do {\n printf("选择操作:\n");\n printf("1. 添加新公式\n");\n printf("2. 计算公式\n");\n printf("3. 退出\n");\n printf("请选择:");\n scanf(" %c", &choice);\n\n switch (choice) {\n case '1':\n if (formulaCount < 10) {\n printf("请输入新公式:");\n scanf(" %[^ ]", formulas[formulaCount].expression);\n formulaCount++;\n printf("公式添加成功!\n");\n } else {\n printf("公式数量已达到上限,无法添加更多公式。\n");\n }\n break;\n case '2':\n if (formulaCount > 0) {\n printf("请输入需要计算的公式下标(0-%d):", formulaCount - 1);\n int index;\n scanf("%d", &index);\n\n if (index >= 0 && index < formulaCount) {\n printf("请输入变量 x 的值:");\n scanf("%lf", &x);\n\n double result = evaluateFormula(formulas[index].expression, x);\n printf("公式计算结果为:%lf\n", result);\n } else {\n printf("无效的公式下标。\n");\n }\n } else {\n printf("当前没有可用的公式。\n");\n }\n break;\n case '3':\n printf("程序已退出。\n");\n break;\n default:\n printf("无效的选项,请重新选择。\n");\n break;\n }\n } while (choice != '3');\n\n return 0;\n
原文地址: https://www.cveoy.top/t/topic/pRVA 著作权归作者所有。请勿转载和采集!