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

Ввод и вывод строки целиком - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В классе "Date" увеличить заданную дату на один день http://www.cyberforum.ru/cpp-beginners/thread312782.html
Не могу понять в чем ошибка(выдает ошибку линковки). В классе Date нужно увеличить заданную дату на один день: #include<iostream> #include<fstream> using namespace std; class Date { public: Date(int dd = 12,int mm = 5, int yy = 1971);
C++ Манипуляторы ввода/вывода Написать программу которая создаёт массив размером элементов и заполняет его случайным образом числами от 1 до 1000 . После этого вывести все числа на экран в несколько форматированых строк, при этом в первой строке выводить числа, которые кратны 10 в DEC формате , во второй числа, кратные 16 в HEX формате , в третьей числа, кратные 8 в OCT формате. Программка неправильно работает, в чем... http://www.cyberforum.ru/cpp-beginners/thread312756.html
C++ Оптимизация кода
Есть вот такой кусочек кода integer h (integer k,n) {return k–n*3 ;} . . . . . z = h (k1, n2) ; Подскажите - как его можно оптимизировать?
преобразование массива на языке С++ C++
дан целочисленный массив. преобразовать массив увеличив все его серии наибольшей длины на один элемент.
C++ Сравнение объектов класса http://www.cyberforum.ru/cpp-beginners/thread312717.html
как можно сравнивать обекты класса? если например классу задать какую-нибудь ID-переменную, которой будет даватья какой-то номер при его создании. Если это единственный выриант, то как правильно сделать что бы этот самый ID не повторялся?
C++ Определить, содержит ли текст символы, отличные от букв и пробела Нужна помощь... Составить программу, которая позволяла бы в тексте, указанном пользователем, определить, содержит ли он символы, отличные от букв и пробела. Если возможно и блок-схему? подробнее

Показать сообщение отдельно
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
04.06.2011, 13:52  [ТС]     Ввод и вывод строки целиком
Ммммм... Что-то я не очень понимаю...
Вот, например, у меня есть программа:

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include <iostream> //
using std::cout;    //
using std::cin;     //
using std::endl;    //
                    //
#include <string>   //
using std::string;  //
                    //
#include <cstdlib>  //
using std::rand;    //
using std::srand;   //
                    //
#include <ctime>    //
using std::time;    //
                    //
#include <conio.h>  //
//////////////////////
 
int main ()
{ //____________________________________________________________________________//
        cout << "\t\t| Hello! Thank you for using this application! |" << endl; //
        cout << "\t\t|______________________________________________|" << endl; //
        cout << endl;                                                           //
        cout << "\t\t    This is enchant-emulator for Lineage 2.     " << endl; //
        cout << endl << endl;                                                   //
  //____________________________________________________________________________//
        
        char choice;    // выбор - будем снова играть или нет
  do
  {
        
        string name;    // имя предмета, который будем точить
        cout << "\t     Enter the name of thing, that you will enchant: ";
        cin >> name;
        
        cout << "\t   So, let's start! You will enchant your '" << name 
             << "'. Good luck!" << endl << endl;
             
        cout << "\t\t\tFor enchanting press any key..." << endl;
        cout << endl;
        
        
        int random;    // тот самый рандом (корейский)
        int enchant_level = 1;    // уровень заточки
        
// ---------------------------------------------------------------------------------------------------        
        
        // цикл для заточки до +4. Рандом не используем, ибо он нам тут нафиг не нужен (шанс = 100%)
        while (enchant_level <= 3)
        {
              getch();   // ждёт нажатия любой кнопки для продолжения
              
              cout << "\t\t   Congratulations! Now you have '" << name << " +"
                   << enchant_level << "'!" << endl;
                   
              enchant_level++;   // инкремент
        }
        
        cout << endl;
// -----------------------------------------------------------------------------------------------------        
        
        // цикл для заточки от 4 до 15. Шанс на успех = 66% (2/3)     
        srand (time (0) );
        while (enchant_level >= 3 && enchant_level <= 15)
        {
 
           random = 1 + rand() % 100;
        
           getch();   // ждём нажатия клавиши
        
           if (random <= 66)  // если выпало до 66, то заточилось
           { 
               cout << "\t\t   Congratulations! Now you have '" << name << " +"
                    << enchant_level << "'!" << endl;
                 
               enchant_level++;
           }
        
           else   // если нет, то фейл
           {   
              cout << "\tOh, no! Enchanting failed. Your '" << name 
                   << "' was broken for crystalls [>_<]";
                   
                   enchant_level = 0;   // условие прерывания цикла (сбрасываем заточку)
           }
        }
        
// ---------------------------------------------------------------------------------------------------------
        
        // даём напутствие на дальнейшую заточку
        if (enchant_level == 16)
           cout << endl << "\tWow! Fuckin' shit! Your '" << name 
                << "' is + 15 now! Please, don't fail it!" << endl;
        
        // заточка от 15 до 20. Шанс на успех = 33% (1/3)
        if (enchant_level >= 15)
        {
            srand (time (0) );
            while (enchant_level >=15 && enchant_level <= 20)
            {
               random = 1 + rand() % 100;
               
               getch ();   // ждём нажатия клавиши
                    
               if (random <= 33)   // если успех, то ОК
               {
                    cout << endl <<"\t Dance! Dance, fucking bastard! Your '" << name
                         << "' is +" << enchant_level << " now! Hell, yeah!";
                         
                         enchant_level++;
               }
               
               else    // случай неудачи
               {
                    cout << endl << "\t\t\t  FFFFFFFFFFUUUUUUUUUUUUU!" << endl 
                         << "\t    You have broken it! Go find too high tree and hang!";
                         
                         enchant_level = 0;   // сброс счётчика заточки; условие прерывания цикла
               }
            }
        }   
            
//--------------------------------------------------------------------------------------------------------------
            
        // поздравляем с победой, если таковая свершилась      
        if (enchant_level == 21)
        {
           cout << endl << endl << endl
                << "   Oh, my God! Your '" << name << "' is +20! 20! Now you can kill everybody and everything!";
           cout << endl << "\t\t\t\tEven GM's! ;)";
        }
        
        // спрашиваем, хотим ли сыграть ещё раз
        cout << endl << endl << "\t\t\tDo you want play again? [y/n]  ";
        cin >> choice;
        
      if (choice == 'y')
      {
         cout << ">______________________________________________________________________________<";      
         cout << endl << endl;
      }
      
      if (choice == 'n')
         cout << endl << "\t\t\t\tThank you! Bye!";
        
  } while (choice != 'n');
                
        getch();
        return 0;
}

В строках 32-34 мы запрашиваем название некоего предмета. Как сделать так, чтобы считывалось название полностью, а не только до пробела?
 
Текущее время: 03:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru