Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/96: Рейтинг темы: голосов - 96, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 5

Ввод с клавиатуры данных в массив

14.06.2010, 21:14. Показов 18643. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу выполняющую след. действия:
-ввод с клавиатуры данных в массив состоящий из 10-ти структур типа Worker( с полями:1)ФИО 2)Должность 3)Год поступления на работу), причем записи должны быть размещены по алфавиту.
Вывод на дисплей фамилий работников,чей стаж работы в организации превышает значение введенное с клавиатуры. Если таких работников нет, то вывести на экран соответствующее значение.

P.S. Я студент. Пожалуйста если не сложно прокомментируйте процесс сортировки по алфавиту. Вообще если вы мне подскажете алгоритм сортировки по алфавиту, то задачу решать НЕ НАДО !
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.06.2010, 21:14
Ответы с готовыми решениями:

Ввод данных в массив с клавиатуры
Ребят помогите.Нужен код , который бы заполнял массив с клавиатуры 3х4 . Вот код ввода данных с клавиатуры vvodcifri // ввод...

Ввод с клавиатуры данных в массив
Нужна помощь, 1)Определить класс с именем AEROFLOT, содержащий след поля: название пункта назначения рейса; номер рейса; тип...

Ввод данных с клавиатуры в одномерный массив
Здравствуйте. У нас есть массив из 16 элементов, с клавиатуры вводятся 16 различных цифр подряд (1234567890675923) после того как мы ввели...

10
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
15.06.2010, 17:23
Цитата Сообщение от nurik_6 Посмотреть сообщение
Написать программу выполняющую след. действия:
-ввод с клавиатуры данных в массив состоящий из 10-ти структур типа Worker( с полями:1)ФИО 2)Должность 3)Год поступления на работу), причем записи должны быть размещены по алфавиту.
Вывод на дисплей фамилий работников,чей стаж работы в организации превышает значение введенное с клавиатуры. Если таких работников нет, то вывести на экран соответствующее значение.

P.S. Я студент. Пожалуйста если не сложно прокомментируйте процесс сортировки по алфавиту. Вообще если вы мне подскажете алгоритм сортировки по алфавиту, то задачу решать НЕ НАДО !
могу сделать, тебе на когда надо?
1
102 / 102 / 23
Регистрация: 12.05.2010
Сообщений: 232
15.06.2010, 17:26
вот пример сортировки по имени в алфавитном порядке
тут полный пример программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void sortname(videoshop *&uk, int &n)
{
    videoshop tmp;
    for(int j=0; j<n; j++)
    {
        for(int i=0; i<n-1; i++)
        {
            if(strcmp(uk[i].name, uk[i+1].name)>0)
            {
                tmp = uk[i];
                uk[i] = uk[i+1];
                uk[i+1] = tmp;
            }
        }
    }
}
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
15.06.2010, 18:30
Проверкой вводимых данных не заморачивался, а так вот:
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
#include <iostream>
#include <algorithm>
#include <string>
#include <ctime>
#include <functional>
#include <set>
#include <iterator>
 
class Worker {
    std::string _name;
    std::string _post;
    int _year;
public:
    Worker() : _name(""), _post(""), _year(0) {}
    Worker(const std::string & name, const std::string & post, int year) : _name(name),
    _post(post), _year(year) {}
    ~Worker() {}
    int year() const { return _year; }
    bool operator < (const Worker & w) const { return _name < w._name; }
    bool operator == (const Worker & w) const { return _name == w._name; }
    friend std::ostream & operator << (std::ostream & ost, const Worker & w) {
        ost << "\nName:\t" << w._name << "\nPost:\t" << w._post << "\nYear:\t" << w._year;
        return ost;
    }
};
 
class FindByStage : public std::unary_function<Worker, bool> {
    int _cur_year;
    int _min_stage;
public:
    FindByStage(int stage) : _min_stage(stage) {
        time_t tt = time(NULL);
        struct tm *pts;
        pts = localtime(&tt);
        _cur_year = pts->tm_year + 1900;
    }
    bool operator () (const Worker & w) {
        return _cur_year - w.year() > _min_stage;
    }
};
 
int main(){
    int num_workers;
    std::multiset<Worker> workers;
    std::string name, post;
    int year;
 
    std::cout << "Number of workers: ";
    std::cin >> num_workers;
    std::cin.get();
    while ( num_workers-- ){
        std::cout << "Name: ";
        std::getline(std::cin, name);
        std::cout << "Post: ";
        std::getline(std::cin, post);
        std::cout << "Year of employment: ";
        std::cin >> year;
        std::cin.get();
        workers.insert(Worker(name, post, year));
    }
 
    std::cout << "Minimum stage: ";
    std::cin >> year;
    FindByStage fbs(year);
    size_t cnt = std::count_if(workers.begin(), workers.end(), fbs);
    if ( ! cnt ) {
        std::cerr << "No workers with stage greater then " << year << std::endl;
        return 1;
    }
    std::cout << "Found " << cnt << " workers:" << std::endl;
    for ( std::multiset<Worker>::const_iterator i = workers.begin(); i != workers.end(); ++i )
        if ( fbs(*i) )
            std::cout << *i << std::endl;
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 5
15.06.2010, 19:48  [ТС]
Цитата Сообщение от Sanu0074 Посмотреть сообщение
могу сделать, тебе на когда надо?
Мне бы до 18-го числа.

Добавлено через 39 секунд
Классы использоваться не должны. Структура как на си.

Добавлено через 4 минуты
Есть ещё одно ограничение пользоваться директивами можно только:
C++
1
2
3
4
5
#Include <conio.h>
#include<stdio.h>
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
16.06.2010, 19:52
Цитата Сообщение от nurik_6 Посмотреть сообщение
Мне бы до 18-го числа.

Добавлено через 39 секунд
Классы использоваться не должны. Структура как на си.

Добавлено через 4 минуты
Есть ещё одно ограничение пользоваться директивами можно только:
C++
1
2
3
4
5
#Include <conio.h>
#include<stdio.h>
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
безбазара, завтра сделаю, тут то работы 10мин, просто ща некогда, завтра будя тебе прога
0
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 5
16.06.2010, 21:22  [ТС]
Цитата Сообщение от Sanu0074 Посмотреть сообщение
безбазара, завтра сделаю, тут то работы 10мин, просто ща некогда, завтра будя тебе прога
Окей, жду !
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
17.06.2010, 14:30
Цитата Сообщение от nurik_6 Посмотреть сообщение
Окей, жду !
обьясняю:
- #include <windows.h> - это для того чтоб работало "SetConsoleOutputCP(1251);" т.е. выводильсь на экран русские символы, можеш удалить, но тогда поменяй то что написано русскими буквами на латинские;
- накидал на быструю руку, создай на форуме тему, напиши задание, скинь код, напиши чтоб умные програмисты подкоректировали вывод и сделали его в алфавитном порядке, просто у меня щас нету с собой моей любимой книжки, я забыл как делать сортировку по алфавиту, вроде нужна функция strcmp(stroka1,stroka2) - и она равна -1 если первая строка раньше по алфавиту, 0 - если одинаковые, 1 - если вторая строка по алфавиту идет раньше. вроде так, просто без книжки немогу.......кароч чем смог тем помог....

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
#include <iostream>
#include <windows.h>
using namespace std;
 
struct Worker
{
    char name[60];
    char fam[60];
    char sname[60];
    char pos[60];
    int year;
 
    void vvod()
    {
        cout<<"Введите данные о 10ти работниках:"<<endl;
 
        for(int i=1; i<=10; i++)
        {
            cout<<endl<<"Заполняйте данные о "<<i<<"м работнике: "<<endl<<endl;
        cout<<endl<<"Введите Имя: ";
        cin>>name;
        cout<<endl<<"Введите Фамилию: ";
        cin>>fam;
        cout<<endl<<"Введите Отчество: ";
        cin>>sname;
        cout<<endl<<"Введите должность: ";
        cin>>pos;
        cout<<endl<<"Введите год пост.на работу: ";
        cin>>year;
        }
    }
    
    void vivod()
    {
    int Ryear=2010;
    int stage=0;
    int ras=0;
        cout<<endl<<"Введите стаж: ";
        cin>>stage;
    for(int i=1; i<=10; i++, ras=0)
        {
        ras=Ryear-year;
        if(stage>ras)
        cout<<"Имя: "<<name<<endl;
        cout<<"Фамилия: "<<fam<<endl;
        cout<<"Отчество: "<<sname<<endl;
        cout<<"Должность: "<<pos<<endl;
        cout<<"Год пост.на работу: "<<year<<endl;
        }
    }
};
 
int main()
{
    SetConsoleOutputCP(1251);
 
    Worker x;
 
    x.vvod();
    x.vivod();
    
}
p.s.
кинь ссылку если будеш создавать тему, мне интересно, зайду взгляну.....
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
17.06.2010, 14:56
Цитата Сообщение от Sanu0074 Посмотреть сообщение
создай на форуме тему, напиши задание...
А чем эта тема не устраивает? С какой целью плодить темы про одно и то же?
1
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 5
17.06.2010, 20:02  [ТС]
И на этом спасибо. Завтра сдавать.
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
18.06.2010, 14:16
Цитата Сообщение от nurik_6 Посмотреть сообщение
И на этом спасибо. Завтра сдавать.
та незачто, если что обращайся, жми на кнопку +1Спс))))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2010, 14:16
Помогаю со студенческими работами здесь

Ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT
Помогите пожалуйста. Выдает в строке NAME: MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM а потом имя. Как убрать буквы M? #include...

Ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN
помогите пожалуйста, не получается сделать,туго с динамикой. • Описать структуру с именем TRAIN, содержащую следующие поля: • название...

Сформировать одномерный массив целых чисел, используя ввод данных с клавиатуры
Найти в массиве наибольшее число подряд идущих одинаковых элементов (например {1,5,3,6,6,6,6,6,3,4,4,5,5,5} = 5). Заранее большое спасибо.

Как правильно заменить ввод данных простой на ввод с клавиатуры?
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) ...

Ввод с клавиатуры в массив
Не знаю как сделать, чтобы с клавиатуры я вводил цифры и они сразу записывались в массив.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru