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

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

Войти
Регистрация
Восстановить пароль
 
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
#1

из int в string - C++

03.11.2012, 17:32. Просмотров 855. Ответов 5
Метки нет (Все метки)

объясните ,пжлста, где ошибка.
собственно задание такое:
Enter one real and one integer number: 2.71828183 1392
The real is: _ _ _ _ _ _2.718
The integer is: _ _ _ _1392
я перевожу в string, чтобы посчитать количество символов и затем вывести эти линии "_" перед числом
сначало округляю число, затем считаю, 5 символов, как я понимаю просто +еще один символ(того 6), во втором числе 4
но у меня получается скажем если я ввожу 2.444 его разделяет на два числа целую и реальную часть( 2 и 0.444), а ввод второго числа игнорируется, и с подсчетом символов в реальной части тоже что-то не то
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
while(true)
{
        
cout<<"enter one real and one integer number:"<<endl;
cin>>number7;
cin>>real1;
if( cin.good())
    {
               
               cout<<"The real number is:"<<endl;
               std::cout<<std::fixed<<std::setprecision(3)<<real1<<std::endl;
               
               stringstream ss;//potok dlja strok
               
               ss <<real1; //  v potok 4islo
               string str1;
               ss>> str1; // iz potoka stroka
               cout <<"size of real:"<< ((str1.size()+1)) << endl; //vivod koli4estva simvolov v stroke
               for (int i=0;i<=((str1.size()+1));i++){
               cout<<"_";
               }
               cout<<real1;
               cout<<endl;
               
               cout<<"The integer is:"<<number7<<endl;
               stringstream s;//potok dlja strok
               
               s << number7; //  
               string str;
               s >>str; // 
               cout <<"size of int:"<< str.size() << endl; 
               for (int i=0;i<str.size();i++){
               cout<<"_";}
               cout<<number7;
               cout<<endl;
               cin.ignore(10, '\n');
               break;
     }
     cin.clear();
     cout << "nepraviljnij vvod " << endl;
     cin.ignore(10, '\n');
     }
Миниатюры
из int в string  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 17:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос из int в string (C++):

Реализация функции char *padl(const char *string, int len, int c=' ') - C++
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

Как вставить элемент и вывести элементы на экран в map<string, map<string,int>> ? - C++
У меня есть map&lt;string, map&lt;string,int&gt;&gt;, в него надо добавить элементы (типа Ivanov potato 200) Использовать именно map&lt;string,...

Функция isspace и тип string: Не существует подходящей функции преобразования из "std::string" в "int" - C++
Добрый день! Я только начинаю изучать язык c++ по книге &quot;Язык программирования С++. Базовый курс 5-е изд 2014(Стэнли Б. Липпман)&quot;. ...

Int to string - C++
Какой способ перевода Int в String самый лёгкий ? В делфи привык писать Inttostr (i) , а на с++ такое есть ?

string в int - C++
народ подскажите пожалуйств как строку в число перевести? например string в int

String в Int - C++
Как можно преобразовать String в Int ? Не могли бы вы привести пример на массиве строк ?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
03.11.2012, 18:39 #2
letnjaja, если вам необходимо сделать выравнивание, то всё намного проще
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
#include <iostream>
#include <iomanip>
 
int main() {
 
    using namespace std;
 
    int i;
    double d;
 
    cout << "Enter one real and one integer number: ";
    cin >> d >> i;
 
    // указываем символ заполнитель
    cout.fill('_');  
 
    // устанавливаем выравнивание текста по левому краю
    cout.setf(ios::left); 
 
    // с помощью setw резервируем поле шириной в 20 символов для записи "The real is: " 
    // все оставшиеся свободными ячейки будут заполнены символом '_'(cм. строку 14)    
    cout << setw(20) << "The real is: " << d << endl;
    
    // здесь то же, что и выше
    cout << setw(20) << "The integer is: " << i << endl;
}
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
03.11.2012, 18:44  [ТС] #3
спасибо, наверное, потому что это задание на ввод, вывод, а я тут мозг ломаю))
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
03.11.2012, 19:01  [ТС] #4
а как сделать, чтобы цифры по правому краю равнялись, тоесть чтоб 4 под нулями были?
Изображения
 
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
03.11.2012, 21:36 #5
letnjaja, std::right
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
03.11.2012, 21:47 #6
C++
1
2
3
4
5
6
7
    cout.fill('_');
 
    cout << left << setw(20) << "The real is: "
         << right << setw(20) << d << endl;
         
    cout << left << setw(20) << "The integer is: "
         << right << setw(20) << i << endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2012, 21:47
Привет! Вот еще темы с ответами:

Int to string - C++
Помогите перевести из Int в String, среда разработки: VS10 Express

Int to String - C++
Подскажите стандартную функцию для конвертирования Int to String или других чисел в string

string to int, int to string - C++
Вообщем интересует сабж. Нашел в интернете две функции atoi &amp; itoa. Как-то не сраслось с ними. Может пояснит кто их работу, пожалуйста....

int в string - C++
У меня в переменных x и y содержатся определенные числа, причем переменные типа string. Мне нужно как то сложить эти числа и поместить в...


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

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

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