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

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

Войти
Регистрация
Восстановить пароль
 
reaktiv12
3 / 3 / 2
Регистрация: 20.05.2013
Сообщений: 43
#1

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

15.04.2014, 20:37. Просмотров 391. Ответов 6
Метки нет (Все метки)

вывести фамилии служащих со стажем не менее заданного. Не получается написать именно тот алгоритм, который производит вывод. Вставляю сюда код, НО код недописанный. Не могу написать ту часть кода, в которой происходит операция вывода.
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;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2014, 20:37     Вывести фамилии служащих со стажем не менее заданного
Посмотрите здесь:
Структуры. Вывести список сотрудников с рабочим стажем превышающим 20 лет C++
Массив структур: вывести данные о рабочем с наибольшей зарплатой и наименьшим стажем C++
Определить день когда пробег спортсмена составит не менее заданного C++
Вывести имя и количество букв в фамилии. Вывести самое длинное слово C++
Вывести имя и количество букв в фамилии. Вывести самое длинное слово C++
C++ Найти прямую, котороя проходит не менее чем через четыре точки из заданного множества
C++ Вывести на экран все элементы заданного столбца матрицы большие заданного числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
о_О_Кто_здесь
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
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++
C++ Вывести фамилии неуспевающих учеников
C++ Структуры. Вывести фамилии студентов.
Ввести строку (не более 100 символов и не менее 30), вывести символы с 7 по 15 C++

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

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

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