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

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

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

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

22.03.2012, 01:34. Просмотров 374. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2012, 01:34     Поменять поиск информации по класу (си++)
Посмотрите здесь:

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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;
}
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

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

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

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

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

Реализовать ввод данных в структуру и поиск информации в ней - C++
1. Описать класс ORDER, реализующий однонаправленный линейный список для работы со следующими данными: • фамилия налогоплательщика; ...


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

Или воспользуйтесь поиском по форуму:
kagan
2 / 2 / 0
Регистрация: 26.12.2011
Сообщений: 44
22.03.2012, 16:04  [ТС]     Поменять поиск информации по класу (си++) #5
спасибо за ответ! Все разобрался)
Yandex
Объявления
22.03.2012, 16:04     Поменять поиск информации по класу (си++)
Ответ Создать тему
Опции темы

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