Задача по С++. Что в этом коде не так ?

Компьютеры программирование С++

Всем привет. Помогите плиз исправит ошибку в коде .ВОт задача и код :

Написать калькулятор, работа которого будет основана на функциях. Ввода цифр и выбор математической операции выполнить в диалоговом стиле (спросить у пользователя, вывести меню). В программе предусмотреть избежание ошибок (деление на ноль и т.д.). Фантазия и «дизайн» меню - ценится и приветствуется! Внимание! Каждая арифметическая операция описывается отдельной функцией. Построение самого меню также вынесена в отдельную функцию :

#include <iostream>
using namespace std;
int menu(int a, int b)
{
cout<<"__________Vuberit` byd`laska 9ka vam potribna di9 i natosnit 'Enter'__________"<< endl<< endl;
cout<<"| [1]- Di9 dodavann9 |"<< endl<<"|_________________________|"<< endl;
cout<<"| [2]- Di9 vidnimann9 |"<< endl<<"|_________________________|"<< endl;
cout<<"| [3]- Di9 mnogenn9 |"<< endl<<"|_________________________|"<< endl;
cout<<"| [4]- Di9 dilenn9 |"<< endl<<"|_________________________|"<< endl;
cout<<"| [5]- Di9 na prozentu |"<< endl<<"|_________________________|"<< endl<< endl;
int i;
cin>>i;
switch(i)
{
case 1:
cout<<syma(a,b)<< endl;
break;
case 2:
cout<<riznuca(a,b);
break;
case 3:
cout<<dobutok(a,b);
break;
case 4:
cout<<dilenna(a,b);
break;
default:
cout<<" Error !!!"<< endl;
}
return i;
}
int syma(int a, int b)
{
int sum = 0;
sum=a+b;
return sum;
}
int riznuca(int a,int b)
{
int sum = 0;
sum = a - b;
return sum;
}
int dobutok(int a, int b)
{
int sum = 0;
sum = a * b;
return sum;
}
float dilenna(float a, float b)
{
int sum = 0;
if(b>0 && a>0)
{
sum = a/b;
}
else
{
cout<<"Error"<< endl;
}
return sum;
}
void main()
{
int a = 0, b = 0;
cout<<" Enter first number : ";
cin>>a;
cout<<" Enter the second number : ";
cin>>b;
cout<<menu(a,b)<< endl;
}

Примечание:
Без имени (grigorij kanar)
Ты имееш ввиду декларировать эти функцыи ?
Ответы:
ты используешь функции, про которые компилятор не знает.
Просто переставь их определения перед int main()...
Кстати, поправка по функции dilenna: 0 делить можно,на ноль нельзя посему 1 условие ненужно)
а еще, main должен возвращать инт, поэтому смотри готовый код.
#include <iostream>
using namespace std;
int syma(int a, int b)
{
int sum = 0;
sum=a+b;
return sum;
}
int riznuca(int a,int b)
{
int sum = 0;
sum = a - b;
return sum;
}
int dobutok(int a, int b)
{
int sum = 0;
sum = a * b;
return sum;
}
float dilenna(float a, float b)
{
int sum = 0;
if(b>0)
{
sum = a/b;
}
else
{
cout<<"Error"<< endl;
}
return sum;
}
int menu(int a, int b)
{
cout<<"__________Vuberit` byd`laska 9ka vam potribna di9 i natosnit 'Enter'__________"<< endl<< endl;
cout<<"|  [1]-   Di9 dodavann9   |"<< endl<<"|_________________________|"<< endl;
cout<<"|  [2]-   Di9 vidnimann9  |"<< endl<<"|_________________________|"<< endl;
cout<<"|  [3]-   Di9 mnogenn9    |"<< endl<<"|_________________________|"<< endl;
cout<<"|  [4]-   Di9 dilenn9     |"<< endl<<"|_________________________|"<< endl;
cout<<"|  [5]-   Di9 na prozentu |"<< endl<<"|_________________________|"<< endl<< endl;
int i;
cin>>i;
switch(i)
{
case 1:
cout<<syma(a,b)<< endl;
break;
case 2:
cout<<riznuca(a,b);
break;
case 3:
cout<<dobutok(a,b);
break;
case 4:
cout<<dilenna(a,b);
break;
default:
cout<<" Error !!!"<< endl;
}
return i;
}


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.