Нужно исправить ошибку в коде ,должен получится калькулятор двоичной системы
#include
#include
#include
#include
using namespace std;
char bufRus[256];
char* Rus(const char* text);
int chv101();
int chv102();
int chv2(int d);
int main()
{
int perv101, perv102;
int c, d, dd, a, b;
while (c != 0)
{
cout<<Rus("Добропожаловать в калькулятор!\n");
cout<<Rus("1 - Сложение\n");
cout<<Rus("2 - Вычитание\n");
cout<<Rus("3 - Деление\n");
cout<<Rus("4 - Умножение\n");
cout<<Rus("0 - Выход\n");
cin >> c;
switch (c)
{
case 1:
{
perv101 = chv101();
perv102 = chv102();
d=perv101+perv102;
chv2(d);
cout << endl;
}
break;
case 2:
{
perv101 = chv101();
perv102 = chv102();
d=perv101-perv102;
chv2(d);
cout << endl;
}
break;
case 3:
{
perv101 = chv101();
perv102 = chv102();
d=perv101/perv102;
chv2(d);
cout << endl;
}
break;
case 4:
{
perv101 = chv101();
perv102 = chv102();
d=perv101*perv102;
chv2(d);
cout << endl;
}
break;
}
}
return 0;
}
int chv101()
{
int y=0, a=0,i,count=0,j,as,sa;
char str[50];
cout<<Rus("Введите первое двузначное число:\n");
cin>>str;
for (i=0; str[i]!='\0'; i++)
{
if (str[i]!=' ')
{
count++;
}
}
int mas[count];
char popo;
for (i=0; i<count; i++)
{
popo=str[i];
switch (popo)
{
case '0': {mas[i]=0;} break;
case '1': {mas[i]=1;} break;
}
}
for (i=0; i<count; i++)
{
sa=((count-i)-1);
a=a+(mas[i]*(pow(2,sa)));
}
return a;
}
int chv102()
{
int y=0, b=0,i,count=0,j,as,sa;
char str[50];
cout<<Rus("Введите второе двузначное число:\n");
cin>>str;
for (i=0; str[i]!='\0'; i++)
{
if (str[i]!=' ')
{
count++;
}
}
int mas[count];
char popo;
for (i=0; i<count; i++)
{
popo=str[i];
switch (popo)
{
case '0': {mas[i]=0;} break;
case '1': {mas[i]=1;} break;
}
}
for (i=0; i<count; i++)
{
sa=((count-i)-1);
b=b+(mas[i]*(pow(2,sa)));
}
return b;
}
int chv2(int d)
{
int i=0, b=0, dd=0,bb=0;
dd = d;
bb = d;
for (i=0; ; i++)
{
b++;
d=d/2;
if (d<2)
{
break;
}
}
b=b+1;//из скользки чисел будет состоять дв число
int cel[b],ost[b],dvoich[b];
int trans = 0;
for (i=0; i<b; i++)
{
cel[i]=bb/2;
ost[i]=cel[i];
bb=bb/2;
cel[i]=dd-(cel[i]*2);
dd=ost[i];
dvoich[(b-1)-i]=cel[i];
}
for (i=0; i<b; i++)
{
cout<< dvoich[i];
}
return dvoich[i];
}
char* Rus(const char* text)
{
CharToOem(text, bufRus);
return bufRus;
}
| Гарантия на работу | 1 год |
| Средний балл | 4.52 |
| Стоимость | Назначаете сами |
| Эксперт | Выбираете сами |
| Уникальность работы | от 70% |