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

Цикл и cin - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с BMP файлами http://www.cyberforum.ru/cpp-beginners/thread1095058.html
Здравствуйте. В универе дали следующее задание: 1) Перевести BMP 24 bit/pix в 16 bit/pix 2) 24 bit/pix в 8 bit/pix 3) 24 bit/pix в 4 bit/pix Теоретического материала никакого не дали. Может кто даст ссылку на информацию по этому поводу, или совет какой. Буду очень благодарен.
C++ Умножение вектора на массив Помогите пожалуйста Написать программу умножения двумерного массива интов заполненного рандомно на вектор http://www.cyberforum.ru/cpp-beginners/thread1095056.html
C++ Создать класс “Автомагазин”, состоящей из класса ”Марки машин”
Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки машин ”: марка, цена, цвет . Вывести список магазинов, в которых имеется заданная марка машины, заданного цвета. Вот есть что-то, но много ошибок #include <iostream.h> class avto_m { public:
C++ Удалить из массива A[N] вс отрицательные элементы.Удаление отрицательных элементов массива оформить в виде функции
Что исправить? #include <stdio.h> #define N 10 int udalenie(int A,int k ) { int i; for(i=k;i<N;i++)
C++ Сложить соответствующие столбцы, введеным числам http://www.cyberforum.ru/cpp-beginners/thread1095016.html
помогите решить задачу в с++ Задать двумерный массив 10 на 10 случайным образом. Вводим 2 числа от 1 до 10. нужно сложить соответствующие столбцы, введеным числам и вывести результат на экран
C++ Ошибка при написании класса: error LNK2019: ссылка на неразрешенный внешний символ Код: int _tmain(int argc, _TCHAR* argv) { Fraction x, x2, y, y2, fl, res, c; cout << "..." << endl; x.setFraction(); cout << "..." << endl; подробнее

Показать сообщение отдельно
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
12.02.2014, 16:01     Цикл и cin
Здравствуйте. Уже сталкивался с подобной проблемой и никак не могу снова разобраться.

При втором проходе цикла в функции add_data() оператор switch автоматически определяет выбор. Если задан проход цикл в ф-ии по одному разу - все нормально.


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
void add_data(bop* ptr)
{
   int innerans=0;
   bool innerflag = 1;
   for(int i = 0; i < ans; ++i)
   {
      cin.get(); //!!!!!!!!!!!!!!!!!!!!!!
      cout << "Enter full name\n> ";
      cin.getline(ptr[i].fullname, strsize);
      cout << "Enter title\n> ";
      cin.getline(ptr[i].title, strsize);
      cout << "Enter bopname\n> ";
      cin.getline(ptr[i].bopname, strsize);
      cout << "What user prefers to name him?\n> " <<
      "1) fullname\t2) title\t3) bopname\n> ";
      while (innerflag)
      {
         cin >> innerans;
         switch (innerans)
         {
            case 1:
               ptr[i].preference = 1;
               break;
            case 2:
               ptr[i].preference = 2;
               break;
            case 3:
               ptr[i].preference = 3;
               break;
            default:
            continue;
         }
         innerflag = 0;
      }
   }
}
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
void show_data(bop* ptr)
{
   int innerans = 0;
   bool innerflag = 1;
   cout << "You want display by:\n1) by fullname\t2) by title\n"<<
   "3) by bopname\t4) user preference\n> ";
   while(innerflag)
   {
      cin >> innerans;
      switch (innerans)
         {
            case 1:
               for (int i = 0; i < ans; ++i)
                  cout << ptr[i].fullname << "; ";
               break;
            case 2:
               for (int i = 0; i < ans; ++i)
                  cout << ptr[i].title << "; ";
               break;
            case 3:
               for (int i = 0; i < ans; ++i)
                  cout << ptr[i].bopname << "; ";
               break;
            case 4:
               for (int i = 0; i < ans; ++i) {
                  if (ptr[i].preference == 1)
                     cout << ptr[i].fullname << endl;
                  else if (ptr[i].preference == 2)
                     cout << ptr[i].title << endl;
                  else if (ptr[i].preference == 3)
                     cout << ptr[i].bopname << endl;
                  else
                     cout << "|Unknown error|";
               }
               break;
            default:
               continue;
         }
      innerflag = 0;
   }
}
Миниатюры
Цикл и cin  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru