Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Мякиш
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 1
#1

Не получается сравнить переменную типа стринг - C++

03.12.2014, 00:23. Просмотров 233. Ответов 1
Метки нет (Все метки)

Скинул весь код, раздел программы где код не работает пометил комментарием.
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
#include <iostream>
 
using namespace std;
 
int main (){
    struct worker {
        string fio;
        char dolgnost[50];
        int year;       
    };
    const int n = 3;
    int k = 0;
    int god = 2014;
    worker workings[n];
    for (int i=0; i<n; i++){
        cout<<"Vvedite fio rabotnika"<<endl;
        getline(cin, workings[i].fio);
        cout<<"Vvedite dolgnost rabotnika"<<endl;
        cin>>workings[i].dolgnost;
        cout<<"Vvedite god postyplenia rabotnika na raboty"<<endl;
        cin>>workings[i].year;
        cin.ignore();
    }
    cout<<"Spisok rabotnikov po alphavity: "<<endl;
 
//Не могу сравнить два массива в цикле, нужно вывести работников по алфавиту.. 
//Подскажите что нужно исправить, либо новыйкод
 
    string workings2[n];
    int q;
    int s;
    int m;
    for (int i=0; i<n; i++){
        s = 0;
        q = 0;
        m = 0;
        for (int j=0; j<n; j++){
            while (m == 0){
                if (workings[i].fio[q] > workings[j].fio[q]) {
                    s++;
                    m = 1;
                }else if (workings[j].fio[q] > workings[i].fio[q]){
                    break;
                }else{
                    q++;
                }
            }
        }
        workings2[s] = workings[i].fio; 
    }
    for (int i=0; i<n; i++){
        cout<<workings2[i]<<endl;
    }
//----------------------------------------------------------
    cout<<"Vvedite stag rababotnikov"<<endl;
    int stag;
    cin>>stag;
    for (int m=0; m<n; m++){
        if (stag<(god - workings[m].year)){
            cout<<"FIO: "<<workings[m].fio<<endl;
            k=1;
        }
    }
    if (k == 0){
        cout<<"Rabotnikov s takim stagem  net"<<endl;
    }
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2014, 00:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается сравнить переменную типа стринг (C++):

Как сравнить переменную типа char - C++
нужно найти элементы типа char различные от нуля, программу я написал, а вот не получается сравнивать #include &lt;iostream&gt; #include...

Сравнить переменную типа string с содержимым файла - C++
а как можно сравнить переменную типа string с содержимым файла?

Как сравнить элемент вектора и переменную типа wchar_t? - C++
Имеется vector&lt;wstring&gt; a; и переменная wchar_t *sss; также создан итератор вектора. Вопрос: как сравнить элемент вектора и переменную...

Сравнение переменных типа стринг - C++
Помогите разобраться что не так в программе. Сама программа большая, работает хорошо, но непонятный момент примерно состоит в следующем: ...

Сравнение нескольких переменных типа стринг - C++
Есть код, в котором нужно сравнивать 3 временных промежутка, и по результатом сравнения выводит, как не странно, результат. Все бы хорошо,...

Как считать слово из входного файла в лист типа стринг - C++
Как считать допустим целую фамилию из входного файла в лист типа стринг, можно ли это сделать не посимвольно?

1
Redee
17 / 18 / 3
Регистрация: 04.10.2014
Сообщений: 93
03.12.2014, 01:00 #2
Главная логика тут сравнивать коды буквы.

Если нужны русские буквы то нужно подключать русский / локализацию в консольное приложение твое.
Погугли задача вроде тривиальная.

Так с наскока - я бы делал каждому слову
vector<int> ve;
Добавлял переменные через
ve.push_back(/*полученный_код_буквы_слова*/);

Потом сверял в цикле каждую переменную между двумя векторами-кодами букв.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2014, 01:00
Привет! Вот еще темы с ответами:

Записать адрес переменной произвольного типа в переменную типа int - C++
Здравствуйте, есть структура __packed struct myStruct{ uint32 HisCh; uint32 sNo; uint16 tNo; uint32 reserv; };

Есть переменная типа char содержащая цифру; как записать это значение в переменную типа int? - C++
Пожалуйста, напомните стандартную функцию

Сравнить переменную со значением numericupdown - C++
Здравствуйте, мне нужно чтобы, когда пользователь в nud вводил число 7 выполнялось действие. А если любое другое число, то программа...

Не получается из входного потока с файла сравнить строки - C++
Не получается из входного потока с файла сравнить строки... Вообще не хочет. Не понял почему. Вроде всё просто. Но не пишет. Просто...


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

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

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