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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Застрял.Подскажите как доделать. http://www.cyberforum.ru/cpp-beginners/thread177693.html
Напишите программу на "родном" С++, которая позволит ввести неограниченное количество значений и сохранить их в массив, размещенный в свободном хранилище.Программа должна вывести введенные значения, по пять в строке, после чего вычислить и показать их среднюю величину. #include<iostream> #include<iomanip> #include <locale> using namespace std; int main() { setlocale(LC_ALL,"Russian");...
C++ формирование массива объектов Помогите исправит программу! Надо аписать программу, выполняющую: •формирование массива объектов (с конструктором по умолчанию); •формирование одиночных объектов (с конструктором с параметрами); •ввод данных с клавиатуры; •вывод данных на экран. Определить класс, описывающий объект «дом» (улица, номер, год постройки, количество квартир, количество жильцов и т.д.). http://www.cyberforum.ru/cpp-beginners/thread177691.html
C++ вопрос по типам даных
у меня проблема такого типа мне надо вывести корень чисел для 4 типов даных - double,int,long,float для float и double выводит нормально а вот на int и long ругается Подскажите пожалуйста как надо правильно сделать вот код: #include <iostream> #include <conio.h> #include <math.h> using namespace std; void pr (double a) {
Прокоментируйте код C++
#pragma argsused #include <iostream.h> using namespace std; int main() { const int n = 5; int a; cout<<"Enter matrix 5x5:\n"; for(int i=0; i<n; i++) for(int j=0; j<n; j++)
C++ Перестановка строк матрицы http://www.cyberforum.ru/cpp-beginners/thread177688.html
Ребята помогите, если не сложно! Накипело задачку решить, а в С++ баран) Вот задание: Переставить строки матрицы в соответствии с возрастанием элементов 3 столбца Чем сможете) Заранее благодарен!
C++ Сравнение чисел в трёхзначном числе Нужно определить какая из цифр в трёхзначном числе больше первая или вторая? подробнее

Показать сообщение отдельно
soul_of_water
 Аватар для soul_of_water
2 / 2 / 0
Регистрация: 10.05.2010
Сообщений: 63
17.10.2010, 20:09     Иерархия классов
Помогите разобраться с программой,пожалуйста,делала в 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");

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