Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kagan
2 / 2 / 0
Регистрация: 26.12.2011
Сообщений: 44
#1

Поменять поиск информации по класу (си++) - C++

22.03.2012, 01:34. Просмотров 379. Ответов 4
Метки нет (Все метки)

Доброй ночи, помогите пожалуйста сделать кое-какие изменения в програмке, буду благодарен)
Нужно изменить как-то по другому поиск по заданным критериям, и ещё можно одновременно задавать два-три критерия в поиске? А не один как, сделал я)

Цель задачи: Создать класс компьютер, и на его основе описать компьютерную аудиторию. Осуществить поиск по заданным(любым) параметрам, которые описаны в классе компьютер.
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
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>
#include <string.h>
 
using namespace std;
 
class computer
{  
  float ghz; int ozy; int year;int search;
  public:
  void vvod()  
  {
  cout << "Vvedit mochnost' procesora PK GHz:" << " ";
  cin >> ghz; cout << endl; 
  cout << "Vvedit OZY PK:" << " "; 
  cin >> ozy; cout << endl;  
  cout << "Vvedit rik vugotovlennya PK:" << " "; 
  cin >> year; cout << endl << endl;
  }
  void vuvod()
   {
       cout << "\tGhz=" << ghz << "\tOZY=" << ozy << "\tRik=" << year << endl;
   }
   void searc(int m)
   {
   search = m; if(search == year) vuvod();
   }
};    
      int main()
{
 int n;
     cout << "Vvedite kol-vo kompov v komnate: ";
     cin >> n; cout << endl;
     cout << "!!! Zadaite info pro PK !!!" << endl << endl;
        
        computer *a = new computer [n];
        for(int i = 0; i < n; i++)
        a[i].vvod();
         for(int i = 0; i < n;i ++)a[i].vuvod();
  int m;
         cout << "Zadayte RIK vupyska PK:" << endl;
         cin >> m;
         for(int i = 0; i < n; i++)
         a[i].searc(m);
  system("PAUSE");
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2012, 01:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять поиск информации по класу (си++) (C++):

Ввод информации в структуру и поиск элемента по информации, находящейся в этом же элементе - C++
В сервис-центре хранятся квитанции о сданной в ремонт аппаратуре. Каждая квитанция содержит следующую информацию: наименование группы...

Реализовать поиск заданного файла в древе каталогов и поиск указанной информации в этом файле - C++
Имеется много папок в каждой папке есть файл proc.txt, как можно по всем этим папкам пройтись и из каждой папки в этом файле достать...

Доступ к пользовательскому класу по void указателю - C++
Здравствуйте, есть указатель void* pointer = 0; //указатель на объект Известно, на какой именно тип объекта ссылается указатель. ...

поиск информации для изучения - C++
Поделитесь ,пожалуйста ,информацией , цитирую : &quot;Библиотечные функции языка программирования С Библиотечные функции обработки символов и...

Поиск информации в файле и ее вывод - C++
Привет. Создан текстовый файл, в котором содержится информация о марках автомобилей. Выводить все данные на форму по запросу и в виде...

Ввод и поиск информации о книгах - C++
Пытаюсь создать программу , которая заполняет массив структур данными,выводит на экран , и поиск в нем выполняет.Поиск реализован таким...

4
Kidasov
77 / 77 / 12
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
22.03.2012, 02:34 #2
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
#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <string.h>
 
using namespace std;
 
class computer
{  
  float ghz;
  int ozy; 
  int year;
  public:
    
  computer() { ghz = 0; ozy = year = 0; }
  void vvod()  
  {
    cout << "Vvedit mochnost' procesora PK GHz:" << " ";
    cin >> ghz; cout << endl; 
    cout << "Vvedit OZY PK:" << " "; 
    cin >> ozy; cout << endl;  
    cout << "Vvedit rik vugotovlennya PK:" << " "; 
    cin >> year; cout << endl << endl;
  }
  void vuvod()
  {
    cout << "\tGhz=" << ghz << "\tOZY=" << ozy << "\tRik=" << year << endl;
  }
  void searchComputer(float ghz = 0, int ozy = 0, int year = 0) 
  {
     if ( this->ghz == ghz ) { vuvod(); return ; }
     else if (this->ozy == ozy) { vuvod(); return ; }
     else if (this->year == year) { vuvod(); return ; }
  }
};    
int main()
{
 int n;
  cout << "Vvedite kol-vo kompov v komnate: ";
  cin >> n; cout << endl;
  cout << "!!! Zadaite info pro PK !!!" << endl << endl;
        
  computer *a = new computer [n];
  for(int i = 0; i < n; i++)
  a[i].vvod();
    
  for(int i = 0; i < n;i ++) a[i].vuvod();
  
  cout << "The result of the seraching" << endl;
  for (int i = 0; i < n; i++) {
    a[i].searchComputer(3.0, 2); //ищем компьютеры с частотой 3mhz  и 2 gb RAM
  }
  return 0;
}
1
kagan
2 / 2 / 0
Регистрация: 26.12.2011
Сообщений: 44
22.03.2012, 11:11  [ТС] #3
спасибо)
ну есть пару вопросов:
1) что означает здесь this? И return не должно возвращать значения? else if (this->ozy == ozy) { vuvod(); return ;
2) обязательно 2 цикла одинаковых делать?
C++
1
2
3
for(int i = 0; i < n; i++)
  a[i].vvod();
  for(int i = 0; i < n;i ++) a[i].vuvod();
3) Здесь наверное вместо Ram, OZY имелось введу) это же получается поиск по двум критериям одновременно? т.е. если я в этой ф-ии укажу не 2 а три параметра (3.0, 2, 10) то будет искать по трем параметрам, и значение 10 - это будет год выпуска пк?
a[i].searchComputer(3.0, 2); //ищем компьютеры с частотой 3mhz и 2 gb RAM

Ещё раз спасибо что помогли!
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
22.03.2012, 12:31 #4
1) 'это указатель на сам объект. Return может ничего не вовзращать(т.к. функция ничего не возвращает) используется для выхода из функции
2) где вы видите, что они одинаковые? один цикл ввод, второй вывод.
1
kagan
2 / 2 / 0
Регистрация: 26.12.2011
Сообщений: 44
22.03.2012, 16:04  [ТС] #5
спасибо за ответ! Все разобрался)
0
22.03.2012, 16:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2012, 16:04
Привет! Вот еще темы с ответами:

Работа с файлами. Поиск и сбор информации - C++
Здравствуйте) Мои навыки программирования целиком и полностью основываются на этом форуме) Зарегистрировался вот из-за того, что уже полдня...

Поиск информации для написания HotKey - C++
Всем привет, буду рад любой помощи. Мне требуется помощь в поиске информации для написания приложения HotKey под винду. Заранее спасибо...

Ввод информации в структуру и поиск минимального элемента - C++
Помогите, пожалуйста, с этим кодом... Как бы я не танцевал над ним, не получается довести ее до ума:cry: Кто чем может, помогите, в долгу...

Поиск информации в переменной типа std::wstring - C++
Этот код определяет видеокартку которая на компе стоит но данныен выводит в незнакомом мне виде немого преобразовать вывод в стринг Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru