Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Фенрир
42 / 38 / 2
Регистрация: 05.01.2009
Сообщений: 394
#1

шаблоны - C++

01.03.2009, 01:20. Просмотров 602. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 // lab1.cpp : main project file.
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace System;
using namespace std;
 
const double pi=3.14159;
 
 
template <typename T> 
T volume (T r, T h, T r1 ) // объем конуса
{return ((T)(1/3*pi*h*(r*r+r1*r1+r*r1)));}
 
template <typename T> 
T volume (T r, T h) // объем цилиндра
{return ((T) (1/3*pi*r*r*h));}
 
 
template <typename T> 
T volume (T r) // объем шара
{return ((T)(4/3*pi*r*r));}
 
 
 
 
 
int main(array<System::String ^> ^args)
{   
    setlocale(LC_ALL,"Rus");
    int a, b, c;
    double x, y, z;
    cout<<"Введите через пробелы целочисленные значения радиуса, высота, малого радиуса "<<endl;;
    cin>>a>>b>>c;
    cout<<"Введите через пробелы вещественные значения радиуса, высота, малого радиуса "<<endl;;
    cin>>x>>y>>z; 
    cout<<"Объем шара при целых значениях: "<<volume(a)<<endl;
    cout<<"Объем цилиндра при целых значениях: "<<volume(a, b)<<endl;
    cout<<"Объем конуса при целых значениях: "<<volume(a, b, c)<<endl;
    cout<<"Объем шара при вещественных значениях: "<<volume(x)<<endl;
    cout<<"Объем цилиндра при вещественных значениях: "<<volume(x, y)<<endl;
    cout<<"Объем конуса при вещественных значениях: "<<volume(x, y, z)<<endl;
 
  _getch();
 
    return 0;
}
для цилиндра и конуса выводит нули. 2005 студия.
не могу понять почему!

Добавлено через 38 минут 12 секунд
время позднее вообщем
C++
1
2
3
4
5
6
7
8
9
10
11
12
  template <typename T> 
T volume (T r, T h, T r1 ) // объем конуса
{return pi*h*(r*r+r1*r1+r*r1)/3;}
 
template <typename T> 
T volume (T r, T h) // объем цилиндра
{return  pi*r*r*h/3;}
 
 
template <typename T> 
T volume (T r) // объем шара
{return (4/3*pi*r*r);}
вот так работает..закрывайте
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2009, 01:20     шаблоны
Посмотрите здесь:

шаблоны C++
C++ шаблоны
C++ шаблоны в си++
C++ Шаблоны
Шаблоны С++ C++
Шаблоны C++
Шаблоны C++
C++ Шаблоны
C++ Шаблоны
C++ Шаблоны в C++
Шаблоны C++
Шаблоны C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
orange
4 / 4 / 0
Регистрация: 25.02.2009
Сообщений: 40
01.03.2009, 08:49     шаблоны #2
1/3 - даёт 0, 4/3 - дают 1, они не обьявлены как вещественые, поэтому считаются целочислинными. Пиши вместо 1/3 - 0.3333, а 4/3 - 1.33333.
Фак, конец сообщенья не прочитал
Yandex
Объявления
01.03.2009, 08:49     шаблоны
Ответ Создать тему
Опции темы

Текущее время: 21:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru