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

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

Войти
Регистрация
Восстановить пароль
 
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
#1

Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно - C++

29.12.2012, 21:41. Просмотров 555. Ответов 10
Метки нет (Все метки)

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

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
#include "stdafx.h"
#include <iostream>
 using namespace std;
    
int main()
{
    setlocale(LC_ALL, "rus");
    
    const float f = 2.54;
    float x;
    float i ; //дюймы
    float a; //сантиметры
        char in; // хочу использовать вместо if(x == 1) -- if(x == 'in'), аналогично с 'char cm',
                   // но при выборе функция дальше не происходит 
        char cm;
    char d;
    
    do {
        cout << " Выберите ипользуемую длину (in = 1/cm = 2) ";
    cin >> x;
    if(x == 1)
    {
        cout << " Вы выбрали дюймы " << endl << " Введите дюймы  " << endl ;    
        cin >> a;
        in = a * f;
        cout << in << " cm" << endl;
 
    }
    else if(x == 2)
        {
        cout << " Вы выбрали сантиметры " << endl << " Введите сантиметры " ; 
        cin >> a;
        in = a/f;
        cout << i << " in" << endl;
    }
        cout << " продолжить (y/n)? ";
            cin >> d;
    }while ( d == 'y');
 
 
   
    getchar();
    return 0;
}
вот только не пойму как сделать что бы выбирать

cout << " Ввыберите ипользуемую длину (in/cm ) ";

вместо (in = 1/ cm = 2);

Подскажите пожалуйста

Добавлено через 4 минуты
Ну что бы написал 'in' выводит дюймы, написал 'cm' выводит сантимы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 21:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно (C++):

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

Преобразование дюймов в сантиметры и обратно - Java
Помогите пожалуйста решить задание : Преобразование дюймов в сантиметры и обратно,предполагается что будет указана единица измерения...

Составить программу для обучения переводу чисел из двоичной системы счисления в 8ую и 16ую и обратно - C#
составить программу для обучения переводу чисел из двоичной системы счисления в 8ую и 16ую и обратно. Спасибо

Программа по переводу из 2 в 16 СС - Turbo Pascal
uses crt; var i,s,k,m,x,y: integer; j: char; n: string; a: array of char; begin clrscr; write('Wwedite...

Программа по переводу СС - C#
Проблема следующая: 1)не переводит отрицательные и дробные числа. 2)если стоит система счисления,например двоичная,и в окне &quot;исходное...

Составить программу перевода дюймов в миллиметры (1 дюйм равен 2,3995 мм) от 20 дюймов до 38 шагом в 2 дюйма - Pascal ABC
1. Составить программу перевода дюймов в миллиметры (1 дюйм равен 2,3995 мм) от 20 дюймов до 38 шагом в 2 дюйма.

10
Izaron
7 / 6 / 1
Регистрация: 29.12.2012
Сообщений: 41
29.12.2012, 21:41 #2
Цитата Сообщение от I love myguitar Посмотреть сообщение
Всем бывалым наверное программа по переводу дюймов в сантимы и обратно проста
вот только не пойму как сделать что бы выбирать

cout << " Ввыберите ипользуемую длину (in/cm ) ";

вместо (in = 1/ cm = 2);

Подскажите пожалуйста
В смысле, тебе не понятно, что означает этот код?
cin>>x ждет, пока пользователь введет 1 или 2, потом идут проверки.

Подключаешь #include <string>, обозначаешь переменную x не как float, а как string. Потом вместо if (x==1) пишешь if (x=="in") и т.д.
0
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 21:51  [ТС] #3
Как это будет выглядеть

string x или string float x или еще както ,,

Добавлено через 3 минуты
Вай спасибо тебе хороший человек

Добавлено через 1 минуту
Только как тебе поставить спасибо строчки спасибо под твоим ником нет

Добавлено через 43 секунды
напиши еще что то

Добавлено через 23 часа 45 минут
Теперь бы сделать аналогичную программу через оператор 'switch'

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
const float f = 2.54;
    string x ;
    float i =0; // дюймы
    float a=0;  // сантиметры
    char n =0;  
                    
    char cm;
    
    
     {
        cout << " Ввыберите ипользуемую длину (in/cm) ";
    cin >> x ;
    
    switch(n)
    
    {
    case 'i':
    
        x == "in";
        cout << " Вы выбрали дюймы " << endl << " Введите дюймы  " << endl ;    
        cin >> a;
        i = a * f;
        cout << i << " cm" << endl;
        break;
    
    case 'a':
        
        x =="cm";
        
        cout << " Вы выбрали сантиметры " << endl << " Введите сантиметры " ; 
        cin >> a;
        i = a/f;
        cout << i << " in" << endl;
    break;
    }
     }
    getchar();
    return 0;
}
Это неправильно конечно , но вот как бы облагоразуметь то что имею

Во первых я не пойму что мне надо указывать в 'switch(?)' что бы проверяло дальше и программа выполняла действия по запросу 'in' , 'cm'
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
30.12.2012, 21:58 #4
в switch нужно передать x
C++
1
 x =="cm";
а это заменить анлогично
C++
1
case "cm":
оператор switch не определен для такого типа
1
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 22:06  [ТС] #5
Я не пойму какую переменную надо указывать в 'switch(?)'
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
30.12.2012, 22:11 #6
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
sing namespace std;
#include <windows.h>
#include <iostream.h>
 
 
int main(){
    const float f = 2.54;
    char x[2]; //заменяем на массив символов
    float i =0; // дюймы
    float a=0;  // сантиметры
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << " Ввыберите ипользуемую длину (in/cm) ";
    cin >> x ;
 
    switch(x[0])   //проверяем 1 символ слова i- дюйм c-сантиметр
 
    {
    case 'i':
        cout << " Вы выбрали дюймы " << endl << " Введите дюймы  " << endl ;
        cin >> a;
        i = a * f;
        cout << i << " cm" << endl;
        break;
 
    case 'c':
 
        cout << " Вы выбрали сантиметры " << endl << " Введите сантиметры " ;
        cin >> a;
        i = a/f;
        cout << i << " in" << endl;
    break;
    }
 
    getchar();
    return 0;
}
1
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 22:45  [ТС] #7
После ввода дюймов терминал закрываеться, вычислиния не происходят, я пользуюсь VS2010
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
30.12.2012, 22:46 #8
числовых значений дюймов? у меня считает
1
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 22:52  [ТС] #9
Все правильно, все работает если добавить второй 'getchar()'
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
30.12.2012, 22:54 #10
поставте вместо него лучше
C++
1
system("pause");
перед оператором
C++
1
return 0;
1
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 23:07  [ТС] #11
тоже работает
0
30.12.2012, 23:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2012, 23:07
Привет! Вот еще темы с ответами:

программа по переводу систем счисления - C++
Нужно написать программу, желательно на си шарп, на кнопках по переводу из одной системы счисления в другую, кто может с этим помочь

Программа по переводу градусов цельсия в фаренгейты - C (СИ)
Сделал программу по переводу градусов цельсия в фаренгейты по книжке, сделал задание 1.3, а вот 1.4 не могу. Не понятно условие: Напишите...

Не запускается программа по переводу арабских чисел в римские - PascalABC.NET
Писала программу по учебнику, для перевода арабских чисел в римские, и похоже что то упустила. Вот код: const ROME: array of string...

Программа или онлайн сервис по переводу кода с VB.NET на C# - Visual Basic .NET
Подскажите хорошую программу или онлайн сервис по переводу кода с VB.NET на C#. Заранее спасибо!:)


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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