こんにちは私は通常の10年のニュージャーをバイナリに符号化する最終的な学校プロジェクトのための簡単なプログラムを作りました。2から7までの数字のバイナリコード
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
int main() {
int n;
cout<<"-------------------------KODER/DEKODER-------------------------"<<endl;
ofstream Info;
Info.open("Info.txt");
Info<<"KODER_DEKODER verzija 1.0.0\nOvaj program je napisan kako bi se brzo dekadni broj pretvorio u binarni i obrnuto bez previse razmisljanja"<<endl;
Info.close();
cout<<"NAPOMENA: Uneseni brojevi i binarne kombinacije moraju biti izmedu brojeva 0 i 15"<<endl;
cout<<"Unesite 1 ako zelite kodirati dekadni broj u binarni, a ako zelite dekodirtai binarni broj u dekadni unesite broj 2"<<endl;
cin>>n;
int d,b;
if (n==1){
cout<<"Unesite dekadni broj koji zelite kodirati u binarni"<<endl;
cin>>d;
if (d==0){
cout<<"Vas kodirani dekadni broj glasi 0000"<<endl;
}else if (d==1){
cout<<"Vas kodirani dekadni broj glasi 0001"<<endl;
}else if (d==2){
cout<<"Vas kodirani dekadni broj glasi 0010"<<endl;
}else if (d==3){
cout<<"Vas kodirani dekadni broj glasi 0011"<<endl;
}else if (d==4){
cout<<"Vas kodirani dekadni broj glasi 0100"<<endl;
}else if(d==5){
cout<<"Vas kodirani dekadni broj glasi 0101"<<endl;
}else if (d==6){
cout<<"Vas kodirani dekadni broj glasi 0110"<<endl;
}else if (d==7){
cout<<"Vas kodirani dekadni broj glasi 0111"<<endl;
}else if (d==8){
cout<<"Vas kodirani dekadni broj glasi 1000"<<endl;
}else if (d==9){
cout<<"Vas kodirani dekadni broj glasi 1001"<<endl;
}else if(d==10){
cout<<"Vas kodirani dekadni broj glasi 1010"<<endl;
}else if (d==11){
cout<<"Vas kodirani dekadni broj glasi 1011"<<endl;
}else if(d==12){
cout<<"Vas kodirani dekadni broj glasi 1100"<<endl;
}else if(d==13){
cout<<"Vas kodirani dekadni broj glasi 1101"<<endl;
}else if(d==14){
cout<<"Vas kodirani dekadni broj glasi 1110"<<endl;
}else if(d==15){
cout<<"Vas kodirani dekadni broj glasi 1111"<<endl;
}
else {
cout<<"Unesi broj izmedu 0 i 15"<<endl;
return main();
}
}
else if (n==2) {
cout<<"Unesite binarni broj koji zelite pretvoriti u dekadni"<<endl;
cin>>b;
if (b==0000) {
cout<<"Vasa binarna kombinacija daje broj 0"<<endl;
} else if (b==0001) {
cout<<"Vasa binarna kombinacija daje broj 1"<<endl;
} else if (b==0010) {
cout<<"Vasa binarna kombinacija daje broj 2"<<endl;
} else if (b==0011) {
cout<<"Vasa binarna kombinacija daje broj 3"<<endl;
} else if (b==0100) {
cout<<"Vasa binarna kombinacija daje broj 4"<<endl;
} else if (b==0101) {
cout<<"Vasa binarna kombinacija daje broj 5"<<endl;
} else if (b==0110) {
cout<<"Vasa binarna kombinacija daje broj 6"<<endl;
} else if (b==0111) {
cout<<"Vasa binarna kombinacija daje broj 7"<<endl;
} else if (b==1000) {
cout<<"Vasa binarna kombinacija daje broj 8"<<endl;
} else if (b==1001) {
cout<<"Vasa binarna kombinacija daje broj 9"<<endl;
} else if (b==1010) {
cout<<"Vasa binarna kombinacija daje broj 10"<<endl;
} else if (b==1011) {
cout<<"Vasa binarna kombinacija daje broj 11"<<endl;
} else if (b==1100) {
cout<<"Vasa binarna kombinacija daje broj 12"<<endl;
} else if (b==1101) {
cout<<"Vasa binarna kombinacija daje broj 13"<<endl;
} else if (b==1110) {
cout<<"Vasa binarna kombinacija daje broj 14"<<endl;
} else if (b==1111) {
cout<<"Vasa binarna kombinacija daje broj 15"<<endl;
}
else{
cout<<" Unesi pravilnu binarnu kombinaciju"<<endl;
return main();}
}
else {
cout<<"UNESITE 1 ZA KODIRANJE ILI 2 ZA DEKODIRANJE"<<endl;
return main();}
system("pause");
return 0;}
こんにちは。何が間違っているかを素早く確認するためのコードを短縮できますか?ここでその心が壊れている。 –
あなたのコードを英語に翻訳し、他の人が簡単に答えられるように努力してください(***あなたがここに来て助けを求めていることを覚えておいてください)。また、[MCVE]を作成して、あなたのコードに何が問題になっているのかを正確に説明してください。 –
無限の条件文と特殊な場合を使うよりも、基底を変換する方がはるかに良い方法があります。この方法では、32ビット整数をサポートするようにプログラムを拡張すると、各方向に40億以上のケースが必要になり、ソースファイルは数ギガバイトにもなります。 – molbdnilo