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

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

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

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

20.10.2012, 17:11. Просмотров 446. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 17:11     Кодирование введённой пользователем строки по опрделённому правилу
Посмотрите здесь:
Вывести на экран второе слово введённой пользователем строки C++
C++ В введённой пользователем строке подсчитать количество цифр
Найти сумму чисел в строке, введённой пользователем C++
C++ Посчитать количество вхождений заданного символа в строке, введённой пользователем
C++ Определить количество символов введённой строки
Вычислить длину введённой с клавиатуры строки C++
Определить количество символов введённой строки C++
Исключить из введённой строки символ,введеный с клавиатуры C++
Из введенной пользователем строки выбрать слово с заданным пользователем номером и вывести это слово на экран C++
строки в с++ проверить является четным числом длина введенной пользователем строки и вывести сообщение на экран C++
Из заданной пользователем строки сформулируйте новую, добавив пробел перед каждым символом строки кроме пробела C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
studentX
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 4
21.10.2012, 22:48  [ТС]     Кодирование введённой пользователем строки по опрделённому правилу #2
Никто не знает чтоли? Ребят, помощи же прошу!
Yandex
Объявления
21.10.2012, 22:48     Кодирование введённой пользователем строки по опрделённому правилу
Ответ Создать тему
Опции темы

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