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

Описать структуру с именем ITINERARY - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Побочная линия http://www.cyberforum.ru/cpp-beginners/thread1086568.html
Здаров! http://informatics.mccme.ru/mod/statements/view3.php?id=282&chapterid=354#1 Помогите с задачей плиз! int n; int j; cin>>n; int arr; for (i=0;i<n;i++)
C++ Заполнить массив-структуру используя цикл Здравствуйте.Задача: заполнить структуру значениями #include <stdio.h> #include <conio.h> #include "stdafx.h" #include <iostream> #include <iomanip> using namespace System; using namespace std; bool place; http://www.cyberforum.ru/cpp-beginners/thread1086560.html
Обьясните что происходит в данной функцие C++
Объясните неучу, очень интерестно что происходит в if ((....)) do { std::cout << "Введите число: "; std::cin >> num; if ((temp > 0 && num < 0) || (temp < 0 && num > 0)) count++;
BigInt, взятие степени C++
Добрый день столкнулся с такой задачей: необходимо получать значения чисел при возведении их к большим степеням ( например 2 ^ 100000 ). Для этих целей я нашел исходники класса BigInt. Он отлично и быстро возносит в степень (...
C++ Простейшая программа, вывод на экран суммы, разности двух чисел. Ошибка http://www.cyberforum.ru/cpp-beginners/thread1086541.html
Пишу свою вторую программу на C++, Программа просит пользователя ввести два числа, получает числа от пользователя и затем печатает сумму, произведение, разность и частное этих чисел. Проблема: При компилировании ошибок не найдено, но в командной строке вывод на экран не производится либо производится, но окно скрывается. Соответствующий раздел на форуме читал, не вижу собственной ошибки....
C++ Даны действительные числа a1, ., a15. Все члены данной последовательности, начиная с первого положительного, уменьшить на 1 Даны действительные числа a1, ..., a15. Все члены данной последовательности, начиная с первого положительного, уменьшить на 1. подробнее

Показать сообщение отдельно
Kill100
401 / 267 / 37
Регистрация: 11.12.2010
Сообщений: 1,134
Завершенные тесты: 1
01.02.2014, 02:05     Описать структуру с именем ITINERARY
Цитата Сообщение от FaBoy Посмотреть сообщение
Если не сложно, другу еще помочь...похожая задача...но другая сортировка
Одна тема один вопрос.
Код сей час напишу.
Но правило придумали что бы другим было потом по форуму легче искать.

Добавлено через 15 минут
Вот переписал предыдущую.
на корректность не проверял. но должно все быть ОК.
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
104
105
106
107
/*Описать структуру с именем WORKER, содержащий следующие поля :
NAME - фамилия и инициалы работника, POS - название должности,
YEAR - год принятия на работу, MONTH - месяц приема на
работу.Написать программу, отдельными функциями выполняет
следующие действия :
-Ввод с клавиатуры данных в массив TABL, состоящий из N
переменных типа WORKER;
-Упорядочение записей в алфавитном порядке;
-Вывод на экран фамилий работников, стаж работы которых
превышает значение, введенное с клавиатуры; если таких работ - ников нет, то вывести соответствующее сообщение.*/
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <string.h>
using namespace std;
struct WORKER
{
    char NAME[1024], POS[1024];
    int YEAR, MONTH;
};
//Считываем массив с консоли
//n размер массива
WORKER* ReadWORKERArray(int n)
{
    WORKER* _array = new WORKER[n];
    for (int i = 0; i < n; i++)
    {
        printf("Input NAME and POS:\r\n");
        scanf_s("%s %s", &_array[i].NAME, 1024, &_array[i].POS, 1024);
        printf("Input YEAR and MONTH:\r\n");
        scanf_s("%i %i", &_array[i].YEAR, &_array[i].MONTH);
    }
    return _array;
}
// Выводим массив на консоль
// _array - массив для вывода, 
// n -размер массива
void PrintWORKERArray(WORKER* _array, int n)
{
    for (int i = 0; i < n; i++)
    {
        printf("YEAR = %i\t NAME = %s\t POS = %s\t MONTH = %i\r\n", _array[i].YEAR, _array[i].NAME, _array[i].POS, _array[i].MONTH);
    }
}
// Сортируем по убыванию
void SortArray(WORKER* &_array, int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n - 1; j++)
        {
            if (strcmp(_array[j].NAME, _array[j + 1].NAME)>0)
            {
                WORKER temp = _array[j];
                _array[j] = _array[j + 1];
                _array[j + 1] = temp;
            }
        }
    }
}
//Выводим только тех у кого стаж работы больше указанного в месяцах.
// _array - массив работников, n - размер массива, experience - стаж в месяцах
void PrintExperience(WORKER* _array, int n, int experience)
{
    bool flag = 0;
    struct tm tim;
    __time64_t long_time;
    // Get time 64-bit. 
    _time64(&long_time);
    _localtime64_s(&tim, &long_time);
    //tim = localtime(&tt);// студия орёт _CRT_SECURE_NO_WARNINGS по этому localtime_s то же самое с scanf_s вместо scanf
    for (int i = 0; i < n; i++)
    {
        int _experienceInMonth = (((tim.tm_year + 1900) - _array[i].YEAR) * 12) + ((tim.tm_mon) + 1 - _array[i].MONTH);
        if (_experienceInMonth >= experience)
        {
            printf("YEAR = %i\t NAME = %s\t POS = %s\t MONTH = %i\r\n", _array[i].YEAR, _array[i].NAME, _array[i].POS, _array[i].MONTH);
            flag = 1;
        }
    }
    if (!flag)
        printf("Not found \r\n");
}
int main()
{
    srand(time(NULL));
    int n, num;
    printf("Input n :\r\n");
    scanf_s("%i", &n);
    WORKER *TABL = ReadWORKERArray(n);
    printf("TABL = :\r\n");
    PrintWORKERArray(TABL, n);
    SortArray(TABL, n);
    printf("Sorted TABL = :\r\n");
    PrintWORKERArray(TABL, n);
    do
    {
        printf("Enter experience in MONTH = :\r\n");
        scanf_s("%i", &num);
        PrintExperience(TABL, n, num);
        printf("To exit, type E :\r\n");
    } while (_getch() != 'E');
    system("Pause");
    delete[]TABL;
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru