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

Как написать функцию для сортировки строк в порядке возрастания из контейнера set ? - C++

Восстановить пароль Регистрация
 
coder09
Сообщений: n/a
24.11.2013, 19:09     Как написать функцию для сортировки строк в порядке возрастания из контейнера set ? #1
Пишу программу интернет магазин
не могу написать функцию которая бы сортировала строки в порядке возрастания .
Например в контейнере создал 12 строк с характеристиками и ценами на товар .
Я нажимаю команду и программа должна вывести строки в порядке возрастания характеристик и цен на товар .
Ниже мой текущий код с попыткой решения.
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
93
94
#include <set>
#include <iostream>
#include <string>
#include <fstream>
#include <iterator>
#include <algorithm>
 
using namespace std;
 
set<string> storage;
set<string> customers_storage;
 
 
void sort(){
    cout << "available items in store:\n";
    for (set<string>::iterator it = storage.begin(); it != storage.end(); ++it){
        cout << *it << endl;
    }
}
 
void create_pc(){
    
    char x;
    cout << "Please, enter type of your computer :";
    cin >> x ;
    if ( x=='d') {
        cout << "Please, enter computer's specifications :\n";
        
        string s,c,h,g,p,l;
        char z=' ' ;
        cout << "CPU TYPE - " ;
        getline (cin,s);
        cout << "CPU SPEED- " ;
        getline (cin,c);
        cout << "HARD DISK CAPACITY - " ;
        getline (cin,h);
        cout << "GRAPHICS CARD TYPE - " ;
        getline (cin,g);
        cout << "PRICE - " ;
        getline (cin,p);
        l = s+z+c+z+h+z+g+z+p;
        storage.insert(l);
        cout <<endl<<"DONE , THANK YOU! "<<endl;
    }
    
    if ( x=='l') {
        cout << "Please, enter laptop's specifications :\n";
        string s,c,h,g,b,w,p,l;
        char z=' ' ;
        cout << "CPU TYPE - " ;
        getline (cin,s);
        cout << "CPU SPEED  " ;
        getline (cin,c);
        cout << "HARD DISK CAPACITY - " ;
        getline (cin,h);
        cout << "GRAPHICS CARD TYPE - " ;
        getline (cin,g);
        cout << "BATTERY - " ;
        getline (cin,b);
        cout << "WEIGHT - " ;
        getline (cin,w);
        cout << "PRICE - " ;
        getline (cin,p);
        l = s+z+c+z+h+z+g+z+b+z+w+z+p;
        storage.insert(l);
       
        cout <<endl<<"DONE , THANK YOU! "<<endl;
    }
    
}
 
int main(){
    char c;
    ifstream in("input.txt");
    if (in.is_open())
    {
        for (string str; getline(in, str);)
        storage.insert(move(str));
    }
    
    do{
        cout << endl<<"Please, enter operation type\n";
        cout <<"'c' - CREATE A NEW COMPUTER"<<endl <<"'o' - SORT"<<endl;
        cin >> c;
  
        
        else if (c == 'c') insert_pc();
    
        else if (c=='o') sort();
    
    } while (c != 'e');
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 19:09     Как написать функцию для сортировки строк в порядке возрастания из контейнера set ?
Посмотрите здесь:

C++ Как достать указатель на объект из контейнера set
не могу разобраться как написать функцию сортировки и исправить функцию добавления в стек C++
C++ Передача контейнера set в функцию
C++ Напишите функцию сортировки, похожую на функцию которая использовалась для сортировки массивов, с той разницей, что ее а
Шаблон как тип контейнера std::set C++
Свой компаратор для контейнера set C++
Написать функцию сортировки строк исходного файла по длине C++
C++ Использование контейнера set для создания словаря

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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