#include<stdio.h>
#define SIZE 10
double stack[SIZE];
int sp;
void push(double value);
double pop(void);
int isFull(void);
int isEmpty(void);
void answer(void);
void reset(void);
int main(void){
reset();
while(1){
int resp;
double value;
if(resp==9){
break;
}else{
switch(resp){//足し算(+)は1を選択,引き算(-)は2を選択,掛け算(*)は3を選択,割り算(/)は4,データ入力は5,計算結果の表示は9を選択
case 1:push(pop()+pop());
break;
case 2:push(pop()-pop());
break;
case 3:push(pop()*pop());
break;
case 4:push(pop()/pop());
break;
push(value);
break;
default:printf("1 2 3 4 5 9のどれかを入力してください\n"); break;
}
}
}
answer();
return 0;
}
void push(double value){//・push関数:データをスタックに格納する関数
if(isFull()==0){
}else{
stack[sp++]=value;
}
}
double pop(void){//・pop関数:データをスタックから取り出す関数
if(isEmpty()==0){
printf("スタックが空で取り出せませんでした\n"); return 0;
}
else{
return stack[--sp];
}
}
int isFull(void){//・isFull関数:スタックが満杯かどうかを判断する関数
if(sp>=SIZE)
return 0;//満杯
else
return 1;
}
int isEmpty(void){//・isEmpty関数:スタックが空かどううかを判断する関数
if(sp<=0)
return 0;//空
else
return 1;
}
void answer(void){//・answer関数:計算結果を表示する関数
}
void reset(void){//・reset関数:スタックの中身をすべて空にする関数
int i;
sp=0;
for(i=0;i<SIZE;i++){
stack[i]=0;
}
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CgppbnQgbWFpbih2b2lkKXsKCQogICAgcmVzZXQoKTsKCgl3aGlsZSgxKXsKCQlpbnQgcmVzcDsgCgkJZG91YmxlIHZhbHVlOwoJCXNjYW5mKCIlZCIsJnJlc3ApOwoJCQoJCWlmKHJlc3A9PTkpewoJCQlicmVhazsKCQl9ZWxzZXsKCQkJc3dpdGNoKHJlc3Apey8v6Laz44GX566XKCsp44GvMeOCkumBuOaKnu+8jOW8leOBjeeulygtKeOBrzLjgpLpgbjmip7vvIzmjpvjgZHnrpcoKinjga8z44KS6YG45oqe77yM5Ymy44KK566XKC8p44GvNO+8jOODh+ODvOOCv+WFpeWKm+OBrzXvvIzoqIjnrpfntZDmnpzjga7ooajnpLrjga8544KS6YG45oqeCgkJCQljYXNlIDE6cHVzaChwb3AoKStwb3AoKSk7CgkJCQkJICBicmVhazsKCQkJCWNhc2UgMjpwdXNoKHBvcCgpLXBvcCgpKTsKCQkJCQkgIGJyZWFrOwoJCQkJY2FzZSAzOnB1c2gocG9wKCkqcG9wKCkpOwoJCQkJCSAgYnJlYWs7CgkJCQljYXNlIDQ6cHVzaChwb3AoKS9wb3AoKSk7CgkJCQkJICBicmVhazsKCQkJCWNhc2UgNTpzY2FuZigiJWxmIiwmdmFsdWUpOyBwcmludGYoImRhdGE6Iik7IHByaW50ZigiJWxmXG4iLHZhbHVlKTsKCQkJCQkgICBwdXNoKHZhbHVlKTsKCQkJCQkgIGJyZWFrOwoJCQkJZGVmYXVsdDpwcmludGYoIjEgMiAzIDQgNSA544Gu44Gp44KM44GL44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEXG4iKTsKCQkJCQkgIGJyZWFrOwoJCQl9CgkJfQoKCX0KCiAgICBhbnN3ZXIoKTsKCiAgICByZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSl7Ly/jg7twdXNo6Zai5pWw77ya44OH44O844K/44KS44K544K/44OD44Kv44Gr5qC857SN44GZ44KL6Zai5pWwCgkJaWYoaXNGdWxsKCk9PTApewoJCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOa6gOadr+OBp+WFpeOCiuOBvuOBm+OCk+OBp+OBl+OBn1xuIik7CgkJfWVsc2V7CgkJCXN0YWNrW3NwKytdPXZhbHVlOwoJCX0KfQoKZG91YmxlIHBvcCh2b2lkKXsvL+ODu3BvcOmWouaVsO+8muODh+ODvOOCv+OCkuOCueOCv+ODg+OCr+OBi+OCieWPluOCiuWHuuOBmemWouaVsAoJaWYoaXNFbXB0eSgpPT0wKXsKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOepuuOBp+WPluOCiuWHuuOBm+OBvuOBm+OCk+OBp+OBl+OBn1xuIik7CgkJcmV0dXJuIDA7Cgl9CgllbHNlewoJCXJldHVybiBzdGFja1stLXNwXTsKCX0KfQoKaW50IGlzRnVsbCh2b2lkKXsvL+ODu2lzRnVsbOmWouaVsO+8muOCueOCv+ODg+OCr+OBjOa6gOadr+OBi+OBqeOBhuOBi+OCkuWIpOaWreOBmeOCi+mWouaVsAoJaWYoc3A+PVNJWkUpCgkJcmV0dXJuIDA7Ly/muoDmna8KCWVsc2UKCQlyZXR1cm4gMTsKfQoKaW50IGlzRW1wdHkodm9pZCl7Ly/jg7tpc0VtcHR56Zai5pWw77ya44K544K/44OD44Kv44GM56m644GL44Gp44GG44GG44GL44KS5Yik5pat44GZ44KL6Zai5pWwCglpZihzcDw9MCkKCQlyZXR1cm4gMDsvL+epugoJZWxzZQoJCXJldHVybiAxOwp9Cgp2b2lkIGFuc3dlcih2b2lkKXsvL+ODu2Fuc3dlcumWouaVsO+8muioiOeul+e1kOaenOOCkuihqOekuuOBmeOCi+mWouaVsAoJcHJpbnRmKCJcbmFuc3dlcjolbGYiLHBvcCgpKTsKfQoKdm9pZCByZXNldCh2b2lkKXsvL+ODu3Jlc2V06Zai5pWw77ya44K544K/44OD44Kv44Gu5Lit6Lqr44KS44GZ44G544Gm56m644Gr44GZ44KL6Zai5pWwCglpbnQgaTsKCQoJc3A9MDsKCWZvcihpPTA7aTxTSVpFO2krKyl7CgkJc3RhY2tbaV09MDsKCX0KCn0K