Skip to content
Snippets Groups Projects
Commit 04dba287 authored by Kazuyuki Omi's avatar Kazuyuki Omi
Browse files

Moved sstream2 to hw01

parent f249b79d
No related branches found
No related tags found
No related merge requests found
File added
File moved
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
typedef struct setting
{
int min = 0;
int max = 0;
int width = 2;
std::string align = "left";
std::vector<int> numbers;
int count = 0;
int suma = 0;
}setting;
void get_config(setting &a)
{
std::string line;
std::cout<<"start configration"<<std::endl;
std::getline(std::cin, line);
std::istringstream iss(line);
std::string setting;//configのそれぞれを見分けるための変数min, max, width, or align.
//issに、tokenの値を入れ、終わるのはeofつまり、何も読み込めない時。
while(iss>>setting)
{
std::istringstream setting_stream(setting);
std::string key;
std::getline(setting_stream, key, '=');
if(key == "config.min")
{
setting_stream >> a.min;
}
else if(key == "config.max")
{
setting_stream >> a.max;
}
else if(key == "config.width")
{
setting_stream >> a.width;
}
else if(key == "config.align")
{
setting_stream >> a.align;
}
}
}
void get_numbers(setting &a)
{
std::string line;
std::cout<<"zadejte cisla"<<std::endl;
std::getline(std::cin, line);
std::istringstream iss(line);
std::string point;
while(iss >> point)
{
if(point == "SUM(A:C)")
{
//sum(a);
break;
}
std::istringstream num_stream(point);
int number;
if(num_stream >>number)
{
a.numbers.push_back(number);
}
}
}
int main()
{
setting a;
get_config(a);
get_numbers(a);
std::cout<<a.min<<" "<<a.max<<" "<<a.width<<" "<<a.align<<std::endl;
for(int num: a.numbers)
{
std::cout<<num<<" ";
}
std::cout<<std::endl;
return 0;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment