dポイントプレゼントキャンペーン実施中!

銀行のATMを想定したプログラム


だいたい出来上がったのですが、
error C2143: 構文エラー : ';' が '型' の前にありません。
と出るのですがよくわかりません。


どこが違うのか指摘お願いします。



#include<stdio.h>

void gamen();//メニュー画面を表示するユーザ関数をつくる。
int syori(int);//番号を入力した場合の処理はユーザ関数で作り、main関数から呼び出す。

int zandaka;

int main(void)
{
int no,zandaka=100;
printf("いらっしゃいませ\n");


do{
gamen();
scanf("%d",&no);

int syori(int no);

}while(no!=4);

return 0;

}


void gamen()
{
printf("ご希望のメニューを入力してください\n"
"1、お預け入れ\n"
"2、残高照会\n"
"3、おひきだし\n"
"4、終了\n");
}


int syori(int no)
{
int nuwkin,orosu;
switch (no){
case 1:printf("お預入れ>");
scanf("%d",&nuwkin);
zandaka=zandaka+nuwkin;
printf("残高は%d円になります\n\n",zandaka);
break;
case 2:printf("残高は%d円です\n\n",zandaka);
break;
case 3:printf("おひきだし額は>");
scanf("%d",&orosu);
if(orosu>zandaka){
printf("おひきだし額限度額は%dです"
"残高不足なので引き出せません",zandaka);
}
else {
if (zandaka>orosu){
zandaka=zandaka-orosu;
printf("残高は%d円になりました",zandaka);
}
}
break;
case 4:printf("ありがとうございました\n\n");
break;
default:("もう一度ご希望のメニューを入力\n");
}

}

「銀行のATMを想定したプログラム」の質問画像

A 回答 (2件)

mainのループの中のsyori関数呼び出しは、


int syori(int no);
ではなくて、
syori(no);
ですね。

質問する際は使用言語と環境(OS、コンパイラ等)ぐらいは書きましょう。


コンパイルエラーとは関係有りませんが、
残高を初め100円にしたいのですよね?ならば、
int no,zandaka=100;
これでは、main関数内で新しくローカル変数zandakaを宣言して100を入れることになってしまいます。
ですので、グローバル変数zandaka(syori関数が残高管理に使用する変数)に100が入りません。
int no;
zandaka=100;
が正しいです。
    • good
    • 2
この回答へのお礼

ありがとうございます<(_ _)>

今度、質問するとき気をつけます。


助かりました。

お礼日時:2010/07/13 23:05

> int main(void)


> {
> int no,zandaka=100;

int no;
int zandaka=100;

としたらどうなりますか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!