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

Не работает проверка строк

20.10.2013, 15:40. Просмотров 960. Ответов 2
Метки нет (Все метки)


Работаю в среде DEV C++, и не могу понять что неправильно. Пробовал вместо string ставить массив символов - немного работает но не всё.
Код
#include <iostream>
#include <conio.h>
#include <string.h>
using std :: cout;
using std :: cin;
using std :: string;
using std :: endl;
class Worker {
private:
	string prizv;
	string posada;
	int zarp;
	int stazh;
public:
void SetWorker();
void ShowWorker(){cout<<"Klimenko"<<" "<<posada<<" "<<zarp<<" "<<" "<<stazh;}
void GetPrizv(){cout<<prizv<<endl;}
int GetStazh(){return stazh;}
int GetZarp(){return zarp;}
string GetPosada(){return posada;};
Worker(){posada="Unknow";zarp=stazh=0;};
Worker(string pos){posada=pos;zarp=stazh=0;}
Worker(string pos,int z){posada=pos;zarp=z;stazh=0;};
Worker(string pos,int z,int s){posada=pos;zarp=z;stazh=s;};
};
void Worker::SetWorker()
{
 cout<<"Vvedit6 prizvishche pracivnica ";
 cin>>prizv;
 cout<<"Vvedit6 posadu ";
 cin>>posada;
 cout<<"Vvedit6 stazh roboti ";
 cin>>stazh;
 cout<<"Vvedit6 zarobitnyo platu ";
 cin>>zarp;
}

int main(){
	Worker dani;
	Worker dani2("Kerivnik");
	Worker dani3("Kerivnik",5000);
	Worker dani4("Kerivnik",5000,5);
	int s,z,k=0;
	string p;
	do
	{
		cout<<"1-Vvedenn9 danih pracivnika\n2-Poshuk\n3-Dani pracivnikiv\n4-Vihid\n";
		cin>>k;
	switch(k)
	{
	case 1:
	{
	cout<<"Dani\n";
	dani.ShowWorker();
	dani2.ShowWorker();
	dani3.ShowWorker();
	dani4.ShowWorker();
	dani4.SetWorker();
	break;
	}
	case 2:
		{
			do
			{
			cout<<"Viberit6 kriteriy poshuku\n1-za stazhem\n2-za zarplatneyo\n3-za posadoyo\n4-povernutisya nazad\n";
			cin>>k;
			switch(k){
				case 1: {
				cout<<"Vvedit6 stazh povnih rokiv ";
				cin>>s;
					if(dani4.GetStazh()>s){
						dani4.GetPrizv();
				}
				break;
				}
				case 2:{
				cout<<"Vvedit6 zarplatnyo ";
				cin>>z;
					if(dani4.GetZarp()>z){
						dani4.GetPrizv();
					}
					break;
				}
				case 3:{
				cout<<"Vvedit6 posadu ";
				cin>>p;
					if(strcmp(dani4.GetPosada(),p)==0){
						dani4.GetPrizv();
					}
					break;
				}
			}
		}
		while (k!=4);
		break;
	}

	}
	}

	while (k!=4);
	return 0;
}
Помогите пожалуйста найти выход с этой проблемы.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2013, 15:40
Ответы с готовыми решениями:

Проверка совпадения строк не работает
Добрый день. Я работаю на CMS Modx. Я хочу сделать так, чтобы при переходе на...

Проверка на вхождение строки в массив строк работает некорректно
У меня есть строка и массив строк, к примеру string mes = Console.WriteLine(); string digits =...

Проверка на число: Одно и то же условие работает в случае numchar, но не работает с xchar и ychar
Помогите ламеру с ламерской программкой. В тестирующей функции запрашиваются три строки numchar,...

Активация почты: не работает проверка ссылки и не работает сессия
Здравствуйте. Пишу сайт по разным урокам из интернета. При активации почты, сама активация...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
2
54 / 54 / 37
Регистрация: 05.09.2013
Сообщений: 1,865
20.10.2013, 16:17 2
Лучший ответ Сообщение было отмечено Hero17 как решение

Решение

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
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <conio.h>
#include <string>
using std :: cout;
using std :: cin;
using std :: string;
using std :: endl;
class Worker {
private:
    string prizv;
    string posada;
    int zarp;
    int stazh;
public:
void SetWorker();
void ShowWorker(){cout<<"Klimenko"<<" "<<posada<<" "<<zarp<<" "<<" "<<stazh;}
void GetPrizv(){cout<<prizv<<endl;}
int GetStazh(){return stazh;}
int GetZarp(){return zarp;}
string GetPosada(){return posada;};
Worker(){posada="Unknow";zarp=stazh=0;};
Worker(string pos){posada=pos;zarp=stazh=0;}
Worker(string pos,int z){posada=pos;zarp=z;stazh=0;};
Worker(string pos,int z,int s){posada=pos;zarp=z;stazh=s;};
};
void Worker::SetWorker()
{
 cout<<"Vvedit6 prizvishche pracivnica ";
 cin>>prizv;
 cout<<"Vvedit6 posadu ";
 cin>>posada;
 cout<<"Vvedit6 stazh roboti ";
 cin>>stazh;
 cout<<"Vvedit6 zarobitnyo platu ";
 cin>>zarp;
}
 
int main(){
    Worker dani;
    Worker dani2("Kerivnik");
    Worker dani3("Kerivnik",5000);
    Worker dani4("Kerivnik",5000,5);
    int s,z,k=0;
    string p;
    do
    {
        cout<<"1-Vvedenn9 danih pracivnika\n2-Poshuk\n3-Dani pracivnikiv\n4-Vihid\n";
        cin>>k;
    switch(k)
    {
    case 1:
    {
    cout<<"Dani\n";
    dani.ShowWorker();
    dani2.ShowWorker();
    dani3.ShowWorker();
    dani4.ShowWorker();
    dani4.SetWorker();
    break;
    }
    case 2:
        {
            do
            {
            cout<<"Viberit6 kriteriy poshuku\n1-za stazhem\n2-za zarplatneyo\n3-za posadoyo\n4-povernutisya nazad\n";
            cin>>k;
            switch(k){
                case 1: {
                cout<<"Vvedit6 stazh povnih rokiv ";
                cin>>s;
                    if(dani4.GetStazh()>s){
                        dani4.GetPrizv();
                }
                break;
                }
                case 2:{
                cout<<"Vvedit6 zarplatnyo ";
                cin>>z;
                    if(dani4.GetZarp()>z){
                        dani4.GetPrizv();
                    }
                    break;
                }
                case 3:{
                cout<<"Vvedit6 posadu ";
                cin>>p;
                    if(dani4.GetPosada() == p){
                        dani4.GetPrizv();
                    }
                    break;
                }
            }
        }
        while (k!=4);
        break;
    }
 
    }
    }
 
    while (k!=4);
    return 0;
}
0
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 6
20.10.2013, 18:59  [ТС] 3
Спасибо!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2013, 18:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Проверка строк
Как на си реализовать проверку строк? К примеру, ожидаю сообщение &quot;DATA OK&quot;.

Проверка строк
Вот есть например строка AnsiString msg= &quot;gold 50, hp=100; mv=200&quot;; как сделать вот такую проверку:...

Проверка строк
Всем привет! Вот есть задача на проверку строки. Помогите решить, пожалуйста. Ввести строку...

Проверка строк
Доброго времени суток. Подскажите как можно проверить в строке наличие 2 стрингов? К примеру есть...


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

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

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