Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/30: Рейтинг темы: голосов - 30, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 17
1

Как записать строку из консоли в переменную

06.06.2013, 19:50. Показов 6034. Ответов 11
Метки нет (Все метки)

Всем привет, не знаю, как назвать то, что мне нужно, суть состоит в том:
есть у меня код, который переводит из 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
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <math.h>
#include <conio.h>
#include <string.h>
 
using namespace std;
char int_symbol(int in)
{
    char out[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    return out[in];
}
 
void ten_base(int in, int base)
{
    if (in<base)
        {
                cout<<int_symbol(in);
        return ;
    }
    ten_base(in/base,base);
    cout<< int_symbol(in%base);
}
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int in,base;
    cout<<"Введите число"<<endl;
    cin >> in;
    checkin(in);
    cout<<"Введите систему исчисления"<<endl;
    cin >> base;
    checkin(base);
    cout<<in<<" в "<<base<<"-чной системе будет "<<endl;
    ten_base(in,base);
    return 0;
}
так вот, получается, что данная прога выводит число, всё устраивает, но в дальнейшем мне нужно это число записать в файл, но я никак не пойму, как забрать его из консоли, или же придать его значение переменной в функции ten_base...
пример: вводим 25, система- двоичная, выводит 11001, так вот, мне нужно вот это 11001 как-то придать любой переменной(хоть стринг)
всё, больше не знаю, как ещё объяснить что я хочу
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2013, 19:50
Ответы с готовыми решениями:

Считать с консоли строку, записать ее во вторую переменную и сравнить с первой
Здравствуйте, есть люди, которые имели дело с Scheme? У меня довольно простой вопрос: есть...

Как с консоли считывать число и записать в переменную?
Буду очень благодарен. Никак не пойму как реализовать. Спасибо.

Как записать строку в переменную
Даётся символьная строка. Как её прописать.

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

11
Форумчанин
Эксперт CЭксперт С++
8169 / 5017 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
06.06.2013, 19:53 2
в чем проблема сделать так:
C++
1
2
3
4
5
6
void foo(const std::string &s)
{
    // ...
}
string str = "11001";
foo(str);
0
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.06.2013, 20:02 3
Можно так:
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
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <string>
using namespace std;
 
string str;
 
char int_symbol(int in)
{
    char out[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    return out[in];
}
 
void ten_base(int in, int base)
{
    if (in<base)
        {
                cout<<int_symbol(in);
        return ;
    }
    ten_base(in/base, base);
    //cout<< int_symbol(in%base);
    str += int_symbol(in%base);
}
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int in, base;
    cout<<"Введите число"<<endl;
    cin >> in;
    checkin(in);
    cout<<"Введите систему исчисления"<<endl;
    cin >> base;
    checkin(base);
    cout<<in<<" в "<<base<<"-чной системе будет "<<endl;
    ten_base(in, base);
    
    cout << str << endl;
    
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 17
06.06.2013, 20:09  [ТС] 4
MrGluck,
я не понял...
оно выводит число, и мне это число нужно вбить в переменную(число всё время ж разное)

Добавлено через 7 минут
alsav22,
спасибо большое, только я не понял, str это переменная, которую не нужно объявлять и она сохраняет своё значение в любой функции?
0
Форумчанин
Эксперт CЭксперт С++
8169 / 5017 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
06.06.2013, 20:13 5
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 <string>
 
char int_symbol(int in)
{
    char out[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    return out[in];
}
 
void ten_base(std::string &s, int in, int base)
{
    if (in < base)
    {
        s += int_symbol(in);
        return;
    }
    ten_base(s, in / base, base);
    s += int_symbol(in % base);
}
 
int main()
{
    std::string res;
    ten_base(res, 8, 2);
    std::cout << res << std::endl;
}
0
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 17
06.06.2013, 20:14  [ТС] 6
всё, вроде-бы понял) спасибо всем)
0
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.06.2013, 20:19 7
Цитата Сообщение от Stonerider Посмотреть сообщение
только я не понял, str это переменная, которую не нужно объявлять и она сохраняет своё значение в любой функции?
Объявлена как глобальная в 10 строке. Видна везде, т.к. глобальная.

