• 大小: 857KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签:

资源简介

利用栈求表达式的值,可供小学生作业,并能给出分数。 完整的课程设计报告,源程序代码.

资源截图

代码片段和文件信息

#include 
#include 
#include  
#include
#include 
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 0
#define ERROR 1

char Table[8][8]={  ‘ ‘‘+‘‘-‘‘*‘ ‘/‘ ‘(‘‘)‘‘#‘      /*运算符优先级表格*/
                            ‘+‘‘>‘‘>‘‘<‘‘<‘‘<‘‘>‘‘>‘
                            ‘-‘‘>‘‘>‘‘<‘‘<‘‘<‘‘>‘‘>‘
                            ‘*‘‘>‘‘>‘‘>‘‘>‘‘<‘‘>‘‘>‘
                            ‘/‘‘>‘‘>‘‘>‘‘>‘‘<‘‘>‘‘>‘
                             ‘(‘‘<‘‘<‘‘<‘‘<‘‘<‘‘=‘‘ ‘
                             ‘)‘‘>‘‘>‘‘>‘‘>‘‘ ‘‘>‘‘>‘
                            ‘#‘‘<‘‘<‘‘<‘‘<‘‘<‘‘ ‘‘=‘
                         };        
char ptr[10]={‘+‘‘-‘‘*‘‘/‘‘(‘‘)‘‘=‘} ;                        /*运算符*/

typedef struct shiti                /*定义表达式*/
{
    char a[20];          /*存放表达式*/
    long result;          /*存放用户输入的答案*/
}xuanti;

typedef struct SqStack1           /*建立数字栈*/

    int *base;
    int *top;
    int stacksize;
}SqStack1;              

typedef struct SqStack2            /*建立运算符栈*/
{
    char *base;
    char *top;
    int stacksize;
}SqStack2;               

void WriteToFile(xuanti *pstuint num);            
void ReadFromFile(xuanti *pstuint num);

void page_title()           /*建立菜单*/
{
    printf(“>>> Math excercises liberary <<<\n\n“);
    printf(“   --Operation Menu--\n“);
    printf(“1 Start the test\n“);
    printf(“2 History of the scores\n“);
printf(“3 add questions\n“);
    printf(“0 exit\n“);
    printf(“******************\n“);
}

void return_confirm()                           /*按任意键返回菜单*/
{
     printf(“Press any key to return !\n“);
     getch();
}

void IntInitStack(SqStack1 *S1)             /*数字栈初始化*/
{
    S1->base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
    if(!S1->base)
        exit(ERROR);
    S1->top=S1->base;
    S1->stacksize=STACK_INIT_SIZE;
}

void CharInitStack(SqStack2 *S2)            /*运算符栈初始化*/
{
    S2->base=(char *)malloc(STACK_INIT_SIZE*sizeof(char));
    if(!S2->base)
       exit(ERROR);
    S2->top=S2->base;
    S2->stacksize=STACK_INIT_SIZE;
}

long IntGetTop(SqStack1 *S1)                /*取数字栈栈顶元素*/

    long e1;
    if((*S1).top==(*S1).base) 
        return 0;
    e1=*((*S1).top-1);
    return e1;
}

char CharGetTop(SqStack2 *S2)            /*取运算符栈栈顶元素*/

    char e2;
    if((*S2).top==(*S2).base) 
        return 0;
    e2=*((*S2).top-1);
    return e2;
}

int IntPush(SqStack1 *S1int e1)              /*入栈*/
{
    *(*S1).top++=e1;
    return OK;
}

int CharPush(SqStack2 *S2char e2)         /*入栈*/
{
    *(*S2).top++=e2;
    return OK;
}

int IntPop(SqStack1 *S1)                         /*出栈*/
{
    int e1;
    if((*S1).top==(*S1).base)
   return 0;
    e1=*--(*S1).top;
    return e1;
}

char CharPop(SqStack2 *S2)                     /*出栈*/
{
    char e2;
    if((*S2).top==(*S2).base)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      33792  2010-07-01 23:23  312008080611140_魏本帅——利用栈求表达式的值\Debug\vc60.idb

     文件      53248  2010-07-01 23:16  312008080611140_魏本帅——利用栈求表达式的值\Debug\vc60.pdb

     文件     196701  2010-07-01 23:16  312008080611140_魏本帅——利用栈求表达式的值\Debug\利用栈求表达式的值.exe

     文件     244836  2010-07-01 23:16  312008080611140_魏本帅——利用栈求表达式的值\Debug\利用栈求表达式的值.ilk

     文件      31969  2010-07-01 23:16  312008080611140_魏本帅——利用栈求表达式的值\Debug\利用栈求表达式的值.obj

     文件     208744  2010-07-01 23:15  312008080611140_魏本帅——利用栈求表达式的值\Debug\利用栈求表达式的值.pch

     文件     558080  2010-07-01 23:16  312008080611140_魏本帅——利用栈求表达式的值\Debug\利用栈求表达式的值.pdb

     文件         28  2010-07-01 23:17  312008080611140_魏本帅——利用栈求表达式的值\markrec.txt

     文件          4  2010-07-01 23:18  312008080611140_魏本帅——利用栈求表达式的值\N_REC.txt

     文件        480  2009-06-22 09:51  312008080611140_魏本帅——利用栈求表达式的值\SHITIKU.txt

     文件      13009  2010-07-01 23:16  312008080611140_魏本帅——利用栈求表达式的值\利用栈求表达式的值.c

     文件     841216  2010-07-02 10:50  312008080611140_魏本帅——利用栈求表达式的值\利用栈求表达式的值.doc

     文件       3545  2010-07-01 23:15  312008080611140_魏本帅——利用栈求表达式的值\利用栈求表达式的值.dsp

     文件        561  2010-07-01 23:24  312008080611140_魏本帅——利用栈求表达式的值\利用栈求表达式的值.dsw

     文件      33792  2010-07-01 23:24  312008080611140_魏本帅——利用栈求表达式的值\利用栈求表达式的值.ncb

     文件      48640  2010-07-01 23:24  312008080611140_魏本帅——利用栈求表达式的值\利用栈求表达式的值.opt

     文件        804  2010-07-01 23:16  312008080611140_魏本帅——利用栈求表达式的值\利用栈求表达式的值.plg

     目录          0  2010-07-03 15:26  312008080611140_魏本帅——利用栈求表达式的值\Debug

     目录          0  2010-07-03 15:27  312008080611140_魏本帅——利用栈求表达式的值

----------- ---------  ---------- -----  ----

              2269449                    19


评论

共有 条评论

相关资源