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

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

Войти
Регистрация
Восстановить пароль
 
studentX
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 4
#1

Кодирование введённой пользователем строки по опрделённому правилу - C++

20.10.2012, 17:11. Просмотров 498. Ответов 1
Метки нет (Все метки)

В общем вот задание:
Ввести с клавиатуры символьную строку длиной не более 80 символов. Строка должна быть введена посимвольно с использованием функции getchar(). Строка должна представлять собой произвольное абстрактное предложение, состоящее из слов, отделяемых друг от друга как минимум одним символом пробела. Построить новую строку, в которой дан перевод исходной строки в кодированный текст. В системе кодирования каждой букве английского алфавита ставится в соответствие некоторое слово (например, A - apple, B - bull, C - cat и т.д.). Коды букв в слове отделяются символом *.

Т.е. чел вводит любую последовательность английских букв, а прога должна их вывести соответствующими словами(A - apple, B - bull, C - cat и т.д.), отделяемыми *. Я написал код, прога пашет, но оказывается программа не верна! Точнее не то, что нужно. А нужно ее написать с помощью 3-х конкретных функций:getchar(), strtok() и strcat() (это минимум). В принципе я понял, что делают эти функции, но не понял, как их сюда втиснуть. Пожалуйста, помогите разобрать и программу доделать!)

Вот код:

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
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <string.h>
 
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL,"Russian");
    char c[80];
    
    char arrc[27]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' '};
    char* arrs[27]={"apple*","blood*","car*","day*","eat*","fire*","google*","head*","ildar*","jump*","kill*","lol*","mom*","nero*","octopus*","people*","qwerty*","rain*","stop*","tetris*","umbrella*","victory*","west*","x-men*","yandex*","zero*"," "};
    int n; bool check = true;
    printf("Введите строку (соответственно используя только английские буквы):\n");
    for (int i=0; i<80; i++)
    {
        c[i]=getchar();
        if (!(((c[i]>='a') && (c[i]<='z')) || ((c[i]>='A') && (c[i]<='Z')) || (c[i]==' ') || (c[i]=='\n')))
        {
            check = false;
            {
            break;
            }
        }
        if (c[i]=='\n')
        {
            n=i;
            {
            break;
            }
        }
    }
 
if (check)
    {
        for (int i=0; i<n; i++)
        {
            for (int j=0; j<27; j++)
            {
                if (toupper(c[i])==arrc[j]) 
                {
                    printf(arrs[j]);
                    break;
                }
            }
        }
    }
    else 
    {
        cout << "Ошибка!\nСтрока вводится ТОЛЬКО на английском языке, исключая: цифры, иные символы (кроме пробела) и другие языки.\n\n";
    }
    cout << "\n\nДля выхода нажмите любую клавишу";
    _getch();
    
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 17:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кодирование введённой пользователем строки по опрделённому правилу (C++):

Вывести на экран второе слово введённой пользователем строки - C++
Вводится строка произвольного текста. Вывести на экран второе слово (слова разделены пробелами).

Реализовать ввод строки с консоли пользователем и найти количество заданного символа в введённой строке - C++
Ввести предложение и подсчитать сколько букв 'н' в нем.

Найти сумму чисел в строке, введённой пользователем - C++
Здравствуйте, я пытаюсь решить некоторые задачи по C++, но не все получаются. Одна из задач - найти сумму чисел в строке, введённой...

В введённой пользователем строке подсчитать количество цифр - C++
Вводится строка. Подсчитать в ней количество цифр Одна программа решает задачу с использованием строк, представленных как массивы...

Посчитать количество вхождений заданного символа в строке, введённой пользователем - C++
Дано : Пользователь вводит строку символов и искомый символ, посчитать сколько раз он встречается в строке. (С++) Вопрос: Как сделать,...

Определить количество символов введённой строки - C++
1) Написать программу, которая позволяет вводить с клавиатуры строку, содержащую более одного слова, и определять: а) количество символов...

1
studentX
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 4
21.10.2012, 22:48  [ТС] #2
Никто не знает чтоли? Ребят, помощи же прошу!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 22:48
Привет! Вот еще темы с ответами:

Определить количество символов введённой строки - C++
Написать программу, которая позволяет вводить с клавиатуры строку, содержащую более одного слова, и определять: а) количество символов...

Вычислить длину введённой с клавиатуры строки - C++
Написать программу, которая вычисляет длину введённой с клавиатуры строки.

Исключить из введённой строки символ,введеный с клавиатуры - C++
Исключить из введённой строки символ,введеный с клавиатуры. Вывести на экран количество удалённых символов и полученную строку.

Из введенной пользователем строки выбрать слово с заданным пользователем номером и вывести это слово на экран - C++
Здравствуйте. Если можете, помогите, пожалуйста, написать программу, которая выводит на экран из введенной пользователем строки слово с...


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

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

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