Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2010, 16:37   #1
saix
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию проблема с функцией

Условие: напишите функцию которая считает объем и площадь паралелепипеда.
Код:
Код:
#include<iostream.h>
int par(int a, int b, int c);
void main()
{
	
	int v,s,a,b,c;
	cin >> a;
	cin >> b;
	cin >> c;
	v=par(a*b*c);
	cout << v <<"obem\n";
		s=par(a*b+a*c+b*c)*2;
	cout << s <<"plosha\n";

	
	}

Последний раз редактировалось Stilet; 28.10.2010 в 17:21.
saix вне форума Ответить с цитированием
Старый 28.10.2010, 16:47   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну а где теперь тело функции вашей?
Код:
par(...)
{
    ...
}
намек ясен?

и зачем новую тему создали?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.10.2010, 16:50   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ну как-то так:
Код:
#include <iostream.h>
int Obm(int a,int b,int c)
{
   return a*b*c;
}

int plo(int a,int b,int c)
{
  return (a*b+b*c+a*c)*2;
}

int main()
{
   int x,y,z;
   cin>>x>>y>>z;
   cout<<obm(x,y,z)<<endl;
   cout<<plo(x,y,z)<<endl;
   return 0;
}
_-Re@l-_ вне форума Ответить с цитированием
Старый 28.10.2010, 16:52   #4
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

Код:
#include <iostream>
#include <conio.h>
using namespace std;

int par (int a, int b, int c, bool square)
{
	if (square == true)
		return (2*(a*b+b*c+a*c));
	else
	return a*b*c;
}

void main ()
{
	int a,b,c;
	setlocale (0,"");
	cout<<"Введите стороны\n";
	cin>>a>>b>>c;
	cout<<"Площадь прямоугольного параллелепипеда = "<<par(a,b,c,true)<<"\n";
	cout<<"Объем прямоугольного параллелепипеда = "<<par(a,b,c,false)<<"\n";
	getch ();

}
JeyKip вне форума Ответить с цитированием
Старый 28.10.2010, 16:57   #5
saix
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию

спасибо , всё понял
saix вне форума Ответить с цитированием
Старый 28.10.2010, 17:06   #6
saix
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию а без ифа

Цитата:
Сообщение от JeyKip Посмотреть сообщение
Код:
#include <iostream>
#include <conio.h>
using namespace std;

int par (int a, int b, int c, bool square)
{
	if (square == true)
		return (2*(a*b+b*c+a*c));
	elsе
	return a*b*c;
}

void main ()
{
	int a,b,c;
	setlocale (0,"");
	cout<<"Введите стороны\n";
	cin>>a>>b>>c;
	cout<<"Площадь прямоугольного параллелепипеда = "<<par(a,b,c,true)<<"\n";
	cout<<"Объем прямоугольного параллелепипеда = "<<par(a,b,c,false)<<"\n";
	getch ();

}
а без ифа в теле 'par' можно както?
saix вне форума Ответить с цитированием
Старый 28.10.2010, 17:32   #7
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

нет...в зависимости от условия, выводится либо площадь, либо объем...иначе нужно делать 2 функции, как в примере у _-Re@l-_...а что тебя смущает в этом операторе..?
JeyKip вне форума Ответить с цитированием
Старый 28.10.2010, 17:51   #8
saix
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию

Цитата:
Сообщение от JeyKip Посмотреть сообщение
нет...в зависимости от условия, выводится либо площадь, либо объем...иначе нужно делать 2 функции, как в примере у _-Re@l-_...а что тебя смущает в этом операторе..?
просто мне нужно чтот вроде етово:
#include <iostream.h>
int obm(int a,int b,int c)
{
int v;
v=a*b*c;
return 0;
}
int plo(int a,int b,int c)
{
int s;
s=((a*b+b*c+a*c)*2);
return 0;

}
void main()
{
int a,b,c,v,s;
cout<<"vvedit storony\n";
cin >> a >> b >> c;
cout << s <<" plo\n ";
cout << v <<" obm\n ";
}
ток она несчитает правельно а бред выводит
saix вне форума Ответить с цитированием
Старый 28.10.2010, 18:03   #9
dk_256mb
 
Регистрация: 28.10.2010
Сообщений: 4
По умолчанию

ооОо функцыя тоже ((((

Написати функцію, що обчислює значення ас. Числа а й с можуть бути будь-якими дробовими додатними числами
dk_256mb вне форума Ответить с цитированием
Старый 28.10.2010, 18:07   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

возьмите код от Real тогда, он верный.
а вашем коде, вы просите функцию вернуть 0, она ноль и вернет(return 0, заменить на return s|v+можно вообще без переменных)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с функцией IsNumber Paulsan Помощь студентам 10 20.10.2010 02:13
Проблема с функцией SUM Sneginka87 БД в Delphi 8 27.02.2010 02:34
Проблема с функцией DX3DInit k1r1ch Общие вопросы Delphi 6 08.09.2009 16:29
Проблема с функцией замены... dast Microsoft Office Excel 6 09.10.2008 20:30