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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.62
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
#1

Перевод из сантиметры в метры - C++

12.08.2013, 16:13. Просмотров 3167. Ответов 5
Метки нет (Все метки)

Задача такая: нужно перевести из сантиметра в метры, и результат записать в виде "n метров, n сантиметров". Не могу скомпилировать, пишет ошибку LNK2019 и LNK1120.

Вот сам код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using std::cout; using std::cin;
 
int sm_to_m(int);
int sm, m, smmod;
const int M = 100; // постоянная, количество см в м
 
int main()
{
    setlocale(0,"russian");
    cout << "Введите значение в сантиметрах: _____\b\b\b\b\b\n";
    cin >> sm; // переменная (сантиметры)
    cout << "Результат преобразования: " << sm_to_m(m) << " м, " << sm_to_m(smmod) << " см\n";
    system("pause");
    return 0;
}
 
int sm_to_m(int m, int smmod) // smmod - остаток от деления sm на m
{
    m = sm / M;
    smmod = sm % M;
    return m, smmod;
}
И еще вопрос: почему ф-я sm_to_m не видит переменную sm, если она описана в ф-и main()? пришлось наверх ее вытянуть.

Не по теме:

Давно хотел спросить - нужно каждый раз писать \b если нужно сдвинуть курсор на 1 позицию назад? можно ли как то сократить команду, вдруг нужно будет на 100 символов назад перевести, неужели 100 раз команду писать

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2013, 16:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод из сантиметры в метры (C++):

Напишите программу, которая сможет переводить километры в метры, сантиметры, миллиметры, и наоборот - C++
Напишите программу, которая сможет переводить километры в метры, сантиметры, миллиметры, и наоборот.

Сделать конвертер из футов и дюймов в целые метры миллиметры и сантиметры(1 фут = 12 дюймам, 1 дюйм=25.4 мм)заранее благодарен - C++
Сделать конвертер из футов и дюймов в целые метры миллиметры и сантиметры(1 фут = 12 дюймам, 1 дюйм=25.4 мм)заранее благодарен.

Вывести данные в формате "метры и сантиметры" - C++
Подскажите пожалуйста как сделать так чтобы в ответе не было округления до метров а указывались бы и сантиметры //Вложеные структуры ...

Перевод сантиметров в метры - C++
Здравствуйте, недавно начал заниматься С, очень тяжело идет, помогите пожалуйста с задачками. #1 Арифметика:Z=cos^2α+cos^4α ...

Перевод из футов в метры - C++
1.Напишить программу, содержащую функцию для вычисления Y = (sin2x + cos3x) / 4sinx 2.Напишить программу, которая содержит функцию,...

Перевод дюймов в метры - C++
12.1 Длина задана в дюймах (1 дюйм=2,54 см). Перевести ее в метрическую систему, т.е. выразить в метрах, сантиметрах и миллиметрах. Так,...

5
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.08.2013, 16:32 #2
1. Сигнатуры прототипа и реализации должны совпадать:
C++
1
2
int sm_to_m(int); // 4 строка
int sm_to_m(int m, int smmod) // 18 строка
2. Переменная (локальная) в одной функции, не будет видна в другой функции. Нужно передавать через аргументы.
3. Возвращать 2 значения через return так не получится:
C++
1
return m, smmod;
4. Для setlocale нужно #include <locale.h>
5. Для system - #include <stdlib.h>
0
Valentina
68 / 68 / 3
Регистрация: 13.05.2012
Сообщений: 130
12.08.2013, 16:43 #3
Для того чтобы вернуть две переменные из функции нужно использовать ссылки
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
#include <iostream>
using std::cout; using std::cin;
 
void sm_to_m(int, int&, int&);
 
const int M = 100; // постоянная, количество см в м
 
int main()
{
    setlocale(0,"russian");
    int sm;
    int m=0;
    int smmod=0;
    cout << "Введите значение в сантиметрах: _____\b\b\b\b\b\n";
    cin >> sm; // переменная (сантиметры)
    sm_to_m(sm,m,smmod);
    cout << "Результат преобразования: " <<m << " м, " << smmod << " см\n";
    system("pause");
    return 0;
}
 
