Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2012, 19:26   #1
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию Что же не так?

Подскажите пожалуйста, где я накосячила? В коде ошибки, что-то видимо с вектором намудрила. Но на мой взгляд всё правильно...
Вот код: Модуль struct.h
Код:
#ifndef STRUCT
#define STRUCT
#include <vector>
struct NOTEBOOK
{
	struct cl1sp__res	// разрешающая способность дисплея
	{ 
	int х;		// по горизонтали 
	int у;		// по вертикали 
	};
	cl1sp__res res;
	int f;			// частота регенерации 
	float d;		// размер диагонали дисплея 
	int price;		// цена 
	char model[21]; // наименование 
};
void titl();
vector<NOTEBOOK> readOfFile();
void add();
void display();
#endif
Модуль main.cpp
Код:
#include <iostream>
#include "struct.h"
using namespace std;

int main()
{
	setlocale(LC_ALL,"Russian");
	NOTEBOOK note;
	titl();
	system("pause");
	int a;
	do
	{
		cout<<"Вывести информацию о ноутбуках - 1"<<endl;
		cout<<"Добавить запись - 2"<<endl;
		cout<<"Выход - 0"<<endl;
		do{
		cin>>a;
		}while((a>2)  || (a<0));
	}while(a!=0);
	switch(a)
	{
	case 1:display();
		break;
	case 2:add();
		break;
	}
	system("pause");
	return 0;
}
Модуль func.cpp
Код:
#include <iostream>
#include <fstream>
#include"struct.h"
using namespace std;
void titl()
{
	cout<< "\t\t\t\t\t\t\t\tВыполнила:\n\n" ;
	cout<< "\t\t\t\t\t\t  студентка группы \n\n" ;
}
vector<NOTEBOOK> readOfFile()
{
	vector<NOTEBOOK> A;
	NOTEBOOK note;
	short int number;
	ifstream potok("nbook.bin", ios::in|ios::binary);
	if(potok.is_open())
	{
		if(potok.read((char *)&number,sizeof(short int)))
		{
			for(short int i=0;i<number;i++)
			{
				potok.read((char *)&note, sizeof(NOTEBOOK));
				A.push_back(note);
			}
		}
		potok.close();
	}
	return A;
}
void display()
{
	vector<NOTEBOOK> A;
		A=readOfFile(); 
		if(A.size() !=0)
		{
		for(int i=0; i<A.size();i++)
		{
			cout<<left<<"model:"<<A[i].model<<"  "<<"price"<<A[i].price<<"  "<<"частота регенирации: "<<A[i].f<<"  "<<"размер диагонали дисплея"<<A[i].d<<"  "<<"разрешающая способность дисплея: "<<A[i].res.х<<"х"<<A[i].res.у<<endl;
		}
		}
		else cout<<"Информация отсутствует!"<<endl;
}
void add()
{
	vector<NOTEBOOK> A;
	NOTEBOOK note;
	cout<<"Наименование: "<<endl;cin>>note.model;
	cout<<"Частота регенерации: "<<endl;cin>>note.f;
	cout<<"Размер диагонали дисплея"<<endl;cin>>note.d;
	cout<<"Цена"<<endl;cin>>note.price;
	cout<<"Разрешающая способность дисплея:"<<endl;
	cout<<"По горизонтали: "<<endl;cin>>note.res.х;
	cout<<"По вертикали: "<<endl;cin>>note.res.у;
	short int number=0;
	A=readOfFile();
	A.push_back(note);
	number=A.size();
	ofstream potok("nbook.bin", ios::out|ios::binary);
	if(potok.is_open())
	{
		potok.write((char *)&number, sizeof (short int));
		for (short int i=0;i<number;i++)
		{
			potok.write((char *)&A[i], sizeof(NOTEBOOK));
		}
		potok.close();
		cout<<endl<<"Запись успешно добавлена"<<endl;
	}
}
Приведу несколько ошибок:

Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

Error 20 error C3861: 'readOfFile': identifier not found

Error 5 error C2872: 'vector' : ambiguous symbol

