error C3861: 'display': identifier not found

Fixxxik
Дата: 19.10.2014 16:22:14
Здравствуйте! Возникли проблемы с компилированием. Пытался своими силами не вышло, гуглил тоже не вышло.


#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

class sclad
{

public:
	sclad(){}
	string name;
	int price;
	int count;
	string section;

	int *m;
	int n;
	
	sclad(int size)
	{
		n=size;
		n++;
	}

	~sclad()
	{delete [] m;}

	void input (sclad &a)
	{
	for (int i=0 ; i<n ; i++)
		 {
		 cout<<"BBEDITE IMYA"<<endl;
		 cin>>name;
		 cout<<"BBEDITE TSENU"<<endl;
		 cin>>price;
		 cout<<"BBEDITE KOLICHESTVO"<<endl;
		 cin>>count;
		 cout<<"BBEDITE SECTSIYU"<<endl;
		 cin>>section;
		 }
	}
	
	int minprice(sclad* base)
	{
	    int min=200;
	    int i;
	    for (i=0 ; i<n; i++)
	    {
		if (base[i].price<min) 
		min=base[i].price;
	    }
            cout<< "min = " << min <<endl;
	    return (min);
	}

	void display (sclad* base)
	{    
		int i;
		cout << "Sclad: "<<endl;
	    cout << "size = "<< n << endl;
	    cout<< "IMYA \t\t TCENA \t\t KOL-VO \t\t SECTIYA ";
		for (i=0; i<n; i++)
		cout << i+1 << ") \n"<<base[i].name<<"\t\t"<<base[i].price<<"\t\t"<<base[i].count<<"\t\t"<<base[i].section<<endl;
	}

	sclad* createbase(int a)  //создание базы и задание параметров.
	{ 
		sclad* base = new sclad[a];
		for(int i = 0; i < a; i++)
		{	
			input(base[i]);
		}
		return base;
	} 
	friend sclad* createbase(int a);
};

void main()
{
	int n;

	cout << "BBEDITE KOL-VO POZICIY SCLADA" << endl;
	cin >> n;
	sclad* base = createbase(n);
	//sclad A(n);
	display(base);
	minprice(base);
	 system("PAUSE");
}



Выдает ошибку:
error C3861: 'display': identifier not found
error C3861: 'minprice': identifier not found
RWolf
Дата: 19.10.2014 16:50:10
Fixxxik,

Тут не гуглить надо, а дописать в исходник определения функций display и minprice. А пока это только часть программы.
SashaMercury
Дата: 19.10.2014 16:58:13
Потому что методы вызываются по другому
base->display(base);

в вашем случае.
Хотя вы эти методы(по-моему) неверно написали.
RWolf
Дата: 19.10.2014 17:25:34
SashaMercury,

был неправ, проглядел определения.
Fixxxik
Дата: 19.10.2014 19:10:24
SashaMercury,

Не могли бы Вы подсказать в чем ошибка (момент в программе), просто пока не особо еще разбираюсь в программировании.
SashaMercury
Дата: 20.10.2014 02:41:48
Fixxxik
SashaMercury,

Не могли бы Вы подсказать в чем ошибка (момент в программе), просто пока не особо еще разбираюсь в программировании.


ошибка в алгоритме.
Мне не понятно, вы хотите создать массив объектов sclad, или в одном объекте хранить базу ?

Поиск минимума совсем странный, почему 200, откуда ? Классический алгоритм выглядит иначе.

Эта часть кода тоже смутил

sclad(int size)
	{
	n=size;
	n++;
	}


почему в две строчки ?
Fixxxik
Дата: 20.10.2014 05:50:30
SashaMercury
Fixxxik
SashaMercury,

Не могли бы Вы подсказать в чем ошибка (момент в программе), просто пока не особо еще разбираюсь в программировании.


ошибка в алгоритме.
Мне не понятно, вы хотите создать массив объектов sclad, или в одном объекте хранить базу ?

Поиск минимума совсем странный, почему 200, откуда ? Классический алгоритм выглядит иначе.

Эта часть кода тоже смутил

sclad(int size)
	{
	n=size;
	n++;
	}


Программу писал мне знакомый, который так и не смог исправить эти ошибки. 200 - сам не понимаю откуда. В условии программы такого не было. А Вы не могли бы исправить. Я сам считай только пару дней назад взял книжку по программированию в руки. А сдавать надо уже вчера.
почему в две строчки ?
Fixxxik
Дата: 20.10.2014 05:52:34
SashaMercury,

Программу писал мне знакомый, который так и не смог исправить эти ошибки. 200 - сам не понимаю откуда. В условии программы такого не было. А Вы не могли бы исправить. Я сам считай только пару дней назад взял книжку по программированию в руки. А сдавать надо уже вчера.
SashaMercury
Дата: 20.10.2014 07:10:10
Не уверен что администрация Сообщества одобрит если я просто исправлю ваш код, или напишу всё заново. Вы должны начать разбираться сами, и задавать конкретные вопросы.

Я бы рекомендовал вам определиться с постановкой задачи(и сказать её нам), а затем составить алгоритм решения. А уже затем задавать вопросы по коду(как реализовать ваш алгоритм).
MasterZiv
Дата: 20.10.2014 14:44:03
SashaMercury,


Вот это :
void main()
{
...
  system("PAUSE");
}


однозначно говорит нам, что это -- студент, который хочет сдать зачёт, так что не надо за него делать его работу.