|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.01.2014, 12:14 | #1 |
Регистрация: 26.01.2014
Сообщений: 7
|
Структуры в cи
Описать структуру с именем WORKER, содержащую следующие поля:
фамилия и инициалы работника; название занимаемой должности; год поступления на работу. Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER, записи должны быть размещены по алфавиту; вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры; если таких работников нет, выдать на дисплей соответствующее сообщение. |
26.01.2014, 12:49 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Структура - рабочий (worcer).
Код:
Код:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 26.01.2014 в 12:53. |
26.01.2014, 13:33 | #3 |
Регистрация: 26.01.2014
Сообщений: 7
|
а можно всё. желательно в виде функций)
|
26.01.2014, 14:28 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Там совсем чуть-чуть добавить нужно. А для этого, как ни странно, нужно чуть-чуть подумать.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
26.01.2014, 15:15 | #5 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Smitt&Wesson
просили на С же
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
26.01.2014, 15:39 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Аааа. Т.е. через char*. Ну, это не сильно усложняет задачу.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
26.01.2014, 15:56 | #7 |
Регистрация: 26.01.2014
Сообщений: 7
|
Ладно. Спасибо. Сама.
|
26.01.2014, 16:15 | #8 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Не "ладно сама" (не нужно делать нам одолжение), а что не будет получаться, выкладывай сюда. Рассмотритм, поможем. А лентяев и халявщиков здесь не любят.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
26.01.2014, 17:13 | #9 |
Регистрация: 26.01.2014
Сообщений: 7
|
struct WORKER
{ char surname[20]; // Инициалы работника char post[20];// Должность int year;// год поступления на работу }; void r(WORKER* mas, int);//Функция для ввода с клавиатуры данных в массив void sort(WORKER* mas, int);//Функция для сортировки массива по алфавиту void v(WORKER* mas, int);//Функция вывод массива void sort2(WORKER* mas, int);//Функция для сортировки массива по алфавиту void inf(WORKER* mas, int);//вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры //ввод с клавиатуры данных в массив void r(WORKER* mas, int n) { setlocale(LC_ALL, "russian"); for (int i = 0; i<n; i++) { fflush(stdin); //очищает буфер входного потока printf("Фамилия и инициалы работника:"); gets_s(mas[i].surname); //считывает строку стандартного ввода и помещает ее в буфер, созданный вызывающей функцией /*scanf_s("%s", mas[i].name);*/ printf("\nНазвание занимаемей должности:"); fflush(stdin); scanf_s("%d", &mas[i].post); printf("\nГод поступления на работу:"); fflush(stdin); scanf_s("%d", &mas[i].year); fflush(stdin); printf("\n"); } } // сортировка массива по алфавиту void sort(WORKER* mas, int n) { for (int i = 0; i<n; i++) { for (int j = 0; j<n - i - 1; j++) { if (mas[j].surname > mas[j + 1].surname || mas[j].surname == mas[j + 1].surname) sort2(mas, j); } } } // вывод массива void v(WORKER* mas, int n) { setlocale(LC_ALL, "russian"); for (int i = 0; i<n; i++) printf("%d:%d-%d\t ", mas[i].year, mas[i].surname, mas[i].post);//Выводим массив на экран printf("\n"); } // сортировка массива по алфавиту void sort2(WORKER* mas, int j) { char tmp[20]; strcpy_s(tmp, mas[j].surname);//замена одного элемнта(tmp), на другой(mas[j].surname) strcpy_s(mas[j].surname, mas[j + 1].surname); strcpy_s(mas[j + 1].surname, tmp); } // вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры void inf(WORKER* mas, int n) { char s; do { bool g = true; char m[20]; printf("\n Фамилия и инициалы работника: "); fflush(stdin); gets_s(m); /*scanf_s("%s", &m);*/ for (int i = 0; i<n; i++) { if (strcmp(m, mas[i].surname) == 0) { g = false; printf("\nНазвание занимаемей должности: %d, Год поступления на работу: %d : %d", mas[i].post, mas[i].year, mas[i].min); } } if (g) { printf("\nТаких работников нет"); g = false; } printf("\nВведите 0 для выхода"); fflush(stdin); s = _getch(); } while (s != '0'); } int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "russian"); const int n = 10; WORKER mas[n]; r(mas, n); sort(mas, n); v(mas, n); inf(mas, n); _getch(); return 0; } Фамилию и инициалы выводит(и то если вводить их на английском), а всместо должности выводит непонятный набор букв и цифр Последний раз редактировалось Анастасия_18; 26.01.2014 в 17:25. |
26.01.2014, 17:31 | #10 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача структуры из программы на c# в dll на c++ и получение структуры из dll | iukash | Общие вопросы .NET | 0 | 07.05.2013 16:03 |
Динамические структуры данных, списковые структуры (надо разобраться что делает программа) | _4Alex4_ | Помощь студентам | 1 | 14.11.2012 07:39 |
Написание программ (древовидные структуры, структуры неспециального вида и т.д.) | Green Gin | Фриланс | 2 | 27.04.2012 15:26 |
Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. | Лёнка | Компоненты Delphi | 1 | 23.04.2012 15:03 |
структуры | sfinks_murka | Общие вопросы C/C++ | 1 | 28.03.2010 21:20 |