谁帮我看看这个c语言程序啊谢谢(高分求助)

#include<math.h>#include<stdio.h>#include<stdlib.h>#include<string>#include<iostream>... #include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<iostream>
#include<cmath>
#include<cstdlib>
using namespace std;
#define MAX 1000
#include "Stack.h"
#define TRUE 1
#define FALSE 0
extern c;
PSegStack createEmptyStack_seq(int m)
{
PSeqStack pastack = (PSeqStack)malloc(sizeof(struct SeqStack));
if (pastack != NULL)
{
pastack->s = (DataType *)malloc(sizeof(DataType) * m);
if (pastack->s)
{
pastack->MAXNUM = m;
pastack->t = -1;
return (pastack);
}
else
free pastack;
}
printf("Out of space!\n");
return NULL;
}
int infixtoSuffix(const char * infix,char * suffix)
{
int state_int=FALSE;
char c,c2;
PSepStack ps=createEmptyStack_seq();
int i,j=0;
if(infix[0]=='\0')return FALSE;
for(i=0;infix[i]!='\0';i++)
c=infix[i];
switch(c)
{
case' ':case'\t':case'\n':
if(state_int==TRUE)suffix[j++]=' ';

state_int=FALSE;
break;
case'0':case'1':case'2':case'3':case'4':
case'5':case'6':case'7':case'8':case'9':
state_int=TRUE;
suffix[j++]=c;
break;
case'(':
if(state_int==TRUE)suffix[j++]=' ';

state_int=FALSE;
push_seq(ps,c);
break;
case')':
if(state_int==TRUE)suffix[j++]=' ';
state_int=FALSE;
c2=')';
while(!isEmptyStack_seq(ps))
{
c2=top_seq(ps);
pop_seq(ps);
if(c2=='(')
{break;}
suffix[j++]=c2;
}
if(c2!='('){
free(ps);
suffix[j++]='\0';
return FALSE;
}
break;
case'+':case'-':
if(state_int==TRUE)suffix[j++]=' ';

state_int=FALSE;
while(!isEmptyStack_seq(ps)){//栈不空时
c2=top_seq(ps);
if(c2=='+'||c2=='-'||c2=='*'||c2=='/'){
pop_seq(ps);
suffix[j++]=c2;
else break;
}
push_seq(ps,c);
break;
case'*':case'/':
if(state_int==TRUE)suffix[j++]=' ';
state_int=FALSE;
if(!isEmptyStack_sep(ps)){
c2=top_seq(ps);
if(c2=='*'||c2=='/'){
pop_seq(ps);
suffix[j++]=c2;
}
}
push_seq(ps,c);
break;
default:
free(ps);
suffix[j++]='\0';
return FALSE;
}
}
if(state_int==TRUE)suffix[j++]=' ';
while(!isEmptyStack_seq(ps)){
c2=top_seq(ps);
pop_seq(ps);
if(c2=='(')){
free(ps);
suffix[j++]='\0';
return FALSE;
}
suffix[j++]=c2;
}
free(ps);
suffix[j++]='\0';
return TRUE;
}
(上面的是程序,下面的是报错提示)
C:\Users\yjj\Documents\working\数结\third\1.cpp(14) : error C2146: syntax error : missing ';' before identifier 'createEmptyStack_seq'
C:\Users\yjj\Documents\working\数结\third\1.cpp(14) : error C2501: 'PSegStack' : missing storage-class or type specifiers
C:\Users\yjj\Documents\working\数结\third\1.cpp(14) : fatal error C1004: unexpected end of file found
(这个是报错)
哪位高人帮我看下是什么原因啊
展开
 我来答
无痕月亮
2010-05-14 · TA获得超过209个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:112万
展开全部
高人谈不上,小菜一个,只是你是一个小小菜。
你前面包含了#include "Stack.h"这个头文件,但是我怀疑你没有写头文件,所以你不能使用。
我估计你是参考人家某书上,写下来的。所以你先把头文件写好了,再包含进来!
903896940
2010-05-11 · TA获得超过240个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:324万
展开全部
晕死
你这个PSegStack结构体根本没有预先定义
肯定会报错啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pfzq303
2010-05-13 · TA获得超过172个赞
知道答主
回答量:98
采纳率:0%
帮助的人:40.7万
展开全部
你有些函数和数据没写全,我帮着补上了,还有就是些细节上没注意:
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<iostream>
#include<cmath>
#include<cstdlib>
using namespace std;
#define MAX 1000
//#include "Stack.h"
#define TRUE 1
#define FALSE 0
extern c;
typedef char DataType; //!
struct Stack{ //!
DataType *s;
int t;
int MAXNUM;
};

typedef Stack * PSeqStack; //!
PSeqStack createEmptyStack_seq(int m)
{
PSeqStack pastack = (PSeqStack)malloc(sizeof(struct Stack)); //!
if (pastack != NULL)
{
pastack->s= (DataType *)malloc(sizeof(DataType) * m);
if (pastack->s)
{
pastack->MAXNUM = m;
pastack->t = -1;
return (pastack);
}
else
free (pastack); //!
}
printf("Out of space!\n");
return NULL;
}

void push_seq(PSeqStack ps,DataType ch) //!
{
ps->t++;
ps->s[ps->t]=ch;
}

bool isEmptyStack_seq(PSeqStack ps) //!
{
return ps->t==-1;
}

DataType top_seq(PSeqStack ps) //!
{
return ps->s[ps->t];
}

void pop_seq(PSeqStack ps) //!
{
if(ps->t!=-1)
ps->t--;
else return;
}

int infixtoSuffix(const char * infix,char * suffix)
{
int state_int=FALSE;
char c,c2;
PSeqStack ps=createEmptyStack_seq(MAX);
int i,j=0;
if(infix[0]=='\0')return FALSE;
for(i=0;infix[i]!='\0';i++)
{
c=infix[i];
switch(c)
{
case' ':case'\t':case'\n':
if(state_int==TRUE)suffix[j++]=' ';
state_int=FALSE;
break;
case'0':case'1':case'2':case'3':case'4':
case'5':case'6':case'7':case'8':case'9':
state_int=TRUE;
suffix[j++]=c;
break;
case'(':
if(state_int==TRUE)suffix[j++]=' ';

state_int=FALSE;
push_seq(ps,c);
break;
case')':
if(state_int==TRUE)suffix[j++]=' ';
state_int=FALSE;
c2=')';
while(!isEmptyStack_seq(ps))
{
c2=top_seq(ps);
pop_seq(ps);
if(c2=='(')
{break;}
suffix[j++]=c2;
}
if(c2!='('){
free(ps);
suffix[j++]='\0';
return FALSE;
}
break;
case'+':case'-':
if(state_int==TRUE)suffix[j++]=' ';

state_int=FALSE;
while(!isEmptyStack_seq(ps)){//Õ»²»¿Õʱ
c2=top_seq(ps);
if(c2=='+'||c2=='-'||c2=='*'||c2=='/'){
pop_seq(ps);
suffix[j++]=c2;
}//!
else break;
}
push_seq(ps,c);
break;
case'*':case'/':
if(state_int==TRUE)suffix[j++]=' ';
state_int=FALSE;
if(!isEmptyStack_seq(ps)){
c2=top_seq(ps);
if(c2=='*'||c2=='/'){
pop_seq(ps);
suffix[j++]=c2;
}
}
push_seq(ps,c);
break;
default:
free(ps);
suffix[j++]='\0';
return FALSE;
}
}
if(state_int==TRUE)suffix[j++]=' ';
while(!isEmptyStack_seq(ps)){
c2=top_seq(ps);
pop_seq(ps);
if(c2=='('){
free(ps);
suffix[j++]='\0';
return FALSE;
}
suffix[j++]=c2;
}
free(ps);
suffix[j++]='\0';
return TRUE;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qqtangzr2
2010-05-12
知道答主
回答量:19
采纳率:0%
帮助的人:10.9万
展开全部
不会。。。。。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式