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

Иерархия классов - C++

Восстановить пароль Регистрация
 
soul_of_water
 Аватар для soul_of_water
2 / 2 / 0
Регистрация: 10.05.2010
Сообщений: 63
17.10.2010, 20:09     Иерархия классов #1
Помогите разобраться с программой,пожалуйста,делала в Visual Studio.Работает правильно только первая функция, не могу разобраться в своей ошибке, она скорее всего логическая. Я создала три функции поиска по разделам,на экран должна выводиться запрошеннная информация...

h-файл с описанием класса

class flower //Базовый класс - цветок
{
public:
char* name; //Наименование
int amount; //Количество
float price; //Цена
const char* date; //Дата
flower()
{}

};
class roomublic flower //Класс - комнатные растения
{
public:

const char* pot; //Цветочный горшок
void find();
};
class decorativeublic flower //Класс - декоративные цветы
{
public:
const char* fatherland;//Родина
decorative(){};
void find();
};
class posyublic decorative //Класс - букеты
{
public:
const char* about;//Информация
void find();
posy(){};
};

срр файл

#include<iostream>
#include"flower.h"
#include <stdio.h>
#include <stdlib.h >
#include<string.h>
using namespace std;
char r[10];
room a[6];
int i;
decorative b[6];
posy c[6];
void room::find() //Функция, производящая поиск плательщика
{
cout<<"Input interest information"<<'\n';
cin>>r;
bool found = false;
for (int i = 0; i < 5; i++) //Прогоняем массив Payments для поиска нужного счета

if (strcmp(a[i].name,r) == 0)
{
found = true;
cout<<"Kolichestvo"<<'\n';
cout<<a[i].amount<<'\n';
cout<<"Cena"<<'\n';
cout<<a[i].price<<'\n';
cout<<"Data"<<'\n';
cout<<a[i].date<<'\n';
cout<<"Cvetochnyi gorshok"<<'\n';
cout<<a[i].pot<<'\n';
}
if (found == false) //Если же счет не найден, то
cout<<"Takoi informazii net"<<'\n'; //Выводим соотвутствующее сообщение

}
void decorative::find() //
{
cout<<"Input interest information"<<'\n';
cin>>r;
bool found = false;
for (int i = 0; i < 5; i++) //Прогоняем массив Payments для поиска нужного счета
if (strcmp(b[i].name,r) == 0)
{
found = true;
cout<<"Kolichestvo"<<'\n';
cout<<b[i].amount<<'\n';
cout<<"Cena"<<'\n';
cout<<b[i].price<<'\n';
cout<<"Rodina"<<'\n';
cout<<b[i].fatherland;
}
if (found == false) //Если же счет не найден, то
cout<<"Takoi informazii net"<<'\n'; //Выводим соотвутствующее сообщение

}

void posy::find() //
{
cout<<"Input interest information"<<'\n';
cin>>r;
bool found = false;
for (int i = 0; i < 5; i++) //Прогоняем массив Payments для поиска нужного счета

if (strcmp(c[i].name,r) == 0)
{
found = true;
cout<<"Cena"<<'\n';
cout<<c[i].price<<'\n';
cout<<"About "<<'\n';
cout<<c[i].about;
}
if (found == false) //Если же счет не найден, то
cout<<"Takoi informazii net"<<'\n'; //Выводим соотвутствующее сообщение

}
void main()
{
a[0].name = "Fialka";
a[0].amount = 6;
a[0].price = 300;
a[0].date = "10.03.10";
a[0].pot = "Plastic";
a[1].name= "Kaktus";
a[1].amount = 10;
a[1].price = 230;
a[1].date = "23.10.10";
a[1].pot = "Ceramic";
a[2].name = "Ficus";
a[2].amount = 3;
a[2].price = 1500;
a[2].date = "5.10.10";
a[2].pot = "Plastic";
a[3].name = "Pal'ma";
a[3].amount = 2;
a[3].price = 9000;
a[3].date = "03.06.10";
a[3].pot = "Ceramic";
a[4].name = "Orhideya";
a[4].amount = 1;
a[4].price = 500;
a[4].date = "07.07.10";
a[4].pot = "Ceramic";
decorative b[5];
b[0].name = "Rose";
b[0].amount = 12;
b[0].price = 120;
b[0].fatherland = "Angliya";
b[1].name = "Gvozdika";
b[1].amount = 180;
b[1].price = 55;
b[2].fatherland = "Rossiya";
b[2].name = "Astra";
b[2].amount = 23;
b[2].price = 100;
b[2].fatherland = "Ukraina";
b[3].name = "Tul`pan";
b[3].amount = 12;
b[3].price = 70;
b[3].fatherland = "Rossiya";
b[4].name = "Liliya";
b[4].amount = 67;
b[4].price = 120;
b[4].fatherland = "Andliya";
posy c[5];
c[0].name = "Mechta";
c[0].price = 450;
c[0].about= "3 rozy";
c[1].name = "Neznost";
c[1].price = 1200;
c[1].about = "sdfg";
c[2].name = "fsff";
c[2].price = 670;
c[2].about = "fhhh";
c[3].name = "fghhjj";
c[3].price = 1290;
c[3].about = "dffffg";
c[4].name = "sdfff";
c[4].price = 345;
c[4].about = "gggg";
int f;
cout<<"Vvedite razdel dlya poiska "<<'\n';
cout<<"1 - komnatnye rasteniya, 2 - dekorativnye rasteniya, 3 - bukety"<<'\n';
cin>>f;
if(f==1)
a[i].find();
if(f==2)
b[i].find();
if(f==3)
c[i].find();

system("pause");

}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2010, 20:09     Иерархия классов
Посмотрите здесь:

C++ иерархия классов
иерархия классов C++
C++ Иерархия классов
C++ иерархия классов
Иерархия классов C++
Иерархия классов C++
C++ иерархия классов
Иерархия классов C++
Иерархия классов С++ C++
Иерархия классов C++
Иерархия классов C++
C++ Иерархия классов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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