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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2012, 19:41   #1
NickПавел
Пользователь
 
Регистрация: 07.12.2012
Сообщений: 11
По умолчанию Сделать конвертер из футов и дюймов в целые метры миллиметры и сантиметры

Сделать конвертер из футов и дюймов в целые метры миллиметры и сантиметры(1 фут = 12 дюймам, 1 дюйм=25.4 мм)заранее благодарен.
NickПавел вне форума Ответить с цитированием
Старый 07.12.2012, 19:43   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

и в чем проблема?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.12.2012, 20:18   #3
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
и в чем проблема?
Проблем нет. Это приказ.
Suby вне форума Ответить с цитированием
Старый 07.12.2012, 20:19   #4
NickПавел
Пользователь
 
Регистрация: 07.12.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
и в чем проблема?
#include <Math.h>
#include <iostream>
using namespace std;
void main()
{
int ft, i;
cout<<"vvedite ft and i:"<<endl;
cin>>ft>>i;
/*{",
unsigned int mm,cm,m;
mm= (305*ft)+(25*i);
printf("mm=%i \n",mm);

cm= mm/10;
printf("cm=%i \n",cm);


m= cm/100;
printf("m=%i \n",m);
}*/
{
int m,b, cm, mm;
double a;
a= ft*12 + i;
b=(int)a*25.4;
m=(int)b-1000;


cout<<"m="<<m<<endl;
cm=b-100;
cout<<"cm="<<cm<<endl;
mm=(a*25.4-b)*10;
cout<<"mm="<<mm<<endl;
}
return;
}
не знаю, но препод говорит что неправильно
NickПавел вне форума Ответить с цитированием
Старый 07.12.2012, 20:31   #5
NickПавел
Пользователь
 
Регистрация: 07.12.2012
Сообщений: 11
По умолчанию

вот второй вариант
#include <Math.h>
#include <iostream>
using namespace std;
void main()
{
int ft, i;
cout<<"vvedite ft and i:"<<endl;
cin>>ft>>i;

{
int m,b, cm, mm;
double a;
a= ft*12.0 + i;
(int)b=(int)a*25.4;
m=b/100;


cout<<"m="<<m<<endl;
m=b%100;
cout<<"cm="<<cm<<endl;
mm=(a*25.4-b)*10;
mm++;
cout<<"mm="<<mm<<endl;
}
return;
}
NickПавел вне форума Ответить с цитированием
Старый 07.12.2012, 21:53   #6
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Задание наверняка не полное. Наверняка там надо было реализовать это всё с использованием констант и с помощью функций. По твоему заданию можно сделать так:
Код:
#include <iostream>
#include <conio.h>
using namespace std;

const int INCH_PER_FOOT = 12;
const double MM_PER_INCH = 2.54;
const int MM_PER_METER = 1000;
const int CM_PER_METER = 10;
const int MM_PER_CM = 10;

int main()
{
	int foot, inch;
	cout << "Enter foot: ";
	cin >> foot;
	cout << "Enter inch: ";
	cin >> inch;

	int total_inch = inch + foot * INCH_PER_FOOT;
	double total_mm = total_inch * MM_PER_INCH;

	int m = total_mm / MM_PER_METER;
	total_mm -= m * MM_PER_METER;
	int cm = total_mm / CM_PER_METER;
	total_mm -= cm * CM_PER_METER;
	int mm = (int)total_mm % MM_PER_CM;

	cout << "m = " << m << endl
		 << "cm = " << cm << endl
		 << "mm = " << mm << endl;

getch();
return 0;
}
в код на Си сам допереведешь.

Последний раз редактировалось Suby; 07.12.2012 в 22:01.
Suby вне форума Ответить с цитированием
Старый 08.12.2012, 10:58   #7
NickПавел
Пользователь
 
Регистрация: 07.12.2012
Сообщений: 11
По умолчанию

увы, он ведёт неправидлные подсчеты
NickПавел вне форума Ответить с цитированием
Старый 08.12.2012, 12:27   #8
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от NickПавел Посмотреть сообщение
увы, он ведёт неправидлные подсчеты
Ёмаё!!! Проверить код то никак чтоле?

Последний раз редактировалось Suby; 08.12.2012 в 12:39.
Suby вне форума Ответить с цитированием
Старый 08.12.2012, 12:36   #9
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от NickПавел Посмотреть сообщение
увы, он ведёт неправидлные подсчеты
Естестенно подсчеты неправилные, потому-что я допустил ошибку в коде:
Код:
const double MM_PER_INCH = 2.54; // неверно
const int CM_PER_METER = 10; // неверно
а надо так:
Код:
const double MM_PER_INCH = 25.4; // верно
const int CM_PER_METER = 100; // верно
Могли бы и сами проверить.

Незачто

Последний раз редактировалось Suby; 08.12.2012 в 12:39.
Suby вне форума Ответить с цитированием
Старый 08.12.2012, 14:21   #10
NickПавел
Пользователь
 
Регистрация: 07.12.2012
Сообщений: 11
По умолчанию

const double MM_PER_INCH = 25.4;
я это даже не заметил, а вот сантиметры сразу же перевел
NickПавел вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Целые числа swatsam Общие вопросы C/C++ 3 30.12.2010 16:59
Дюймы в сантиметры и наоборот. С++ Salamandra Помощь студентам 5 04.01.2010 22:39
Сделать Конвертер vizor9 Свободное общение 11 01.10.2009 00:57
Пиксели в сантиметры ve7er Мультимедиа в Delphi 2 26.03.2009 21:37