Добавлено через 4 минуты
Можно сделать локальной и передавать в функции по ссылке:
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
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <string>
using namespace std;
 
 
char int_symbol(int in)
{
    char out[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    return out[in];
}
 
void ten_base(int in, int base, string &str)
{
    if (in<base)
        {
                cout<<int_symbol(in);
        return ;
    }
    ten_base(in/base, base, str);
    //cout<< int_symbol(in%base);
    str += int_symbol(in%base);
}
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int in, base;
    cout<<"Введите число"<<endl;
    cin >> in;
    checkin(in);
    cout<<"Введите систему исчисления"<<endl;
    cin >> base;
    checkin(base);
    cout<<in<<" в "<<base<<"-чной системе будет "<<endl;
    
    string str;
    
    ten_base(in, base, str);
    
    cout << str << endl;
    
    system("pause");
    return 0;
}
1
Форумчанин
Эксперт CЭксперт С++
8169 / 5017 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
06.06.2013, 20:40 8
alsav22,
Цитата Сообщение от alsav22 Посмотреть сообщение
if (in<base){
* * * * * * * * cout<<int_symbol(in);
[/quote]
не добавляет к строке, а лишь выводит символ
1
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.06.2013, 21:22 9
Stonerider, в топку мои предыдущие коды. Всё неправильно.

Добавлено через 26 минут
Вот так работает:
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
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <string>
using namespace std;
 
 
char int_symbol(int in)
{
    char out[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    return out[in];
}
 
void ten_base(int in, int base, string &str)
{
    char ch;
         if (in < base)
        {
             ch = int_symbol(in);
             str += ch;
        return ;
    }
    ten_base(in / base, base, str);
    ch = int_symbol(in % base);
    str += ch;
}
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int in, base;
    cout<<"Введите число"<<endl;
    cin >> in;
    checkin(in);
    cout<<"Введите систему исчисления"<<endl;
    cin >> base;
    checkin(base);
    cout<<in<<" в "<<base<<"-чной системе будет "<<endl;
    
    string str;
    
    ten_base(in, base, str);
    
    cout << str << endl;
    
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 17
06.06.2013, 21:30  [ТС] 10
alsav22, Спасибо, но я уже доделал 1-ый вариант и использую его)
0
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.06.2013, 21:33 11
Ну и хорошо.
0
480 / 472 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
06.06.2013, 21:35 12
а я вот тут заморочился и написал то , что ТС спрашивал изначально (нет понятное дело , что так не делается как он собирался это осуществить , но так ради интереса). Итак выводим в консоль , ПРОИЗВОЛЬНО что нам надо (в моём случае это 2 надписи) , при помощи функции считываем в переменную char очищаем экран , и затем на экран выводим эти же 2 надписи только уже с переменной в которую они считались.
2
Вложения
Тип файла: rar Project1.rar (106.7 Кб, 12 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2013, 21:35

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как правильно записать в переменную адресную строку?
У меня имеется меню в отдельном файле и подключается с помощью &lt;?php include('menu.php'); ?&gt;. В...

Как записать в переменную выделенную строку DataGridView?
Как записать выделенную строку в переменную ???

Как можно записать строку из компонента ListBox в переменную?
Доброго времени суток! Подскажите пожалуйста, как можно записать строку из компонента ListBox в...

В переменную com записать строку
В переменную com записать строку Data files stored at ~/data Вывести значение переменной,...

Записать в переменную строку
Здравствуйте. $a='qwerty'; $array='mnbvc'; $str = &quot; a = &quot;.$a.&quot; array = &quot;.$array; Каждый...

Записать в переменную текущую строку из RichTextBox
Как из текста в RichiТextBox взять строку в которой находится курсор и присвоить её текстовой...


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

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

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