• 締切
  • 困ってます

プログラミングおかしいところ探してください

  • 質問No.8577348
  • 閲覧数3041
  • ありがとう数0
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 14% (13/89)

#include<iostream>
using namespace std;
int main()
{
int i = 0;
char a[128];
cout << "やあ" << endl;
cin >> a;
while (i<= strlen(a)){
if (a[i] == 'ワ'&&a[i + 1] == 'ン'){
cout << "ニャア";
i = i + 2;
}
else if (a[i] == 'わ'&&a[i + 1] == 'ん'){
cout << "にゃあ";
i = i + 2;
}
else{
cout << a[i];
i++;
}
}

return 0;

}
キーボードから入力された文字に「ワン」「わん」があれば「ニャア」「にゃあ」と言い換えるプログラムを組もうとしたのですが、デバックするとエラーが出ます。
'Project2.exe' (Win32): 'C:\Users\kazuaki\Documents\Visual Studio 2013\Projects\Project2\Debug\Project2.exe' が読み込まれました。シンボルが読み込まれました。
'Project2.exe' (Win32): 'C:\Windows\System32\ntdll.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
'Project2.exe' (Win32): 'C:\Windows\System32\kernel32.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
'Project2.exe' (Win32): 'C:\Windows\System32\KernelBase.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
'Project2.exe' (Win32): 'C:\Windows\System32\msvcp120d.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
'Project2.exe' (Win32): 'C:\Windows\System32\msvcr120d.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
プログラム '[5180] Project2.exe' はコード 0 (0x0) で終了しました。
何がまずいのでしょうか。

回答 (全3件)

  • 回答No.3

ベストアンサー率 53% (2177/4070)

source.cpp(9): warning C4018: '<=' : signed と unsigned の数値を比較しようとしました。
ってことで、一応ビルドは通りましたね。
signedの変数iとunsignedのstrlen()の戻り値での比較ってことですかね。
# strlen()の戻り値はsize_tでしたが。

>if (a[i] == 'ワ'&&a[i + 1] == 'ン'){
とかはintへの暗黙の型変換でもされたかと。

まぁ、期待通りに動作しないことに変わりはありませんが。
#1にて書かれているので細かいことは書きませんけど。
  • 回答No.2

ベストアンサー率 23% (3656/15482)

本当にこのプログラムなんだとしたら, そもそもコンパイルできないのでは.
  • 回答No.1

ベストアンサー率 55% (1857/3366)

charは1バイトまでしか文字が入りません。
よって、char1つで漢字やカナを表わすことはできません

よって
a[i] == 'ワ'&&a[i + 1] == 'ン'
はほぼ確実に成り立ちません。



あと
> PDB ファイルを開けないか、ファイルが見つかりません。
これは、デバッグ時に、元のソースコードの情報を読み出そうとしてが見つからない、ということですが
通常、配布されていたりOSの付属していたりするDLL等は、デバッグ情報を削除してあり、読めないのが通常です。
よって、このメッセージは無視していいです
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