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

Вывести полное название по первой букве - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Lusin
0 / 0 / 0
Регистрация: 07.08.2011
Сообщений: 19
12.09.2011, 15:09     Вывести полное название по первой букве #1
помогите пожалуйста. такая задача.
Пусть, например, в программе определен пе¬речисляемый тип данных etype, отражающий должность сотрудника:

enum etype { laborer, secretary, manager, accountant, executive, researcher };

Напишите программу, которая сначала по первой букве должности, введен¬ной пользователем, определяет соответствующее значение переменной, по¬мещает это значение в переменную типа etype, а затем выводит полностью название должности, первую букву которой ввел пользователь. Взаимодей¬ствие программы с пользователем может выглядеть следующим образом:

Введите первую букву должности (laborer, secretary, manager, accountant, executive, researcher): a
Полное название должности: accountant
Возможно, вам понадобится два ветвления switch: одно — для ввода значе¬ния, другое — для вывода.

 Комментарий модератора 
Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2011, 15:09     Вывести полное название по первой букве
Посмотрите здесь:

Вывести полное имя программы, под которым она была запущена. C++
C++ По заданным номеру масти и номеру достоинства карты определить полное название
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции, с которой вторая строка содержится в первой. C++
незнаю как вывести полное решение для задачки.смысл улавливаю, а как реализовать - туплю C++
C++ Отсортировать строки по первой букве в убывающем порядке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Чистый
Автор FAQ
 Аватар для Чистый
2572 / 1379 / 70
Регистрация: 08.09.2011
Сообщений: 3,705
Записей в блоге: 1
12.09.2011, 16:32     Вывести полное название по первой букве #2
это задача из книги ООП в С++ автор Лафоре
делается то через обычный оператора switch
C++
1
2
3
4
5
6
7
8
9
10
switch(etype)
{
case 'l':
cout << "laborer"<< endl;
break;
case 's':
cout << "secretary"<< endl;
break;
......
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.09.2011, 16:41     Вывести полное название по первой букве #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
std::map<etype, std::string> profs = 
{
    std::make_pair(laborer, "laborer"),
    std::make_pair(secretary, "secretary"),
    ...
};
 
std::map<char, etype> types  = 
{
    std::make_pair('l', laborer),
    std::make_pair('s', secretary)
    ...
};
 
char c;
std::cin >> c;
etype tp = types[c];
std::cout << profs[tp] << std::endl;
Lusin
0 / 0 / 0
Регистрация: 07.08.2011
Сообщений: 19
12.09.2011, 16:50  [ТС]     Вывести полное название по первой букве #4
Я так попробовала.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
enum etype {laborer, secretary, manager, accountant, executive, researcher};
 
int main() {
char ch;
cout << "Введите первую бикву должности: (laborer, secretary, manager, accountant, executive, researcher) " << endl;
cin>>ch;
switch(ch) {
case 'l':  cout << "полное название должности: " << "laborer" << endl;    break;
case 's':  cout << "полное название должности: " << "secretary" << endl;  break;
case 'm':  cout << "полное название должности: " << "manager" << endl;    break;
case 'a':  cout << "полное название должности: " << "accountant" << endl; break;
case 'e':  cout << "полное название должности: " << "executive" << endl;  break;
case 'r':  cout << "полное название должности: " << "researcher" << endl; break;
}
return 0;
}
не понимаю что значит "Возможно, вам понадобится два ветвления switch: одно — для ввода значе¬ния, другое — для вывода."
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.09.2011, 16:54     Вывести полное название по первой букве #5
Lusin, switch для вывода должен идти по etype а не по символу введенному.
Lusin
0 / 0 / 0
Регистрация: 07.08.2011
Сообщений: 19
12.09.2011, 17:12  [ТС]     Вывести полное название по первой букве #6
А как вводить символы первых букв из клавиатуры?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2014, 17:58     Вывести полное название по первой букве
Еще ссылки по теме:

C++ Выполнить поиск по букве и вывести фамилию автора
Сортировка слов в строке по первой букве C++
C++ Вывод должности по первой букве

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

Или воспользуйтесь поиском по форуму:
Saega
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 3
15.09.2014, 17:58     Вывести полное название по первой букве #7
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
#include<iostream>
using namespace std;
 
enum etype{labrore,secretary,manager,accountant,executive,researcher};
int main(){
    char simb,ch;etype per;
    do{
        cout<<"Enter first char: ";
        cin>>simb;
        switch(simb){
        case 'l': per=labrore;break; //{cout<<per;break;}
        case 's': per=secretary;break;//{cout<<"secretary";break;}
        case 'm': per=manager; break;
        case 'a': per=accountant; break;
        case 'e': per=executive; break;
        case 'r': per=researcher ;break;
        }
        switch(per){
        case 0:         cout<<"labrory";break;  
        case 1:     cout<<"secretary";break;
        case 2:     cout<<"manager";break;
        case 3:     cout<<"accountant";break;
        case 4:     cout<<"executive";break;
        case 5:     cout<<"researcher";break;
        }
            
        cout<<"\nTry again?(y/n): ";
        cin>>ch;}
    while(ch!='\n');
    system("pause");}
Yandex
Объявления
15.09.2014, 17:58     Вывести полное название по первой букве
Ответ Создать тему
Опции темы

Текущее время: 16:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru