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

Вывести фамилии служащих со стажем не менее заданного - C++

Восстановить пароль Регистрация
 
reaktiv12
 Аватар для reaktiv12
3 / 3 / 2
Регистрация: 20.05.2013
Сообщений: 43
15.04.2014, 20:37     Вывести фамилии служащих со стажем не менее заданного #1
вывести фамилии служащих со стажем не менее заданного. Не получается написать именно тот алгоритм, который производит вывод. Вставляю сюда код, НО код недописанный. Не могу написать ту часть кода, в которой происходит операция вывода.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main(){
    int familia, staj,itog;
    cout << " familia" << endl;
    cin >> familia;
    cout << " staj " << endl;
    cin >> staj;
    
    if(staj>=10){
                     
                        }
    cout << "familii: " << itog << endl;
    system("PAUSE");
    return 0;
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
15.04.2014, 21:55     Вывести фамилии служащих со стажем не менее заданного #2
reaktiv12, На вскидку происходящего, такое проще всего сделать в структурах.
И главное, вы вводите фамилию?
C++
1
2
3
int familia, staj,itog;
    cout << " familia" << endl;
    cin >> familia;
int familia
Если вводится фамилия, то она как минимум должна быть типа char или string. Иначе в int ( это целочисленный тип), вводятся цифры.
reaktiv12
 Аватар для reaktiv12
3 / 3 / 2
Регистрация: 20.05.2013
Сообщений: 43
15.04.2014, 22:06  [ТС]     Вывести фамилии служащих со стажем не менее заданного #3
Спасибо за замечание по поводу фамилии, а то я и не заметил, но вот всё таки алгоритм никак не могу создать((
IrineK
Заблокирован
15.04.2014, 23:01     Вывести фамилии служащих со стажем не менее заданного #4
Цитата Сообщение от reaktiv12 Посмотреть сообщение
алгоритм никак не могу создать
Для начала попробуйте ввести и вывести строку.
Потом будете думать об алгоритмах.
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
15.04.2014, 23:17     Вывести фамилии служащих со стажем не менее заданного #5
это точно...

вот накидал тебе пример.
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
#include <string>
#include <iostream>
#include <fstream>
 
#include <vector>
 
 
 
using namespace std;
 
struct slujba // структура служба
{
    string name;
    string familia; // фамилия
    int age; //возраст
    double staj; // стаж
};
 
void Read(vector <slujba> &v) // функция чтения из файла
{
    v.clear();
    fstream f("in.txt", ios::in);
    if (!f)
    {
        cout << " Файл не обнаружен" << endl;
    }
    else
    {
        while (!f.eof())
        {
            slujba tmp;
            f >> tmp.name >> tmp.familia >> tmp.age >> tmp.staj;
            if ((tmp.name.size() == 0) || (tmp.age <= 0))
            {
                cout << " Ошибка. Введены неверные данные." << endl;
                break;
            }
            v.push_back(tmp);
        }
    }
    f.close();
}
 
 
void Display(const vector <slujba>&v) // функция вывода вектора на экран 
{
    int size = v.size();
    if (size == 0)
    {
        cout << " Вектор пуст." << endl;
    }
    else
    {
        cout << "Всего записей: " << size << endl;
        for (int i = 0; i<size; i++)
        {
            cout << "===========================" << endl
                << "Запись №" << (i + 1) << endl
                << "Имя: " << v[i].name << endl
                << "Фамили: " << v[i].familia << endl
                << "Возраст: " << v[i].age << endl
                << "Стаж: " << v[i].staj << endl;
        }
    }
}
 
void poisk(const vector <slujba>&v1, vector <slujba> &v2, double& STAJ) //функция поиска стажа
{
    v2.clear();
    int size = v1.size();
    for (int i = 0; i<size; i++)
    {
        if ((v1[i].staj >= STAJ))
        {
            v2.push_back(v1[i]);
        }
    }
}
 
int main()
{
    setlocale(LC_ALL, "Russian"); // вывод русского кирилицы
    string a, b;
    vector <slujba> base,base2; //вектор
    double STAJ;
    cout << "\n" << endl;
    Read(base);//возвращает вектор
    Display(base);//на экран
    cout <<"\n"<< " Возможно вы хотите очистить консоль? Y:N" << endl; getline(cin, a);
    if (a == "Y" || "y") { system("cls"); }
    cout << " Введите стаж: "; cin >> STAJ; cout << endl;
    poisk(base, base2, STAJ); //ищем стаж
    Display(base2);//на экран
 
    system("pause"); //пауза
    return 0; // выход
}
дальше можно подправить как угодно. Не знаю, как точно вам нужно.
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
15.04.2014, 23:22     Вывести фамилии служащих со стажем не менее заданного #6
файл пример:in.txt
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2014, 21:46     Вывести фамилии служащих со стажем не менее заданного
Еще ссылки по теме:

Вывести имя и количество букв в фамилии. Вывести самое длинное слово C++
C++ Вывести на экран все элементы заданного столбца матрицы большие заданного числа
Структуры. Вывести список сотрудников с рабочим стажем превышающим 20 лет C++

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

Или воспользуйтесь поиском по форуму:
reaktiv12
 Аватар для reaktiv12
3 / 3 / 2
Регистрация: 20.05.2013
Сообщений: 43
17.04.2014, 21:46  [ТС]     Вывести фамилии служащих со стажем не менее заданного #7
Всем спасибо за помощь.
Yandex
Объявления
17.04.2014, 21:46     Вывести фамилии служащих со стажем не менее заданного
Ответ Создать тему
Опции темы

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