
西暦何年かを入力し、その年がうるう年かそうでないかを
計算するプログラムを作っています。
#include <iostream>
using namespace std;
int main()
{
int toshi;
cout <<"西暦を入力してください";
cin>>toshi;
if (toshi%4==0)
{if (toshi%100==0)
{if (toshi%400==0)
{cout<<toshi<<"年はうるう年です。";}
else {cout<<toshi<<"年は非うるう年です。";}
else {cout<<toshi<<"年は非うるう年です。";}
else {cout<<toshi<<"年は非うるう年です。";}}}
return EXIT_SUCCESS;
}
これを入力したのですが エラーが2つでてしまいます。
どこがちがうのでしょうか?
No.3ベストアンサー
- 回答日時:
else文の対応の問題ですね。
上記のプログラムだと、全部のelseが三番目のif文に対応するelseになっちゃってます。
正解のソースはこちら
int toshi;
cout <<"西暦を入力してください";
cin>>toshi;
if (toshi%4==0){
if (toshi%100==0){
if (toshi%400==0){
cout<<toshi<<"年はうるう年です。";
}else{
cout<<toshi<<"年は非うるう年です。";
}
}else{
cout<<toshi<<"年は非うるう年です。";
}
}else{
cout<<toshi<<"年は非うるう年です。";
}
cin >> toshi;
return EXIT_SUCCESS;
上記のソースをよく見てくださいね。「{」の数が違うと思います。
ただ、三個もif文が重なるのは間違いの元なので、下のようにしたほうがすっきりすると思いますよ。
int toshi;
cout <<"西暦を入力してください";
cin>>toshi;
if (((toshi%4==0) && (toshi%100!=0)) ||
((toshi%4==0) && (toshi%400==0))){
cout<<toshi<<"年はうるう年です。";
}else{
cout<<toshi<<"年は非うるう年です。";
}
cin >> toshi;
return EXIT_SUCCESS;
プログラムは慣れと経験ですんで頑張ってください。
No.4
- 回答日時:
間違っている部分のみです
else {cout<<toshi<<"年は非うるう年です。";}}
else {cout<<toshi<<"年はうるう年です。";}}
else {cout<<toshi<<"年は非うるう年です。";}
に変えて再コンパイルして下さい
No.2
- 回答日時:
軽く見たところ、ロジック以外は変なところはないと思われますが。
コンパイルエラーなのでしょうか?
でしたら、どういった感じのエラーなのかや、エラーコードを乗せていただくとわかりやすいのですが?
ちなみにロジックなのですが、4で割り切れて100で割り切れないときはうるう年なので、elseの2つ目が違う気が??
coo(25) : error C2181: else 文が if と一致しません。
cpp(27) : error C2181: else 文が if と一致しません。
とでています。
どうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- ロック・パンク・メタル 【X JAPAN】のtoshiさんは偽物感のオーラが半端ないですが初代X JAPANの 1 2023/01/18 19:10
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングのペーパーテスト 実行結果を表示せよ #include <stdio.h> int h 1 2022/07/09 15:27
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# プログラムの時、フローチャートはどうなりますか?図でお願いします。 int main(void) { 1 2022/10/01 22:45
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- バラエティ・お笑い 【モニタリング】あなたの中では、どの人を “Toshi” さんが選ぶと思いましたか? 1 2022/04/07 21:14
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
-
ピンとくる人とこない人の違いは?直感を鍛える方法を心理コンサルタントに聞いた!
根拠はないがなんとなくそう感じる……。そんな「直感がした」という経験がある人は少なくないだろう。ただ直感は目には見えず、具体的な説明が難しいこともあるため、その正体は理解しにくい。「教えて!goo」にも「...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
visual studio 2022でのC#プロ...
-
Notepad++の関数リスト表示の変...
-
VisualStudioでC++クラスを追加...
-
int16_t の _t は何?
-
C#でTreeViewのCheckBoxのサイ...
-
c言語のリダイレクトによる円...
-
C#でログファイルにファイルパ...
-
C言語について。
-
c#のTLS1.2での通信について
-
C言語の質問です。バイナリ形...
-
Windows Formアプリからコンソ...
-
C# DatagridviewにExcelシート...
-
gccを行ってもexeファイルが生...
-
c言語でイベントフラグを使った...
-
コンソールアプリを作成するの...
-
C++6.0でのresource.hについて
-
VisualStudio2022でC言語プログ...
-
パイソン。If elseの挙動につい...
-
C言語って古いですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ランダムな単語を得るAPIってあ...
-
Wordで、分かち書きをするVBA ...
-
perl HTML::TreeBuilder返り値
-
perlでxmllint相当のスクリプト...
-
うるう年か平年かを判定するプ...
-
文章の分割
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBAで、ユーザーフォーム...
-
「デバイスは PRN を初期化でき...
-
LCD ディスプレイを Raspberry ...
-
ユーザー定義関数に#NAME?が返...
-
vba userFormのSubを標準モジュ...
-
Excel VBA 定義されたプロージ...
-
Excel VBAで、ユーザーフォー...
-
モジュールとクラスの違いって...
-
モジュールの最大数はいくつな...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
おすすめ情報