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

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

Войти
Регистрация
Восстановить пароль
 
Jet1k
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 20
#1

Написать программу перевода целых и дробных чисел ... - C++

12.05.2010, 12:53. Просмотров 815. Ответов 6
Метки нет (Все метки)

Здравствуйте. Необходимо составить текст программы по данному заданию
Написать программу перевода целых и дробных чисел(кол-во цифр в дробной части не должно превышать 6) из S-системы счисления(S=2,8,16. S задается с клавиатуры) в 10СС.
Вычисление производить с точностью до 8 десятичных цифр
Поиск использовал, ничего подходящего не нашел. Буду премного благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2010, 12:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу перевода целых и дробных чисел ... (C++):

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

Написать программу, которая вводит с клавиатуры последовательность из пяти дробных чисел - C++
Помогите пожалуйста решить задачу на языке С++!!!Очень очень очень нужно!!! Написать программу, которая вводит с клавиатуры...

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

написать программу которая вычисляет среднее арифметическое последовательности отрицательных дробных чисел, вводимых с клавиатуры - C++
Друзья, помогите разобраться. Компилятор выдает ошибку в 16 строке, а я не понимаю в чем дело. За ранее спасибо и благодарю) ...

Требуется написать программу для перевода чисел из 2-ой в 16-ую СС - C++
Исходный текстовый файл содержит числа в двоичной системе счисления, отделенные друг от друга хотя бы одним пробелом. Требуется...

Написать программу, которая вычисляет сумму первых n целых положительных целых чисел - C++
Написать программу, которая вычисляет сумму первых n целых положительных целых чисел. Количество суммируемых чисел должно вводиться во...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 141
Завершенные тесты: 3
12.05.2010, 15:36 #2
Не знаю правильно ли я понял задание, но все же у меня вот такое получилось:

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include <string> 
using namespace std;
 
string getdrobn(string s)
{
    int k;
    for(int i = 0; i<s.length(); i++) {
        if(s[i] == '.' || s[i] == ',') {
            k = i;
            break;
        }
    }
    s.erase(0, k+1);
    return s;
}
string getcel(string s)
{
    int k;
    for(int i = 0; i<s.length(); i++) {
        if(s[i] == '.' || s[i] == ',') {
            k = i;
            break;
        }
    }
    s.erase(k, s.length()-k);
    return s;
}
 
char ntoa(int n)
{
    if ((n >= 0) && (n <= 9))
        return '0' + n;
    else
        return 'A' - 10 + n;
 
}
 
int aton(char a)
{
    if ((a >= '0') && (a <= '9'))
        return a - '0';
    else if ((a >= 'a') && (a <= 'z'))
        return a - 'a' + 10;
    else
        return a - 'A' + 10;
}
 
 
string conv(string s, int fs, int fd)
{
    int A = 0;
    for (unsigned int i = 0; i < s.length(); i++)
    {
        char a;
        a = aton(s[i]);
        if ((a >= 0) && (a <= fs))
            A = A * fs + a;
        else
            return "Number has uncorrect format";
    }
    string sd = "";
    while (A != 0)
    {
        sd = ntoa(A % fd) + sd;
        A /= fd;
    }
    return sd;
}
 
 
int main() {
    setlocale(LC_ALL, "Rus");
    int syst;
    bool drobn;
    cout << "Введите систему счисления: " << endl;
    cin >> syst;
    if((syst!=2) && (syst!=8) && (syst!=16))
        return -1;
    else
        cout << "Введите число: " << endl;
        string n;
        cin >> n;
    for(int i = 0; i<n.length(); i++) {
        if(n[i] == '.' || n[i] == ',') {
            drobn = true;
        }
    }
    if(drobn) cout << "Число " << n << " в 10 системе счисления " << conv(getcel(n), syst, 10) << "." << conv(getdrobn(n), syst, 10) << endl;
    else cout << "Число " << n << " в 10 системе счисления " << conv(n, syst, 10) << endl;
    return 0;
}
Jet1k
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 20
12.05.2010, 18:37  [ТС] #3
Собственно, при запуске выводит ошибки в 73 строке:
--------------------Configuration: mingw2.95 - CUI Debug, Builder Type: MinGW (Old)--------------------

Checking file dependency...
Compiling C:\Program Files\C-Free Standard\temp\Untitled1.cpp...
[Error] C:\Program Files\C-Free Standard\temp\Untitled1.cpp:73: `LC_ALL' undeclared (first use this function)
[Error] C:\Program Files\C-Free Standard\temp\Untitled1.cpp:73: (Each undeclared identifier is reported only once
[Error] C:\Program Files\C-Free Standard\temp\Untitled1.cpp:73: for each function it appears in.)
[Error] C:\Program Files\C-Free Standard\temp\Untitled1.cpp:73: implicit declaration of function `int setlocale(...)'
Complete Make Untitled1: 4 error(s), 0 warning(s)
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
12.05.2010, 18:45 #4
Цитата Сообщение от Tyoma Посмотреть сообщение
setlocale(LC_ALL, "Rus");
попробуйте заменить:
setlocale(LC_CTYPE,"Rus");
Jet1k
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 20
12.05.2010, 18:48  [ТС] #5
Цитата Сообщение от Crudelis Посмотреть сообщение
попробуйте заменить:
setlocale(LC_CTYPE,"Rus");
хм странно, выдает ту же ошибку, но уже с "LC_CTYPE".
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 141
Завершенные тесты: 3
12.05.2010, 18:54 #6
setlocale(0, "Rus"); должно пройти вроде...

Добавлено через 1 минуту
А если не поможет то можно просто выводить все по-английски
Jet1k
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 20
12.05.2010, 18:55  [ТС] #7
Осталась 1 ошибка:
[Error] C:\Program Files\C-Free Standard\temp\Untitled1.cpp:73: implicit declaration of function `int setlocale(...)'
Переписал с ру на англ, 73 строку удалил - заработало.
Tyoma задание правильно понял, держи несколько "Спасибо". Действительно, выручил
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2010, 18:55
Привет! Вот еще темы с ответами:

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

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

Написать программу, которая вводит с клавиатуры последовательность из пяти дробных чисел и после ввода каждого числа выводит среднее арифметическое п - C++
Нужна помощь в написание программ на языке С++. буду благодарен. 1. Написать программу, которая вводит с клавиатуры последовательность из...

Написать программу для перевода чисел из двоичной в шестнадцатеричную систему счисления - C++
Написать программу для перевода чисел из двоичной в шестнадцатеричную систему счисления


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

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

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