Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2012, 09:59   #1
studentX
Новичок
Джуниор
 
Регистрация: 24.10.2012
Сообщений: 1
По умолчанию Почти готовая прога

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

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

Вот код:

Код:
#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;
}
studentX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не запускается готовая программа Алекссс Общие вопросы Delphi 7 05.06.2013 12:10
есть готовая прога для диплома надо сделать описательную часть Эдуард1199 Фриланс 1 17.05.2012 12:06
нужна готовая. на паскале ddeman666 Фриланс 4 14.06.2010 18:20
Нужна готовая, работающая прога на С++ Ghaal Фриланс 2 05.11.2008 23:29
Есть готовая прога но запароленная, не могу запустить! Алёна Общие вопросы Delphi 4 29.10.2007 10:41