1

カレンダーのコードを書きましたが、エラーが発生しました。これが私のコードです:

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int month, year, Y, M;
int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int FirstDayofMonth; 

cout<<"please enter year!"<<endl;
cin>>year;
while(year<1600)
{
    cout<<"please do not enter year less than 1600!"<<endl;
    cin>>year;
}
cout<<"please enter month! (1~12)"<<endl;
cin>>month;
Y = year – (14 – month)/12;
M = month + 12 * ((14 - month) / 12) - 2;
FirstDayofMonth = (Y+Y/4-Y/100+Y/400+31*M/12+1)%7;
}

他の部分は、結果を印刷することです。そして、それは私に以下のエラーを表示します

try.cpp:18: error: stray ‘\342’ in program
try.cpp:18: error: stray ‘\200’ in program
try.cpp:18: error: stray ‘\223’ in program
try.cpp:18: error: stray ‘\342’ in program
try.cpp:18: error: stray ‘\200’ in program
try.cpp:18: error: stray ‘\223’ in program
try.cpp: In function ‘int main()’:
try.cpp:18: error: expected `)' before ‘month’
try.cpp:18: error: ‘year’ cannot be used as a function

18:Y = year – (14 – month)/12;

エラーの意味がわからないのですが、どなたか教えていただけないでしょうか? ありがとう!!

4

2 に答える 2

5

エラーは、コード内のバイト\342\200、および\223(8 進数で表される) を報告しています。これらのバイトは、 EN DASHの UTF-8 エンコーディングを構成します。これは、英文の範囲 (例: 6 月から 8 月) または関係 (例: シドニー - ロサンゼルスのフライト) で使用される文字です。C++ コンパイラで通常受け入れられるマイナス文字は、ASCII 互換のHYPHEN-MINUSであり、QWERTY キーボードで使用できる文字です。

このコードをどこかからコピーして貼り付けたようで、この行の減算に間違った文字が含まれているようです:

Y = year – (14 – )month)/12;

また、そこにあってはならない余分な括弧にも注意してください。おそらくあなたが望む:

Y = year - (14 - month) / 12;
于 2013-03-21T14:26:28.740 に答える
1

)その行の2番目の後に余分があると思います-

Y = year – (14 – )month)/12;

次のようにする必要があります。

Y = year – (14 – month)/12;
于 2013-03-21T14:27:34.447 に答える