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

Создать метод для класса, который бы вводил через консоль строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка (вызвали срабатывание точки останова) http://www.cyberforum.ru/cpp-beginners/thread1123998.html
1)Компилятор ошибка (вызвали срабатывание точки останова.) Как очистит память ? 2)как разъединить буквы и цифры и записать в массив 3)можно считать весь файл без цикла? #include <stdio.h> #include <conio.h> int main() { int i = 0; char* file=new char; FILE* fp = fopen("C:\\Users\\FX-8350\\Desktop\\введення файлів (2).txt", "r");
C++ Код Цезаря для кириллицы. Работа с файлами Эта программа работает по принципу Шифра Цезаря. Пожалуйста, помогите разобраться что она делает последовательно. Мне нужно чтобы она зашифровывала и расшифровывала файлы, но при запуске и вводе всех параметров она выдает "ERROR: Opening file". Я не понимаю, как подключить файлы, чтобы она работала. Вообще я думал, она должна сама их создавать, но видимо я ошибаюсь. Вот сам код: #include... http://www.cyberforum.ru/cpp-beginners/thread1123984.html
Выдать строку из которой удалены все слова равные по длине последнему слову строки C++
2)Ввести строку. На печать выдать строку из которой удалены все слова равные по длине последнему слову строки. P.S: добрые люди, помогите, пожалуйста.
Звуковые сигналы с++. Получение 8-битных звуков C++
Сегодня на паре на с++ был минус 8-ми битный Гимн РФ, подскажите или дайте ссылку, хочу разобраться с звуковыми сигналами.)
C++ Почленно умножить первый коэффицент массива на все коэффиценты другого массива http://www.cyberforum.ru/cpp-beginners/thread1123965.html
Помогите с написанием: Почленно умножить первый коэффицент массива на все коэффиценты другого массива. A * B = A * B + A * B + A * B и тд
C++ Найти в списке из 7 слов все слова, состоящие из заданного количества букв Как решить такое в Borland C++? что использовать строки или символы? какую команду использовать для определения количества букв в одном слове? помогите с кодом, пожааалуйстааааааа подробнее

Показать сообщение отдельно
Jack Wade
61 / 34 / 6
Регистрация: 24.02.2013
Сообщений: 250
19.03.2014, 16:33     Создать метод для класса, который бы вводил через консоль строку
Здравствуйте!
В задании мне нужно создать метод для класса, который бы вводил через консоль строку, а второй метод-выводил её, но только чтобы выводил все слова в обратном порядке.
Как бы-задание простое...
Вот только здесь у меня возникла проблемка...
Я вывожу слова в обратном порядке таким образом, чтобы была проверка на наличие пробела, либо дошли ли мы до начала строки и в тоже время, циклическая переменная равна ли нулю, или нет.
Проблема заключается в том, что когда я ранее вводил просто 2 слова(Hello World!), мне выводило весь массив символов(не строку, даже не смотря на ограничения(ставил ограничения до тех пор, пока не был обнаружен пробел, либо не дошли по индексу до края строки):
C
1
2
3
4
//---
for (int j=i; temp[j]!=' ' || j<strlen(temp); j++)//Вот цикл, который при обнаружении пробела запускает простое отображение слова. Как видно-цикл идёт либо до встречи пробела, либо до тех пор, пока не дошли до края строки... Проблема в том, что даже при всех условиях(последний символ пробел)-этот цикл всё равно отображает все 256 символов...
//---
for (int j=i; temp[j]!=' '; j++)//А вот при таком цикле-если не поставить в конец строки пробел-то опять же, 256 символов будут на экране... А если поставить программным способом пробел в конец строки-строка расширяется, даже если после пробела поставить NULL... И, получается, надо было вводить пробел пользователю вручную, но это всё, мягко говоря...
В итоге-решил делать отдельно в цикле отображения слова проверку на выход за пределы строки:
C
1
if (j >= strlen(temp) break;//Но это, если можно так сказать, является "программным костылём"...
Мне бы, всё таки хотелось, чтобы проверка на выход за пределы строки шла именно в цикле, как дополнительное условие завершение цикла... А не проверять отдельно, и break'ать цикл...

Подскажите пожалуйста-где ошибка?

Вот код программы:

Кликните здесь для просмотра всего текста

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
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
 
class cl1
{
private: char temp[256];
public:
    void ReadLine()
    {
        printf("Enter string:\n");
        gets(temp);
    }
    void WriteLine()
    {
        for (int i=(strlen(temp)-1); i>=0; i--)
        {
            if ((temp[i-1]==' ' && i>0) || (temp[i]!=' ' && i == 0))
            {
                for (int j=i; temp[j]!=' '; j++)
                {
                    if (j< strlen(temp)) printf("%c", temp[j]);
                    else break;
                }
                printf(" ");
            }
        }
    }
public: cl1()
        {
            printf("Example 1\n");
        }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    cl1 Data1;
    Data1.ReadLine();
    Data1.WriteLine();
    _gettch();
    return 0;
}
P.S. Среда разработки Microsoft Visual Studio 2012
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru