Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Lusin
0 / 0 / 0
Регистрация: 07.08.2011
Сообщений: 19
#1

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

12.09.2011, 15:09. Просмотров 1592. Ответов 6
Метки нет (Все метки)

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

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

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

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

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

Вывод должности по первой букве - C++
Определите перечисляемый тип данных etype, отражающий должность сотрудника: enum etype {laborer, secretary, manager, accountant,...

Сортировка слов в строке по первой букве - C++
Добрый день. У меня такой вопрос: как можно отсортировать слова (могут содержать как буквы так и цифры) в строке таким образом, что если...

Не работает поиск по первой букве строки - C++
#include<iostream> #include <cstring> #include <string> using namespace std; struct anketa{ char fio,adres; int...

Вывод слов по первой и последней букве - C++
Добрый вечер! Помогите пожалуйста новичку. Есть текстовый файл, в котором хранятся слова и строки, нужно определить без повторения слова...

Авторизация пользователя по первой введенной букве - C++
Добрый день! Есть вот такая вот задача на строки: Для авторизации необходимо ввести свой nickname. Если первая буква nickname - это A,...

Отсортировать строки по первой букве в убывающем порядке - C++
Данный массив строк, состоящих из трех символов. Отсортировать строки по первой букве в убывающем порядке

6
Чистый
Автор FAQ
2709 / 1405 / 73
Регистрация: 08.09.2011
Сообщений: 3,733
Записей в блоге: 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;
......
}
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 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;
0
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: одно — для ввода значе¬ния, другое — для вывода."
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
12.09.2011, 16:54 #5
Lusin, switch для вывода должен идти по etype а не по символу введенному.
0
Lusin
0 / 0 / 0
Регистрация: 07.08.2011
Сообщений: 19
12.09.2011, 17:12  [ТС] #6
А как вводить символы первых букв из клавиатуры?
0
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");}
0
15.09.2014, 17:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2014, 17:58
Привет! Вот еще темы с ответами:

Сформировать массив множеств строк объединив исходные слова во множества по их первой букве - C++
Создать и протестировать функцию void parseString(const string &amp;src, vector&lt;set&lt;string&gt;&gt; &amp;dst), которая сформирует массив...

По первой букве элемента и его значению найти значения остальных элементов треугольника (используя switch) - C++
Дан прямоугольный равнобедренный треугольник. Его элементами являются: катет, гипотенуза и площадь. По первой букве элемента и его значению...

Расположить слова в массиве символов в алфавитном порядке по первой букве слова - C++
Введите массив символов из 14 элементов. Расположить слова в алфавитном порядке по первой букве слова. Добавлено через 19 часов 40...

Выполнить поиск по букве и вывести фамилию автора - C++
Условие: выполнить поиск по букве и вывести фамилию автора #include &lt;iostream.h&gt; #include &lt;stdio.h&gt; struct record { ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru