| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1574 人关注过本帖
标题:[求助]程序有一个错误 谁帮我看下 谢谢
取消只看楼主 加入收藏
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
结帖率:100%
收藏
 问题点数:0 回复次数:2 
[求助]程序有一个错误 谁帮我看下 谢谢

下面是一个计算器的程序 有一个错误 谁帮我看下 谢谢

#include<iostream.h> #include<math.h> #include<stdlib.h> typedef struct { float shu[10]; int top; }s_shu; s_shu shu; s_shu *shu_s=&shu;

typedef struct { char fu[10]; int top; }s_fu; s_fu fu; s_fu *fu_s=&fu;

int push_s(s_shu *s,float x) { if(s->top>=10) return 0; else { s->shu[++s->top]=x; return 1; } }

int push_f(s_fu *s,char x) { if(s->top>=10) return 0; else { s->fu[++s->top]=x; return 1; } }

char pop_f(s_fu *s) { if (s->top<0) return 0; else { s->top--; return(s->fu[s->top+1]); } }

float pop_s(s_shu *s) { if (s->top<0) return 0; else { s->top--; return(s->shu[s->top+1]); } } char gettop(s_fu *s) { if(s->top<0) return 0; else return(s->fu[s->top]); } class Tpoppy { public: Cpoppy(char a[20],int n); float Calculate(); private: int Fuhao(char fu1); float Jisuan(float a,int c,float b); }; Tpoppy::Cpoppy(char a[20],int n) { int i; float temp1,temp2=0; for(i=n;i>=0;i--) { if(a[i]>='\060') { { if (a[i]<'\060') break; else temp1=float(atoi(&a[i])); } } if(a[i]<'\060') { push_f(fu_s,a[i]);push_s(shu_s,temp1); } } } int Tpoppy::Fuhao(char fu1) { switch(fu1) { case '\057':return 4; case '\052':return 3; case '\055':return 2; case '\053':return 1; default:return 0; } } float Tpoppy::Jisuan(float a,int c,float b) { switch(c) { case 4:a=b/a;break; case 3:a=b*a;break; case 2:a=b-a;break; case 1:a=b+a;break; default:break; } return a; } float Tpoppy::Calculate() { float temp1,temp2; char temp3; temp1=pop_s(shu_s); do { temp2=pop_s(shu_s); temp3=pop_f(fu_s);

if(Fuhao(temp3)>=Fuhao(gettop(fu_s))) { temp1=Jisuan(temp1,Fuhao(temp3),temp2); } if(Fuhao(temp3)<Fuhao(gettop(fu_s))) { push_s(shu_s,Jisuan(pop_s(shu_s),Fuhao(pop_f(fu_s)),temp2)); goto loop; } } } //说错误出在这个地方 但我找不出原因

void main() { char a[20]; int i,n; float t; fu_s->top=0; shu_s->top=0; Tpoppy Apoppy; a[0]='+'; for(i=1;i<20;i++) { cin>>a[i]; if (a[i]==61) break; n=i; } Apoppy.Cpoppy(a,n); t=Apoppy.Calculate();

cout<<endl; for(i=1;i<=n+1;i++) { cout<<pop_f(fu_s)<<pop_s(shu_s); } cout<<endl<<t<<endl; }

E:\c\text\jisqi.cpp(142) : error C2059: syntax error : '}' 执行 cl.exe 时出错.

jisqi.exe - 1 error(s), 0 warning(s)

[此贴子已经被作者于2004-12-20 10:23:45编辑过]

搜索更多相关主题的帖子: shu 计算器 int top 
2004-12-20 10:20
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 

这么都不帮我????


动于心而静如水
2004-12-20 23:42
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 

谢谢各位 特别是yfuy23

又学到了很多东西


动于心而静如水
2004-12-22 17:55
快速回复:[求助]程序有一个错误 谁帮我看下 谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011366 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved