ユーザーからの無効なバイナリ入力のチェックに問題があります。これがプログラムです。誰かがこれにアプローチする方法を教えてもらえますか?
これらは私が得ているエラーです
- エラー C2660: 'binToDec': 関数は引数を 1 つ取りません
- 警告 C4018: '<': 符号付き/符号なしの不一致
- エラー C2082: 仮パラメーター 'bin' の再定義
- エラー C2275: 'std::string': この型を式として不正に使用しています。「std::string」の宣言を参照してください
エラー C2082: 仮パラメーター 'bin' の再定義
#include<iostream> #include<string> #include<math.h> using namespace std; void intro(); bool isBinary(string); void decToBin(); string getBin(); void binToDec(); char getChoice(); char getContinue(); int main() { char choice, cont; string bin; intro(); do{ choice = getChoice(); if(choice == 'b' || choice == 'B') { bin = getBin(); bool binIsBinary = isBinary(bin); if(binIsBinary) binToDec(bin); else { cout<<"Error!!! Your Number is Not Binary"<<endl; cout<<endl; } } if(choice == 'd' || choice == 'B') decToBin(); cont = getContinue(); } while(cont == 'y' || cont == 'Y'); } void intro() { cout << "This program coverts decimal numbers to binary and vice versa. << endl; } bool isBinary( string bin ) { int i=0; bool binIsBinary = true; while (i < bin.length()) { if( bin.at(i) != '1' && bin.at(i) != '0' ) { binIsBinary = false; } i++; } return binIsBinary; } void decToBin() { int dec; string bin; cout << endl << "Please enter a decimal number:"; cin >> dec; bin = ""; while (dec != 0) { if (dec % 2 == 0) bin.insert(0, "0"); else bin.insert(0, "1"); dec = dec / 2; } cout << "The equivalent binary number is: " << bin << endl << endl; } string getBin(string bin) { string bin; cout << endl << "Enter a binary number: "; cin >> bin; return string; } void binToDec(string bin) { double deci; string bin; double len; len = bin.length(); deci = 0; for (int i=0; i<len; i++) if (bin.at(i) == '1') deci = deci + pow(2, len-i-1); cout << "The equivalent decimal number is: " << deci << endl << endl; } char getChoice() { char choice; cout << endl << "If you would like to convert a binary to a decimal then enter b."<<endl; cout << "If you would like to convert a decimal to a binary then enter d. "; cin >> choice; return choice; } char getContinue() { char cont; cout << "Would you like to convert another number(Y/N)? "; cin >> cont; return cont; }