Error 12 error C2447: '{' : missing function header (old-style formal list?)

Error 24 error C2228: left of '.size' must have class/struct/union ( и так для всех полей)

Error 1 error C2143: syntax error : missing ';' before '<'

Error 44 error C2065: 'A' : undeclared identifier

Помогите, а то уже голову сломала. Кажется что-то очевидное, а я видимо упускаю это..

Последний раз редактировалось PinkPink; 03.02.2012 в 19:30.
PinkPink вне форума Ответить с цитированием
Старый 03.02.2012, 19:28   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Используйте тег [CODE] (значок # ) для сохранения форматирования и подсветки кода в сообщении. Кнопка Правка снизу справа.
Цитата:
Error 2 error C4430
а номера строк?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.02.2012, 19:31   #3
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

номер строки 18 и 19
PinkPink вне форума Ответить с цитированием
Старый 03.02.2012, 19:33   #4
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

тег использовала, номера строк написала. несколько потому что 3 таких ошибки
PinkPink вне форума Ответить с цитированием
Старый 03.02.2012, 19:35   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дык тут 3 файла, в каком из них?
Цитата:
18 и 19
А остальные? Все ошибки указывают на одни и те же 2 строки?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.02.2012, 19:44   #6
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию



--------------------------------------

PinkPink вне форума Ответить с цитированием
Старый 03.02.2012, 19:49   #7
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от PinkPink Посмотреть сообщение
Подскажите пожалуйста, где я накосячила? В коде ошибки, что-то видимо с вектором намудрила. Но на мой взгляд всё правильно...
Вот код: Модуль struct.h
Код:
#ifndef STRUCT
#define STRUCT
#include <vector>
struct NOTEBOOK
{
	struct cl1sp__res	// разрешающая способность дисплея
	{ 
	int х;		// по горизонтали 
	int у;		// по вертикали 
	};
	cl1sp__res res;
	int f;			// частота регенерации 
	float d;		// размер диагонали дисплея 
	int price;		// цена 
	char model[21]; // наименование 
};
void titl();
vector<NOTEBOOK> readOfFile();
void add();
void display();
#endif
Во-первых, у вас в этом заголовочном файле неизвестный идентификатор cl1sp__res, то есть очевидно компилятор должен ругаться на это строчку
Код:
	cl1sp__res res;
Во-вторых, вам следует у вектора указать, к какому пространству имен он относится, то есть написать

Код:
std::vector<NOTEBOOK> readOfFile();
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 03.02.2012, 20:00   #8
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

Цитата:
Сообщение от Сыроежка Посмотреть сообщение
Во-первых, у вас в этом заголовочном файле неизвестный идентификатор cl1sp__res, то есть очевидно компилятор должен ругаться на это строчку
Код:
	cl1sp__res res;
Во-вторых, вам следует у вектора указать, к какому пространству имен он относится, то есть написать.

Код:
std::vector<NOTEBOOK> readOfFile();
Извините пожалуйста, но ведь выше структура описана с cl1sp__res. Что же тогда не так? Как правильно?

В файле struct.h может указать using namespace std; ?

Последний раз редактировалось PinkPink; 03.02.2012 в 20:03.
PinkPink вне форума Ответить с цитированием
Старый 03.02.2012, 20:02   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да, или так, ибо в остальных файлах так и сделано.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.02.2012, 20:10   #10
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Да, или так, ибо в остальных файлах так и сделано.
ура) спасибо, все ошибки исчезли. как я и думала, что в упор не вижу какую-то мелочь( ка всегда
со структурой всё нормально нужно было лишь пространство имён указать.
Спасибо ещё раз) надеюсь больше проблем не возникнет
PinkPink вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что не так? Ket911 Помощь студентам 1 29.11.2011 03:13
Что-то не так в программе...не пойму что Karina_Vamp Помощь студентам 5 24.12.2010 21:06
Что не так Thandem Общие вопросы Delphi 5 26.09.2010 09:25
Что не так? rododendron Общие вопросы C/C++ 5 05.05.2009 22:48