IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Арифметические вычисления ( С++), при помощи перегруженной функции
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 145
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Написать программу с использованием перегруженной функции calc (выполняет 4 простейших арифметических действий для 2 целочисленных значений типа float и double)

Не имею понятия, что есть перегруженная функция, в С++ ничего не понимаю, а надо крайне-крайне срочно... Спасайте учебу, избавляйте от армейских сапогов


--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 145
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Функция должна выполнять вычисления определенного типа, то есть, к примеру, либо сложение, либо вычитание на выбор. На вид должно выйти примерно так:

Код

Арифметические операции с типом float
Введите первое число:
Введите второе число:
Введите оператор (+,-,/,*):
Результат:

Арифметические операции с типом double
Введите первое число:
Введите второе число:
Введите оператор(+,-,/,*):
Результат:


Добавлено через 11 мин.
Добрые люди подмогнули, и вот что вышло:


#include <stdio.h>

float calc(float , float , char );
double calc(double, double, char );

float calc(float a, float b, char op)
{
printf("\nFloat \n");
switch(op)
{
case '+': return a+b;
case '-': return a-b;
case '/': return a/b;
case '*': return a*b;
}
return 0;
}



double calc(double a, double b, char op)
{
printf("\nDouble \n");
switch(op)
{case '+': return a+b;
case '-': return a-b;
case '/': return a/b;
case '*': return a*b;
}
return 0;
}

int floatit()
{
float a,b;
char op;

printf("Vvedite pervoe chislo (Float):");
scanf("%f", &a);
printf("\nVVedite vtoroe chislo (Float):");
scanf("%f", &b);

printf("\nVvedite operator:");
scanf("%s", &op);


printf("%f\n", calc(a,b,op));

return 0;


}


int
doubleit()
{
double a,b;
char op;

printf("Vvedite pervoe chislo (Double):");
scanf("%f", &a);
printf("\nVVedite vtoroe chislo (Double):");
scanf("%f", &b);

printf("\nVvedite operator:");
scanf("%s", &op);


printf("%f\n", calc(a,b,op));

return 0;


}



int main()
{
int menu;


printf("\nViberete neobhodimiy tip dannih:\n 1 - float\n 2 - double\nmenu>");

scanf("%i", &menu);

switch(menu)

{
case 1: floatit();
break;
case 2: doubleit();
}

return 0;
}



Но что-то за проблемы с вычислением данных типа double, всегда выдает 0


--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 25.04.2024 7:26
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name