void sm_to_m(int sm,int& m,int& smmod)// smmod - остаток от деления sm на m
{
    
    m = sm / M;
    smmod = sm % M;
}
1
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
12.08.2013, 18:18  [ТС] #4
Цитата Сообщение от Tulosba Посмотреть сообщение
1. Сигнатуры прототипа и реализации должны совпадать:
C++
1
2
int sm_to_m(int); // 4 строка
int sm_to_m(int m, int smmod) // 18 строка
2. Переменная (локальная) в одной функции, не будет видна в другой функции. Нужно передавать через аргументы.
3. Возвращать 2 значения через return так не получится:
C++
1
return m, smmod;
4. Для setlocale нужно #include <locale.h>
5. Для system - #include <stdlib.h>
1. а в чем не совпадение, я не понимаю, честно скажу - вроде бы тип вызываемой функции и тип значения правильно указал. и я не умею пока через аргументы.
2. а как можно?
3. у меня C++, setlocale и system работают без указания директивы, тем более их можно без расширения.


Цитата Сообщение от Valentina Посмотреть сообщение
Для того чтобы вернуть две переменные из функции нужно использовать ссылки
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
#include <iostream>
using std::cout; using std::cin;
 
void sm_to_m(int, int&, int&);
 
const int M = 100; // постоянная, количество см в м
 
int main()
{
    setlocale(0,"russian");
    int sm;
    int m=0;
    int smmod=0;
    cout << "Введите значение в сантиметрах: _____\b\b\b\b\b\n";
    cin >> sm; // переменная (сантиметры)
    sm_to_m(sm,m,smmod);
    cout << "Результат преобразования: " <<m << " м, " << smmod << " см\n";
    system("pause");
    return 0;
}
 
void sm_to_m(int sm,int& m,int& smmod)// smmod - остаток от деления sm на m
{
    
    m = sm / M;
    smmod = sm % M;
}
Почему в функции значение void? Зачем после int ставить &? Можете попроще описать? Без ссылок и аргументов, а то я только-только типы данных прошел, и не понимаю ничего в коде этом Почему в функции значение void?
0
Valentina
68 / 68 / 3
Регистрация: 13.05.2012
Сообщений: 130
12.08.2013, 18:21 #5
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Почему в функции значение void? Зачем после int ставить &? Можете попроще описать? Без ссылок и аргументов, а то я только-только типы данных прошел, и не понимаю ничего в коде этом Почему в функции значение void?
значение void, потому что функция ничего не возвращает, а без ссылок Вы два значения не вернете
1
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
12.08.2013, 18:28  [ТС] #6
Цитата Сообщение от Valentina Посмотреть сообщение
значение void, потому что функция ничего не возвращает, а без ссылок Вы два значения не вернете
В общем, я решил не заморачиваться, и сделал без функций. Но, спасибо за помощь.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using std::cout; using std::cin;
 
int sm, m, smmod;
const int M = 100;
 
int main()
{
    setlocale(0,"russian");
    cout << "Введите значение в сантиметрах: _____\b\b\b\b\b";
    cin >> sm;
    cout << "Результат преобразования: " << (sm/M) << " м, " << (sm%M) << " см\n";
    system("pause");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2013, 18:28
Привет! Вот еще темы с ответами:

Перевод расстояний из дюймов в сантиметры - C++
1. Напишите программу печати таблицы перевода расстояний из дюймов в сантиметры для значений длин от 1 до 20 дюймов. 1 дюйм = 2,54 см. (1...

Перевод площади из квадратных ярдов в квадратные сантиметры - C++
Написать программу перевода площади из квадратных ярдов в квадратные сантиметры (1 ярд = 0,9144 метра).

Программа которая переводит дюймы в сантиметры и сантиметры в дюймы. В чем ошибка? - C++
в меню когда пишешь что то кроме 1 или 2 оно не выводит то что написано в default #include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Преобразование футов в метры - C++
Здравствуйте .. помогите понять пожалуйста почему в задаче сказано что у меня должны стоять пробелы через каждые 10 строк но не...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
12.08.2013, 18:28
Ответ Создать тему
Опции темы

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