head.h

来自「本程序是完成一个函数计算器的功能,通过输入表达式,然输入表达的未知数,则可以计算」· C头文件 代码 · 共 67 行

H
67
字号
#include <stdio.h>
#include <stdlib.h>
#include "math.h"
#include "string.h"
#include <windows.h >

#define PI  3.1415926
#define  MAX  50  //定义算术表达式最长为50
#define LEN sizeof(listExpression)  /*结构体listExpression内存容量*/
#define  COU_EXP_MAX  50
#define  BUFLEN    50    /* 缓冲区最大字符数 */
#define  FileName  "Expressions.txt"

//int s_countExpression = 0 ;
static int s_numberExpression = 0 ;
static int s_firstStore = 1 ;
//FILE *fp ;
//char string[MAX] ;     //存放算术表达式,长度为MAX=50
//float result ;        //算术表达式的值


//typedef enum boolean{false1 , true1}   boolean ; 
typedef struct Expression
 {
	  int g_iNumber ;
	  char *p_Expression ;
 }expression; // 表达式结构体
typedef struct listExpression
{
	int g_iNumber ;
	char *p_Expression ;
	struct listExpression *next ;
}listExpression; //表达式链表结构体
typedef	struct Bolan          
{
	int     flag;     //标识该节点是数值、运算符还是函数:0为数值,1为运算符,2为函数
	char   value;    //数值值
	char    oper;     //运算符 +,-,*,/,~(取反),(,)
	int     func;     //函数的编号,各函数编号及功能见开始部分
	double digit;   //输入未知数的数值		
}Bolan; //存放波兰表达式的结构
//Bolan bolan[MAX];     //存放转化后的波兰表达式,长度为MAX=50

void MainMenu() ;                                //主菜单
void SubMenu() ;                                 //子菜单
void InputExpression();                           //输入表达式函数
int CheckFuncName(char *str, int  &i, char *s);    //检查字符窜str的第i个位置开始的后面字符是否与字符窜s相匹配,是的话将i=i+len(s),并返回1,否则返回0
int CheckExpression(char *new_exp) ;              //检查输入的表达式是否正确,包括括号是否配对、库函数是否正确,若正确,返回值为1;否则返回0;
int CheckLoginFileOrExpression() ;                //判断是否是从文件登入还是公式登入
int ReadExpression(FILE *fpt,expression *rpt);    /*从指定文件读入一个公式 */
void WriteExpression(FILE *fpt,expression *rpt);  /* 对指定文件写入一个公式*/
void DisplayExpression(expression *rpt);         /* 显示一个公式 */
void ViewExpression();                           //显示文件夹中前10个公式
void ViewExpression2();                         //显示文件夹中次10个公式
void ViewExpression3(int page_no);              //显示文件夹中全部公式
void ListExprssion(char *fname);                /* 列表显示表达式 */
listExpression *MakeList(char *fname);          /* 构造链表 */
int countExpression(listExpression *node);		/*统计文件中表达式个数*/
int JudgeExpressionNumber(int no , FILE *fp);  /*判断输入公式序号是否已存在文件夹中*/
void Concatenate(listExpression *a, listExpression *b) ; /*把输入公式链接到链表中*/
void SaveExpression() ;                                  /*保存公式*/
int SerchExpression(int no , FILE *fp) ;                /*按公式序号查找公式 */
void RemoveExpression() ;                               /*公式的删除*/
int TranslationRPorland(char *in_exp ) ; /*把公式转化为波兰表达式*/
int CalcMain(void) ;                                    /*公式的运算*/
void GenerateFileFormat()  ;              /*文件格式化*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?