#include<stdio.h>
#define SIZE 10
/*AIログ
それぞれの関数の役割の確認
理解したこと:15~21のコメントの内容
while文の中での処理の流れの確認
理解したこと:switch文の型および、中の処理の流れ
9を選んだ時の終了の仕方
理解したこと:swhich文の中で、9を選んだ時にcaseでは表示のみの処理をさせ、それから外に出て、if文でx==9の時にbreakさせることで、while文を終了させることができる
*/
double stack[SIZE];
int sp;
int x=0;
double a,b;
double dango;
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){
printf("データ入力:5\n足し算:1\n引き算:2\n掛け算:3\n割り算:4\n計算結果:9\n");
switch(x)
{
case 1:
b=pop();
a=pop();
push(b+a);
break;
case 2:
a=pop();
b=pop();
push(b-a);
break;
case 3:
a=pop();
b=pop();
push(b*a);
break;
case 4:
a=pop();
b=pop();
push(b/a);
break;
case 5:
push(dango);
break;
case 9:
answer();
break;
default:
}
if(x==9)
break;
}
return 0;
}
void push(double value)
{
if(isFull()){
}
else{
stack[sp] = value;
sp++;
}
}
double pop(void)
{
if(sp<=0){
return 0;
}
else{
sp--;
return stack[sp];
}
}
int isFull(void)
{
if(sp>=SIZE){
return 1;
}else{
return 0;
}
}
int isEmpty(void)
{
if(sp==0){
return 1;
}
else{
return 0;
}
}
void answer(void)
{
double ans;
ans = pop();
printf("answer:%lfです\n", ans
); }
void reset(void)
{
sp=0;
stack[0] = 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2RlZmluZSBTSVpFIDEwCi8qQUnjg63jgrAK44Gd44KM44Ge44KM44Gu6Zai5pWw44Gu5b255Ymy44Gu56K66KqNCueQhuino+OBl+OBn+OBk+OBqDoxNX4yMeOBruOCs+ODoeODs+ODiOOBruWGheWuuQp3aGlsZeaWh+OBruS4reOBp+OBruWHpueQhuOBrua1geOCjOOBrueiuuiqjQrnkIbop6PjgZfjgZ/jgZPjgajvvJpzd2l0Y2jmlofjga7lnovjgYrjgojjgbPjgIHkuK3jga7lh6bnkIbjga7mtYHjgowK77yZ44KS6YG444KT44Gg5pmC44Gu57WC5LqG44Gu5LuV5pa5CueQhuino+OBl+OBn+OBk+OBqO+8mnN3aGljaOaWh+OBruS4reOBp+OAge+8meOCkumBuOOCk+OBoOaZguOBq2Nhc2Xjgafjga/ooajnpLrjga7jgb/jga7lh6bnkIbjgpLjgZXjgZvjgIHjgZ3jgozjgYvjgonlpJbjgavlh7rjgabjgIFpZuaWh+OBp3g9PTnjga7mmYLjgaticmVha+OBleOBm+OCi+OBk+OBqOOBp+OAgXdoaWxl5paH44KS57WC5LqG44GV44Gb44KL44GT44Go44GM44Gn44GN44KLCiovCgpkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKaW50IHg9MDsKZG91YmxlIGEsYjsKZG91YmxlIGRhbmdvOwoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSk7Ly/jgrnjgr/jg4Pjgq/jgavjg4fjg7zjgr/jgpLmoLzntI3jgZnjgosKZG91YmxlIHBvcCh2b2lkKTsvL+OCueOCv+ODg+OCr+OBi+OCieODh+ODvOOCv+OCkuWPluOCiuWHuuOBmQoKaW50IGlzRnVsbCh2b2lkKTsvL+OCueOCv+ODg+OCr+OBjOa6gOadr+OBi+OBqeOBhuOBi+OCkuWIpOWumuOBmeOCiwppbnQgaXNFbXB0eSh2b2lkKTsvL+OCueOCv+ODg+OCr+OBjOepuuOBi+OBqeOBhuOBi+OCkuWIpOWumuOBmeOCiwp2b2lkIGFuc3dlcih2b2lkKTsvL+ioiOeul+e1kOaenOOBruihqOekugp2b2lkIHJlc2V0KHZvaWQpOy8v44K544K/44OD44Kv44Gu5Lit6Lqr44KS44GZ44G544Gm56m644Gr44GZ44KL77yI5Yid5pyf5YyW44GZ44KL77yJCgppbnQgbWFpbih2b2lkKXsKcmVzZXQoKTsKcHJpbnRmKCLpgIbjg53jg7zjg6njg7Pjg4njgavjgojjgovmvJTnrpdcbiIpOwoKCndoaWxlKDEpewoJcHJpbnRmKCLjg4fjg7zjgr/lhaXlips6NVxu6Laz44GX566XOjFcbuW8leOBjeeulzoyXG7mjpvjgZHnrpc6M1xu5Ymy44KK566XOjRcbuioiOeul+e1kOaenDo5XG4iKTsKCXNjYW5mKCIlZCIsICZ4KTsKICAgIAoJc3dpdGNoKHgpCgl7CgkJY2FzZSAxOgogICAgICAgICAgYj1wb3AoKTsKICAgICAgICAgIGE9cG9wKCk7CgkJICBwdXNoKGIrYSk7CiAgICAgICAgYnJlYWs7CgoJCWNhc2UgMjoKICAgICAgICAgIGE9cG9wKCk7CiAgICAgICAgICBiPXBvcCgpOwogICAgICAgICAgcHVzaChiLWEpOwogICAgICAgIGJyZWFrOwoKCQljYXNlIDM6CiAgICAgICAgICBhPXBvcCgpOwogICAgICAgICAgYj1wb3AoKTsKICAgICAgICAgIHB1c2goYiphKTsKICAgICAgICBicmVhazsKCgkJY2FzZSA0OgogICAgICAgICAgYT1wb3AoKTsKICAgICAgICAgIGI9cG9wKCk7CiAgICAgICAgICBwdXNoKGIvYSk7CiAgICAgICAgYnJlYWs7CgoJCWNhc2UgNToKICAgICAgICAgIHByaW50Zigi44OH44O844K/44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEOiIpOwogICAgICAgICAgc2NhbmYoIiVsZiIsICZkYW5nbyk7CiAgICAgICAgICBwdXNoKGRhbmdvKTsKICAgICAgICBicmVhazsKCQkKCQljYXNlIDk6CgkJICBhbnN3ZXIoKTsKCSAgICBicmVhazsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHByaW50Zigi54Sh5Yq544Gq5YWl5Yqb44Gn44GZXG4iKTsKCX0KICAgIGlmKHg9PTkpCiAgICAgICAgYnJlYWs7Cn0KCnJldHVybiAwOwp9Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKQp7CiAgICBpZihpc0Z1bGwoKSl7CiAgICAgICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgafjgZlcbiIpOwogICAgfQogICAgZWxzZXsKICAgICAgICBzdGFja1tzcF0gPSB2YWx1ZTsKICAgICAgICBzcCsrOwogICAgfQp9CgoKZG91YmxlIHBvcCh2b2lkKQp7CiAgICBpZihzcDw9MCl7CiAgICAgICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYznqbrjgafjgZlcbiIpOwogICAgICAgIHJldHVybiAwOwogICAgfQogICAgZWxzZXsKICAgICAgICBzcC0tOwogICAgICAgIHJldHVybiBzdGFja1tzcF07CiAgICB9Cgp9CgoKaW50IGlzRnVsbCh2b2lkKQp7CiAgICBpZihzcD49U0laRSl7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9ZWxzZXsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCn0KCgppbnQgaXNFbXB0eSh2b2lkKQp7CiAgICBpZihzcD09MCl7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICBlbHNlewogICAgICAgIHJldHVybiAwOwogICAgfSAKfQoKCnZvaWQgYW5zd2VyKHZvaWQpCnsKICAgIGRvdWJsZSBhbnM7CiAgICBhbnMgPSBwb3AoKTsKCXByaW50ZigiYW5zd2VyOiVsZuOBp+OBmVxuIiwgYW5zKTsKfQoKCnZvaWQgcmVzZXQodm9pZCkKewogICAgc3A9MDsKICAgIHN0YWNrWzBdID0gMDsKfQ==