C语言数学公式查询及计算程序
#include\ <stdio.h>\n#include\ <stdlib.h>\n#include\ <math.h>\n\n#define\ PI\ 3.1415926\n\n\typedef\ struct\ Formula\ {\n\tchar\ name[100];\n\tchar\ content[100];\n\tstruct\ Formula\ next;\n}\ Formula;\n\n\void\ quadraticEquation();\n\void\ pythagoreanTheorem();\n\void\ areaOfTriangle();\n\void\ volumeOfCylinder();\n\void\ SOfBall();\n\void\ volumeOFBall();\n\void\ daoshu();\n\void\ addNewFormula();\n\void\ deleteFormula();\n\n\Formula\ head\ =\ NULL;\n\n\int\ main()\ {\n\tint\ a;\n\twhile\ (1)\ {\n\t printf("\n");\n\t printf("\n请选择以下几个选项\n");\n\t printf("1.常见公式查询\n");\n\t printf("2.部分公式计算\n");\n\t printf("3.退出程序\n");\n\t printf("\n");\n\t printf("您的选项是:\n");\n\t scanf("%d",\ &a);\n\n\t if\ (a\ ==\ 3)\n\t return\ 0;\n\t if\ (a\ ==\ 1\ ||\ a\ ==\ 2)\n\t ;\n\t else\n\t printf("您输入的选项不合法!请重试\n");\n\n\t while\ (a\ ==\ 1)\ {\n\t printf("\n请在以下选项中选择您要查询的公式:\n");\n\t printf("1.常见函数的导数\n");\n\t printf("2.正弦定理\n");\n\t printf("3.余弦定理\n");\n\t printf("4.辅助角定理\n");\n\t printf("5.球的表面积公式\n");\n\t printf("6.球的体积公式\n");\n\t printf("7.添加新公式或查询已添加的公式\n");\n\t printf("0.返回上一级\n");\n\t int\ b;\n\t scanf("%d",\ &b);\n\t switch\ (b)\ {\n\t case\ 0:\n\t b\ =\ 0;\n\t a\ =\ 0;\n\t break;\n\t case\ 1:\n\t daoshu();\n\t break;\n\t case\ 2:\n\t printf("a/sin A=b/sin B=c/sin C=2R\n");\n\t printf("R外三角形的外接圆半径\n");\n\t break;\n\t case\ 3:\n\t printf("cos A=bb+cc-aa/2bc\n");\n\t break;\n\t case\ 4:\n\t printf("asinx+bcosx=√ (a2+b2)sin [x+arctan (b/a)]\n");\n\t break;\n\t case\ 5:\n\t printf("S=4ΠRR\n");\n\t break;\n\t case\ 6:\n\t printf("V=4ΠRRR/3\n");\n\t break;\n\t case\ 7:\n\t addNewFormula();\n\t break;\n\t default:\n\t printf("无效的选项,请重新输入。\n");\n\t break;\n\t }\n\t }\n\n\t int\ choice;\n\n\t while\ (a\ ==\ 2)\ {\n\t printf("\n请选择要查询的数学公式:\n");\n\n\t printf("请输入选项:\n");\n\t scanf("%d",\ &choice);\n\n\t switch\ (choice)\ {\n\n\t default:\n\t printf("无效的选项,请重新输入。\n");\n\t break;\n\t }\n\t }\n\t}\n\treturn\ 0;\n}\n\n//\ 常见导数的函数\n\void\ daoshu()\ {\n\tprintf("(C) ′=0, C为常数\n");\n\tprintf("x ′=1\n");\n\tprintf("(In x) ′=1/x\n");\n\tprintf("sin x ′=cos x\n");\n\tprintf("cos x ′=(-sin x)\n");\n}\n\n//\ 添加新公式函数\n\void\ addNewFormula()\ {\n\tprintf("您已添加的公式有:\n");\n\n\t int\ count\ =\ 0;\n\tFormula\ *current\ =\ head;\n\twhile\ (current\ !=\ NULL)\ {\n\t count++;\n\t printf("%d. %s: %s\n",\ count,\ current->name,\ current->content);\n\t current\ =\ current->next;\n\t}\n\n\tprintf("1.添加新公式\n");\n\tprintf("2.删除已添加公式\n");\n\tprintf("3.退出\n");\n\t int\ x;\n\t scanf("%d",\ &x);\n\t if\ (x\ ==\ 3)\ {\n\t return;\n\t }else\ if\ (x\ ==\ 1)\ {\n\t count++;\n\t printf("请输入要添加的公式名称:\n");\n\t char\ name[100];\n\t scanf("%s",\ name);\n\n\t printf("请输入公式的内容:\n");\n\t char\ content[100];\n\t scanf("%s",\ content);\n\n\t Formula\ *newFormula\ =\ (Formula\ *)\ malloc(sizeof(Formula));\n\t strcpy(newFormula->name,\ name);\n\t strcpy(newFormula->content,\ content);\n\t newFormula->next\ =\ NULL;\n\n\t if\ (head\ ==\ NULL)\ {\n\t head\ =\ newFormula;\n\t }else\ {\n\t Formula\ *current\ =\ head;\n\t while\ (current->next\ !=\ NULL)\ {\n\t current\ =\ current->next;\n\t }\n\t current->next\ =\ newFormula;\n\t }\n\n\t printf("公式已成功添加!\n");\n\t }else\ if\ (x\ ==\ 2)\ {\n\t deleteFormula();\n\t }else\ {\n\t printf("您输入的选项不合法,请重试\n");\n\t }\n}\n\n//\ 删除已添加公式函数\n\void\ deleteFormula()\ {\n\tprintf("您已添加的公式有:\n");\n\n\t int\ count\ =\ 0;\n\tFormula\ *current\ =\ head;\n\twhile\ (current\ !=\ NULL)\ {\n\t count++;\n\t printf("%d. %s: %s\n",\ count,\ current->name,\ current->content);\n\t current\ =\ current->next;\n\t}\n\n\tprintf("请输入要删除的公式序号:\n");\n\t int\ deleteNum;\n\t scanf("%d",\ &deleteNum);\n\n\t if\ (deleteNum\ <=\ 0\ ||\ deleteNum\ >\ count)\ {\n\t printf("无效的序号,请重新输入。\n");\n\t return;\n\t }\n\n\t if\ (deleteNum\ ==\ 1)\ {\n\t Formula\ *temp\ =\ head;\n\t head\ =\ head->next;\n\t free(temp);\n\t printf("公式已成功删除!\n");\n\t return;\n\t }\n\n\t Formula\ *current\ =\ head;\n\t int\ currentNum\ =\ 1;\n\t while\ (current->next\ !=\ NULL\ &&\ currentNum\ <\ deleteNum\ -\ 1)\ {\n\t current\ =\ current->next;\n\t currentNum++;\n\t }\n\n\t Formula\ *temp\ =\ current->next;\n\t current->next\ =\ temp->next;\n\t free(temp);\n\n\t printf("公式已成功删除!\n");\n}\n
原文地址: https://www.cveoy.top/t/topic/pSE5 著作权归作者所有。请勿转载和采集!