怎么从文件中读取方程并求出方程的解

问题是
从文件中读取方程并求解

问题相关代码,请勿粘贴截图

#include<stdio.h>
#include<stdlib.h>
#define LINE 1024
char *ReadData(FILE *fp,char *buf)
{
    return fgets(buf,LINE,fp);//读取一行到buf 
 } 
 
 const double eps=1e-6;
  
 double f(char *p)//定义函数 
     {
     FILE*fp;
     char filename[20];
     printf("input the file name:");//输入文件名 
     gets(filename);
     if((fp=fopen(filename,"r"))==NULL)
     {
         printf("open file error!!\n");//打开失败 
         return 0;
     }
     char* buf;
     buf=(char*)malloc(LINE*sizeof(char));
     while(!p){
         p=ReadData(fp.buf);//读数据 
         /*if(!p)
         break;*/
     }
     return *p;
     }
     
运行结果及报错内容

p=ReadData(fp.buf);//读数据

我的解答思路和尝试过的方法
我想要达到的结果

对方程求解没什么问题,主要是从文件中读取方程并求解这个过程不太清楚

表达式解析,这个可不是个简单的事情呢。
而且方程也要分类型吧,一次,二次,指数,对数?要做个通用的?那可不简单,几乎等于自己写个matlab的大模块了。