Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/76: Рейтинг темы: голосов - 76, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 22

Программа, которая бы по введенному номеру единицы измерения и массы M выдавала бы соответствующее значение массы в килограммах

14.04.2013, 14:31. Показов 14713. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая бы по введенному номеру единицы измерения(1-килограмм, 2-миллиграмм, 3-грамм, 4-тонна, 5-центнер) и масса M выдавала бы соответствующее значение массы в килограммах.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.04.2013, 14:31
Ответы с готовыми решениями:

Написать программу, которая по номеру единицы измерения и массе М выдавала бы значение массы в килограммах
Написать программу, которая по номеру единицы измерения (1 - килограмм, 2 - миллиграмм, 3 - грамм, 4 - тонна, 5 - центнер) и массой М...

Написать программу, которая бы по введённому номеру единицы измерения выводит соответствующее значение массы в килограммах.
Написать программу, которая бы по введённому номеру единицы измерения (1-миллиграм, 2-грамм, 3-килограмм, , 4-центнер, 5-тонна) и масса M ...

По введённому номеру единицы измерения массы и заданной массе вывести вес в килограммах
Написать программу, которая бы по введённому номеру единицы измерения массы (1-миллиграмм, 2-грамм, 3-килограмм, 4-центнер, 5-тонна) и...

8
14.04.2013, 14:54

Не по теме:

как вы собираетесь сдавать экзамен?

1
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 22
14.04.2013, 20:50  [ТС]
Цитата Сообщение от GetVariable Посмотреть сообщение

Не по теме:

как вы собираетесь сдавать экзамен?

ну вы мне эти покажете как делать а те будут просто аналогичны)))

Добавлено через 4 часа 43 минуты
=(((

Добавлено через 1 час 9 минут
и с этой помогите пожалуйста
0
17 / 17 / 28
Регистрация: 05.11.2012
Сообщений: 40
14.04.2013, 21:02
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
#include <iostream>
#include <math.h>
 
 
using namespace std;
 
int main()
{
int n = 0;
cin>>n;
double e = 0;
if (n == 1)
{
    cout<<1;
}
if (n == 2)
{
    cout<<0.000001;
}
if (n == 3)
{
    cout<<0.001;
}
if (n == 4)
{
    cout<<1000;
}
 
if (n == 5)
{
    cout<<100;
}
return 0;
}
Учи язык, по аналогии ничего не пишется, нужно понимать как работает программа, если хочешь реально что то писать.
1
 Аватар для AnyOne697
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
14.04.2013, 23:42
Цитата Сообщение от LelMath Посмотреть сообщение
Учи язык, по аналогии ничего не пишется, нужно понимать как работает программа, если хочешь реально что то писать.
Простите, но мне кажется было бы не плохо вам поучить язык.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstdlib>
#include <string>
#include <map>
 
int main ( int argc, char **argv ) {
    //argv[0] - path to excutable file
    //argv[1] - integer number - mass
    //argv[2] - two chars 'mg'/'gr'/'kg'/'hw'/'tn'
    std::map < std::string, float > trans; // create object of class map
    trans[ "mg" ] = 0.000001f; // for key 'mg', that mean milligramms
    trans[ "gr" ] = 0.001f; // like previous, gr = gramm
    trans[ "kg" ] =    1.f; // kg = killogramm
    trans[ "hw" ] =  100.f; // hw = hundredweight
    trans[ "tn" ] = 1000.f; // tn = ton
    
    
    /* Now we just parse first programm argument into integer
       and multiply one with transform factor */
    std::cout << (float)atoi ( argv[ 1 ] )*trans[ argv[ 2 ] ] << std::endl;
}
Почему так лучше? Во-первых, сам код намного проще. Во-вторых, время работы не зависит от пользователя (нередко является суперплюсом). В-третьих, добавить что-то не составит труда.
Хотя и формулировка задачи немного другая, счёл необходим всё же написать этот код и запостить его сюда.
Наконец, язык здесь вообще не причём. Чтобы писать действительно хорошее ПО, требуется 1) очень много времени, 2) желание, 3) немного логики. Впрочем, не все хотят программировать вообще. Не хотят - никто никого не заставляет. Но пощадите людей, которые будут читать Ваш код. Напишите его хотя бы красиво.
0
17 / 17 / 28
Регистрация: 05.11.2012
Сообщений: 40
15.04.2013, 00:04
Я бы не сказал, что ваш код проще. Я считаю, что такой код сейчас давать нелогично, так как по самому вопросу видно, что человек пока что программирует не очень хорошо, а ваш код подходит для продвинутых. Я же написал понятный код на самых основах. Во вторых, в данный момент разница в быстродействии незначительна, так как у нас только 5 вариантов ввода. Так же по вашему мнению
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Чтобы писать действительно хорошее ПО, требуется 1) очень много времени
. 1) Очень много времени на что? Правильно, на изучение языка.

Я согласен, что мне нужно поучить язык.
0
 Аватар для Olivеr
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
15.04.2013, 00:15
Зачем куча if'ов? Человек возьмёт и будет
Цитата Сообщение от LelMath Посмотреть сообщение
по аналогии
до третьего курса писать...
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int unit;
    cin >> unit;
    switch ( unit ) {
    case 1:
        cout << 1;
        break;
    case 2:
        cout << 0.000001;
        break;
    case 3:
        cout << 0.001;
        break;
    case 4:
        cout << 1000;
        break;
    case 5:
        cout << 100;
        break;
    default:
        cout << "unit not correct";
    }
 
    return 0;
}
0
17 / 17 / 28
Регистрация: 05.11.2012
Сообщений: 40
15.04.2013, 00:24
Я как раз писал, что тупо копировать нельзя. С новым кодом я согласен, он корректнее моего.
0
 Аватар для AnyOne697
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
15.04.2013, 01:57
Цитата Сообщение от LelMath Посмотреть сообщение
Я считаю, что такой код сейчас давать нелогично, так как по самому вопросу видно, что человек пока что программирует не очень хорошо
Что сложного в банальном отображении? Храним значения парами - ключ / пара. Доступ по ключу. В Си++ это сделано очень и очень не плохо (по мне так, лучше чем в Java). Преимущество? Можно использовать позже. Один раз инициализировал - сто раз использовал - удобно и просто.
Почему Си++ считается более сложным языком для обучения, чем, например, Java? Нет, не только из-за работы с памятью. У Java свои проблемы при работе с памятью, более того - куда менее очевидные для новичков, профессионалы порой застревают, ничего не понимая. Зато у Java очень хорошая стандартная платформонезависимая библиотека - за это её и любят. И я её люблю только за это (за остальное ненавижу). У Си++ есть кривоватая и далеко не идеальная стандартная библиотека. Но она есть! Причём там очень много общих алгоритмов, которые многие зачем-то пишут. Причём пишут в разы хуже. Зачем? Не знаю... Поэтому лучше учить язык, включая стандартную библиотеку. Это важно. Java учат сначала азам (арифметика, ветвления, классы, объекты, методы) используя стандартную библиотеку.

P.S. Более того, я даже не понял, почему этот код должен работать. Где там масса задаётся? Или она равна единице?..

P.P.S.
Цитата Сообщение от Olivеr Посмотреть сообщение
Зачем куча if'ов? Человек возьмёт и будет
У Вас не лучше. К сожалению. Можно было хотя бы enum сделать:
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
#include <iostream>
 
using namespace std;
 
enum Unit { kilograms = 1, milligrams, grams, tons, hundredweights };
 
int main()
{
    int unit;
    cin >> unit;
    switch ( unit ) {
    case kilograms:
        cout << 1;
        break;
    case milligrams:
        cout << 0.000001;
        break;
    case grams:
        cout << 0.001;
        break;
    case hundredweights:
        cout << 100;
        break;
    case tons:
        cout << 1000;
        break;
    default:
        cout << "unit not correct";
        break; // it's very important to! 
       // Or hi will took this and remember that in default case break isn't needed...
    }
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2013, 01:57
Помогаю со студенческими работами здесь

Написать программу, которая выдавала бы соответствующее значение массы в килограммах
Написать программу, которая бы по введенному номеру единицы измерения (1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер) и...

Вычислить соответствующее значение массы в килограммах
Составьте программу, которая по введённому номеру единицы измерения ( №1 - кг, №2 - мг, №3 - г, №4 - т, №5 - и) и массе тела M выдавала бы...

Единицы массы пронумерованы следующим образом: 1 — грамм, 2 — килограмм, 3 — центнер, 4 — тонна. Дан номер единицы массы
Test Input Result 1 1564 5.67

Перевод запрошенной массы тела в килограммах в выбранную единицу массы
Создать приложение, реализующее выбор пользователем единицы массы (килограмм, миллиграмм, грамм, тонна, центнер) и перевода запрошенной...

написать программу, которая бы по введенному номеру единицы измерения
написать программу, которая бы по введенному номеру единицы измерения ( 1- микрометр, 2-миллиметр, 3- метр, 4- дециметр, 5- километр) и...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru