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

Комментарии к программе на строки - C++

Восстановить пароль Регистрация
 
Locust1
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 35
27.01.2014, 01:24     Комментарии к программе на строки #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <sstream>
#include <string>
using namespace std; 
int main()
{
    string str1,str2,str1Num,str2Num;
    cout << "First string: ";
    getline(cin, str1); //чтение 1 строкового потока
    cout << "Second string: ";
    getline(cin, str2);//чтение 2 строкового потока
    stringstream Stream1(str1);
    stringstream Stream2(str2);
    while (Stream1 >> str1Num && Stream2 >> str2Num) { // Чтение из строкового потока в строку пока есть данные
        cout << str1Num << " * " << str2Num << " = ";
        cout << (atof(str1Num.c_str()) * atof(str2Num.c_str())) << endl; // Перевод из Си-строк в произведение чисел с плавающей точкой
    }
 
    system("pause");
    return 0;
}
Объясните пожалуйста, что такое stringstream, в интернетах об этом информации очень мало. И еще буду очень благодарен к комментариям к каждой строке программы, хочу ее разобрать. То что я понял я подписал.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
27.01.2014, 01:28     Комментарии к программе на строки #2
Цитата Сообщение от Locust1 Посмотреть сообщение
Объясните пожалуйста, что такое stringstream
stringstream позволяет связать поток ввода-вывода со строкой в памяти. Всё, что выводится в такой поток, добавляется в конец строки; всё, что считыватся из потока — извлекается из начала строки.
Locust1
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 35
27.01.2014, 01:30  [ТС]     Комментарии к программе на строки #3
cooller_94, спасибо.

Помогите с комментариями пожалуйста //
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
27.01.2014, 01:33     Комментарии к программе на строки #4
Цитата Сообщение от Locust1 Посмотреть сообщение
Помогите с комментариями пожалуйста
так у вас в принципе все основное откомментировано. Какая именно строка не понятна?
Locust1
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 35
27.01.2014, 01:38  [ТС]     Комментарии к программе на строки #5
cooller_94,
Цитата Сообщение от Locust1 Посмотреть сообщение
string str1,str2,str1Num,str2Num;
что значит str1Num,str2Num?

Цитата Сообщение от Locust1 Посмотреть сообщение
stringstream Stream1(str1);
* * stringstream Stream2(str2);
Какую роль это играет в программе в целом?

И всё, буду благодарен за объяснение.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
27.01.2014, 01:47     Комментарии к программе на строки #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Locust1 Посмотреть сообщение
что значит str1Num,str2Num?
в данные переменные считываются слова с потоков Stream1 и Stream2. Это нужно для того чтобы отделять от всей строки по одному слову, а затем уже выполнять действия непосредственно над выделенной подстрокой. В данном случае перевод в число.
Пример:
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream>
#include<string>
#include<sstream>
int main()
{
    std::string str = "one two three"; //строка с которой будем считывать
    std::stringstream ss(str); // превращаем строку в поток
    for(std::string word;ss>>word;) //считываем по одному слову
        std::cout<<word<<std::endl;
}
Результат:
Миниатюры
Комментарии к программе на строки  
Yandex
Объявления
27.01.2014, 01:47     Комментарии к программе на строки
Ответ Создать тему
Опции темы

Текущее время: 17:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru