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 + -
显示快捷键?