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

Пример структуры для изучения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычисление занчения http://www.cyberforum.ru/cpp-beginners/thread975073.html
Доброго времени суток, помогите вычислить
C++ Вычисление числа P c заданной точностью e>0 Доброго времени суток, помогите сделать задания. http://www.cyberforum.ru/cpp-beginners/thread975071.html
Выделение из исходной строки символов заданной длины с указанного номера позиции C++
помогите, а то я в ассемблере слаб. нужно написать через сегменты. tasm dseg segment public para 'data' str1 db "123456" l equ $-str1 a db ? s db "$" mes db 10,13,"Vvedite nomer pozicii $" vel db 10,13,"vvedite coli4ectvo cimvolov $" str3 db ? l2 equ $-str2
Напишите программу формирования массива С, компоненты которого определяются по формулам C++
Заданы два массива A и B одинаковой размерности. Напишите программу формирования массива С, компоненты которого определяются по формулам: (4a, если a>b) c= (4b, если b<=a)
C++ Напишите программу формирования массива http://www.cyberforum.ru/cpp-beginners/thread975038.html
Заданы два массива A и B одинаковой размерности. Напишите программу формирования массива С, компоненты которого определяются по формулам: (4a, если a>b) c= (4b, если b<=a)
C++ Структура Помогите нада делать на понедельник известные данные о численности населения и площадь каждой из 7 держав.Визначте название страны с минимальной плотностью населения подробнее

Показать сообщение отдельно
StriBog45
5 / 5 / 2
Регистрация: 03.09.2013
Сообщений: 81
13.10.2013, 20:21  [ТС]     Пример структуры для изучения
https://dl.dropboxusercontent.com/u/...1%8B%D0%B9.jpg
На скриншоте видно,что сортировка по алфавиту неверна.
Также непонятная крякозябра в русском языке,я пробовал их менять местами,но как видно на скриншоте - не помогло.
И ещё в самом конце,у меня есть проверка условия которая не работает,а именно c = c + 1 // Нужна для того чтобы узнать,были ли подходящие рабочие по стажу,после чего в проверке if ( i == size - 1 && c > 0 )

Весь код который был использован во время скриншота:
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
108
109
110
111
112
// 1, Описать структуру с именем WORKER, содержащую следующие поля:
// - фамилия и инициалы работника;
// - название занимаемой должности;
// - год поступления на работу.
// 2. Написать программу, выполняющую следующие действия:
// - ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER; записи должны быть размещены по алфавиту.
// - вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
// - если таких работников нет, вывести на дисплей соответствующее сообщение.
 
#include "stdafx.h"
#include "iostream"
#include <locale>
#include <conio.h>
#include <string.h>    // Для алфавита,strcmp
#include <Windows.h>   // Для SetConsoleCP(1251);
using namespace std;
 
struct WORKER
{
    char F[30];
    char I[30];
    char O[30];
    char Name[30];
    int Year;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    const int size = 3;
    int i,b,c = 0;
    char* d;
    WORKER a[size];
    for ( i = 0; i < size; i++ )
    {
        cout << "Введите Ф.И.О. "
             << i + 1
             << "-ого работника "
             << endl;
        cout << "Фамилия: ";
        cin >> a[i].F;
        cout << "Имя: ";
        cin >> a[i].I;
        cout << "Отчество: ";
        cin >> a[i].O;
        cout << endl;
        cout << "Его должность: ";
        cin >> a[i].Name;
        cout << endl;
        cout << "Год поступления на работу: ";
        cin >> a[i].Year;
        cout << endl;
    }
 
 
    for(int i = 0; i < size - 2; i++)        // Упорядочивание фамилий,имени,отчества
    {    
        char temp[30] = " ";
        if(strcmp(a[i].F, a[i + 1].F) < 0)     
        {        
            strcpy(temp, a[i].F);        // Фамилия  
            strcpy(a[i].F, a[i + 1].F);        
            strcpy(a[i + 1].F, temp);
 
            strcpy(temp, a[i].I);        // Имя
            strcpy(a[i].I, a[i + 1].I);        
            strcpy(a[i + 1].I, temp);
 
            strcpy(temp, a[i].O);        // Отчество
            strcpy(a[i].O, a[i + 1].O);        
            strcpy(a[i + 1].O, temp);
        }
    }
 
    cout << "Список рабочих: "
         << endl;
    SetConsoleCP(1251); // Переводит крякозябру на русский язык
    for ( i = 0; i < size; i++)
    {
        cout << a[i].F
             << " "
             << a[i].I
             << " "
             << a[i].O
             << endl;
    }
 
    setlocale(LC_ALL, "Russian");
    cout << "Введите стаж работы ";
    cin >> b;
    cout << endl;
 
    SetConsoleCP(1251); // Переводит крякозябру на русский язык
    for ( i = 0; i < size; i++)
    {
        if ( b < 2013 - a[i].Year )
        {
            cout << a[i].F
                 << " ";
            c = c + 1;
        }
        else if ( i == size - 1 && c > 0 )
        {
            setlocale(LC_ALL, "Russian");
            cout << "Работников с более высоким стажом нет.";
        }
    }
    cout << endl;
 
system("pause");
return 0;
}
 
Текущее время: 03:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru