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

Не могу разобрать задачу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ задачка на вложенные циклы http://www.cyberforum.ru/cpp-beginners/thread945899.html
Здравствуйте. Помогите новичку если не сложно. Не могу осилить одну задачу. Напишите программу, использующую вложенные циклы, которая запросит у пользователя значение количества строк для отображения. Затем она должна отобразить указанное число строк со звездочками, с одной звездочкой в первой строке, двумя - во второй и так далее. В каждой строке звездочкам должны предшествовать точки - в...
C++ ConsoleSnake OOP ...остановился я на 13 главе "Классы и наследование". На форуме неоднократно выкладывался код консольной змейки. Мне хотелось написать самому, но я решил еще воспользоваться полученными знаниями и написать код с помощью классов. Естественно я подсматривал некоторые моменты по реализации. Возможность скомпилировать программу на Ubuntu подсмотрел в интернете. + Добавил "паузу". + Добавил... http://www.cyberforum.ru/cpp-beginners/thread945895.html
C++ Игра в консоли
Суть программы - управление точкой, нажатием клавиш: w, a, s, d. Координаты верхнего левого угла (0; 0). Точка бегает по верхней полосе(x) влево и вправо, так же по левой(y) вверх и низ. А вот если идти вниз, предположим на y = 7 и затем вправо x = 5, то уже положение точки отображается не правильно. В чем ошибка? Вот собственно код: #include <iostream> #include <stdlib.h> #include <conio.h>...
как сделать неизвестное количество вложенных циклов C++
в программу будет вводиться n-ное число, это самое число циклов со счетчиком, т. е. for (t=1; t<=v; ++t) for (t=1; t<=v; ++t) for (t=1; t<=v; ++t) и так пока не дойдет до for (t=1; t<=v; ++t) так как число будет вводиться с клавиатуры в программу я не могу предугадать сколько надо написать вложенных циклов, есть ли такая функция в c++ чтоб делать n вложенных циклов?
C++ Изменение адреса указателя http://www.cyberforum.ru/cpp-beginners/thread945883.html
Здравствуйте. Обращаюсь к форуму по следующему вопросу: как можно изменить значение указателя? То есть, есть следующий код: string s("Hello"); string *ps = &s; Например, указатель в итоге указывает на следующий адрес: 0x04EFC30 (004EFC30) Как можно этот адрес заменить на, допустим, 004EF321? Не важно, что указатель уже нельзя будет ++
C++ Проверка содержимого char[] Добрый день. Написал чат по сети. В переменную char buf записываются приходящие сообщения следующим образом recv(client_sockfd, buf, 1024, 0); затем я могу выводить их на экран printf("%s\n", buf);. Возникла необходимость сделать условие на содержимое переменной buf. Т.е. нечто такое if (buf == 'f') printf("Hello\n"); подскажите пожалуйста, как проверить переменную buf, пришла ли только одна... подробнее

Показать сообщение отдельно
Chang875
1 / 1 / 0
Регистрация: 14.01.2015
Сообщений: 12
05.03.2015, 01:14
Вот мой вариант решения, очень громоздкий, но в целом все работает.

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
#include <iostream>
using namespace std;
 
// Структура имен Благотворительного Ордена Программистов (БОП) 
  const int strsize = 50;
  
  struct bop
{ 
    char fullname[strsize];  // реальное имя 
    char title[strsize];     // должность 
    char bopname[strsize];   // секретное имя БОП 
    int preference;          // 0 = полное имя, 1 = титул, 2 = имя БОП 
}; 
    void smenu();   //прототип функции отображения меню
 
int main()
{
    char choice;    //Выбор манипулятора switch
    int pref = 0;   //Выбор параметра preference    
        
        bop BOP[3]= //инициализация объекта BOP стркутуры bop
    {
        {" Вася Пеев "," Электрик "," Электрон", 0},    
        {" Петя Матроскин "," Водитель "," Матрос", 1 },
        {" Остин Пауерс "," Агент "," Оззи", 2 }
    };
        smenu();    // фкункция, отображающая меню
        cout << "\nВаш выбор:\n ";
        
while(cin >> choice)
{
    cout << endl;
if(choice == 'a'||choice == 'b'||choice == 'c'||choice == 'd')
  {
    switch(choice)
   {
    case 'a':
    {
    cout << BOP[0].fullname << endl;
    cout << BOP[1].fullname << endl;
    cout << BOP[2].fullname << endl;
    break;
    }
        case 'b':
        {
        cout << BOP[0].title << endl;
        cout << BOP[1].title << endl;
        cout << BOP[2].title << endl;
        break;
        }
            case 'c':
            {
            cout << BOP[0].bopname << endl;
            cout << BOP[1].bopname << endl;
            cout << BOP[2].bopname << endl;
            break;
            }
            
                case 'd':
                {
                cout << "Введите предпочитаемый пункт:\n";
                cout << "0 = полное имя, 1 = титул, 2 = имя БОП \n"<< endl; 
                 cin >> pref;
                 
        if(pref == 0)
    {
        for(int i = 0; i!=3;i++)
         cout << BOP[i].fullname << endl;
        
    }
            if(pref == 1)
        {
            for(int j = 0; j!=3;j++)
             cout << BOP[j].title << endl;
         
        }
                if(pref == 2)
                {
                    for(int k = 0;k!=3;k++)
                     cout << BOP[k].bopname << endl;
         
                }   
                cin.get();
                smenu();
                cout << "\nВаш выбор:\n ";
                break;
                }
   }
 
 }else if(choice != 'q')
 {
     cout << "Вы ввели не верный пункт,\n"
          << "Введите только а, b, c или d";
 }
       if (choice == 'q')
     cout << "До свидания!) " << endl;
}
return 0;
}
 
    void smenu()
    {
        cout << "\na. Отображать по имени,\t\t";
        cout << "b. Отображать по профессии.\n";
        cout << "с. Отображать по прозвищу.\t"; 
        cout << "d. Отображать по предпочтению.\n";
        cout << "q. Для выхода." << endl;
    }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru