寂寞の落烨 寂寞の落烨
Change
关注数: 9 粉丝数: 254 发帖数: 1,698 关注贴吧数: 21
大神帮看看这段代码 想编写一个计算器程序,现在想实现的目的是将键盘输入的算式存到*Equa中,题目要求不能限制算式的长度,所以写了下面这段代码,vc60中编译通过,运行时提示0xc0000005,access violation,初学者,什么都不懂,不知道应该怎么才能解决,弄了一上午了也没弄好 // 设计一个简单的计算器类,要求: // (1)从键盘读入计算式; // (2)可以进行加,减,乘,除运算; // (3)运算要有优先级; // (4)用户可以按任何运算符的出现顺序进行输入; // (5)不限定用户输入的计算式的长度; // (6)有排错功能,当用户输入错误时提示用户; #include "stdafx.h" #include "iostream" #include "string" class Calc { private: double *Numb;//储存数字 char *Symb;//储存符号 char *Equa;//储存输入的字符串 public: void input() { char a[10],c[10]; char flag;//用于判断字符串结束 int i; for(i=0;i<10;i++) { cin>>flag; if(flag=='=') { strcpy(Equa,a); } else a[i]=flag; } if(flag!='=') { *c=input(a); strcat(a,c); strcpy(Equa,a); } } char input(char *before) { char now[10]; char flag;//用于判断字符串结束 int i; for(i=0;i<10;i++) { cin>>flag; if(flag=='=') { strcat(before,now); return *before; } else now[i]=flag; } if(flag!='=') { strcat(before,now); return input(before); } //else return 0; } void Display() { for(int i=0;i<20;i++) { cout<<Equa[i]; } } }; int main(int argc, char* argv[]) { printf("Hello World!\n"); Calc a; a.input(); a.Display(); return 0; }
1 下一页