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

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

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

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

29.12.2012, 21:41. Просмотров 544. Ответов 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' выводит сантимы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 21:41     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно
Посмотрите здесь:
C++ Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно.
программа по переводу из постфиксной формы записи в инфиксную с использованием скобок C++
Упражнение из книги Страуструпа. Программа угадай число. Можно ли написать лучше? C++
С++ Одна из задач ЕгЭ С4 C++
C++ Упражнение из книги Страуструпа. Программа мини-калькулятор. Цифры записанные в строковом формате
Программа обучения переводу чисел из десятичной системы счисления в 2 10 и 16 систем счисления C++
C++ Программа перевода из 10-ой с/с в n-ую и обратно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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") и т.д.
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'
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 не определен для такого типа
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 22:06  [ТС]     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно #5
Я не пойму какую переменную надо указывать в 'switch(?)'
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;
}
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 22:45  [ТС]     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно #7
После ввода дюймов терминал закрываеться, вычислиния не происходят, я пользуюсь VS2010
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
30.12.2012, 22:46     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно #8
числовых значений дюймов? у меня считает
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 22:52  [ТС]     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно #9
Все правильно, все работает если добавить второй 'getchar()'
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
30.12.2012, 22:54     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно #10
поставте вместо него лучше
C++
1
system("pause");
перед оператором
C++
1
return 0;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2012, 23:07     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно
Еще ссылки по теме:
C++ Не работает одна программа
C++ При вводе определенных переменных программа должна возвращать пользователя обратно к первому шагу
C++ Одна программа записывает данные в файл, а другая их считывает и выводит на экран
C++ программа, вычисляющая сумму первых n членов ряда: 1+1/2+1/3+1/4+…
Программа, вычисляющая произведение первых 10 нечетных чисел C++

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

Или воспользуйтесь поиском по форуму:
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
30.12.2012, 23:07  [ТС]     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно #11
тоже работает
Yandex
Объявления
30.12.2012, 23:07     Одна из первых задач Страуструпа. Программа по переводу дюймов в сантимы и обратно
Ответ Создать тему
Опции темы

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