powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Одна злосчастная ошибка
9 сообщений из 9, страница 1 из 1
Одна злосчастная ошибка
    #33077027
Marusia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не понимаю в чем моя ошибка в след программке.Она довольна прозрачна-но почему то возникает Error: курсовая.cpp(62,2):Type mismatch in redeclaration of 'TFile'
Очень прошу мне помочь-это курсовая.Я в шоке

# include <iostream.h>
# include <conio.h>
# include <iomanip.h>
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <fstream.h>
const int M=20, K=4;

class TRec
{
friend TFile;
int shifr;//шифр материала
char naim[M];//наименование материала
float price;//цена материала за 1 единицу
float kol[K];//количество на единицу каждого из K наименований продукции
float plan;//планируемое количество выпуска
float factvip;//фактический выпуск в %


public:
void Shapka();//печать шапки таблицы
void PrnRec();//обеспечение форматированного вывода данных
friend istream & operator >> (istream & is,TRec & r);//перегрузка оператора >>
friend ostream & operator << (ostream & os,TRec r);//перегрузка оператора <<
};

void TRec::Shapka()
{
cout <<"шифр наименование цена "
<<"кол-во для продукции1 кол-во для продукции2"
<<"кол-во для продукции3 кол-во для продукции4"
<<"план выпуска фактический выпуск в %"<< endl;
}


istream & operator >> (istream & is,TRec & r)
{
is>>r.shifr>>r.naim>>r.price>>r.plan>>r.factvip;
for (int i=0;i<K;i++)
is>>r.kol ;
return is;
}

ostream & operator << (ostream & os,TRec r)
{
os<<r.shifr<<" "<<r.naim<<" "<<r.price<<" "<<r.plan<<" "<<r.factvip<<" ";
for (int i=0;i<K;i++)
os<<r.kol;
return os;
}

void TRec::PrnRec()
{
cout<<setw(2)<<shifr<<setw(10)<<naim<<setw(5)<<setprecision(2)<<price<<setw(3)<<setprecision(2)<<plan<<setw(5)<<setprecision(2)<<factvip;
for (int i=0;i<K;i++)
cout <<setw(5)<<setprecision(2)<<kol;
cout <<endl ;
}

class TFile
{ //Именно в этом месте мне выдает Error: курсовая.cpp(62,2):Type mismatch in redeclaration of 'TFile'
char f_name[80];//Имя файла, в котором будет храниться база даннных
int count;//Количество записей в БД
TRec rrr;//Контейнер для хранения данных текущей записи
public:
TFile();
void fsozd();
void fread();
void addrec();
void poisk();
void obr1();
void obr2();
void chrec();
void inprec();//обеспечение ввода данных с клавиатуры
};

TFile::TFile()
{
strcpy (f_name,"D:/antonova.xxx");
count=0;//Количество записей в БД
}

void TFile::inprec()
{
cout<<"введите шифр материала, наименование,цену за 1 ед.,планируемое количество выпуска, фактический выпуск в процентах и количество для 4-ех видов продукции: ";
cin>>rrr.shifr>>rrr.naim>>rrr.price>>rrr.plan>>rrr.factvip;
for (int i=0;i<K;i++)
cin>>rrr.kol;
}
...
Рейтинг: 0 / 0
Одна злосчастная ошибка
    #33077066
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ж написал уже, есть вестимо такой класс.
Назовы ж ты его не ТФайл, а скажем, TMarusiaFile
...
Рейтинг: 0 / 0
Одна злосчастная ошибка
    #33077106
Marusia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не выходит,к сожалению,выдает
Error: курсовая.cpp(62,2):Type mismatch in redeclaration of 'TMarusiaFile'
Можно скинуть полностью программку
TFile-у меня дружественный и единственный
...
Рейтинг: 0 / 0
Одна злосчастная ошибка
    #33077141
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, конечно могу и ошибиться, но когда в C++ появились friend классы? По давнему смутному опыту помню только о friend функциях.
...
Рейтинг: 0 / 0
Одна злосчастная ошибка
    #33077167
Marusia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть-уже как полгода использую-но видимо, до конца не обучилась-раз такие недоразумения
Может еще есть мнения?
...
Рейтинг: 0 / 0
Одна злосчастная ошибка
    #33077195
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
friend class TFile;
не поможет?
...
Рейтинг: 0 / 0
Одна злосчастная ошибка
    #33077201
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
# include <iostream.h>
# include <conio.h>
# include <iomanip.h>
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <fstream.h>
const int M=20, K=4;

class TRec
{
friend class TFile;
int shifr;//øèôð ìàòåðèàëà
char naim[M];//íàèìåíîâàíèå ìàòåðèàëà
float price;//öåíà ìàòåðèàëà çà 1 åäèíèöó
float kol[K];//êîëè÷åñòâî íà åäèíèöó êàæäîãî èç K íàèìåíîâàíèé ïðîäóêöèè
float plan;//ïëàíèðóåìîå êîëè÷åñòâî âûïóñêà
float factvip;//ôàêòè÷åñêèé âûïóñê â %


public:
void Shapka();//ïå÷àòü øàïêè òàáëèöû
void PrnRec();//îáåñïå÷åíèå ôîðìàòèðîâàííîãî âûâîäà äàííûõ
friend istream & operator >> (istream & is,TRec & r);//ïåðåãðóçêà îïåðàòîðà >>
friend ostream & operator << (ostream & os,TRec r);//ïåðåãðóçêà îïåðàòîðà <<
};

void TRec::Shapka()
{
cout <<"øèôð íàèìåíîâàíèå öåíà "
<<"êîë-âî äëÿ ïðîäóêöèè1 êîë-âî äëÿ ïðîäóêöèè2"
<<"êîë-âî äëÿ ïðîäóêöèè3 êîë-âî äëÿ ïðîäóêöèè4"
<<"ïëàí âûïóñêà ôàêòè÷åñêèé âûïóñê â %"<< endl;
}


istream & operator >> (istream & is,TRec & r)
{
is>>r.shifr>>r.naim>>r.price>>r.plan>>r.factvip;
for (int i=0;i<K;i++)
is>>r.kol;
return is;
}

ostream & operator << (ostream & os,TRec r)
{
os<<r.shifr<<" "<<r.naim<<" "<<r.price<<" "<<r.plan<<" "<<r.factvip<<" ";
for (int i=0;i<K;i++)
os<<r.kol;
return os;
}

void TRec::PrnRec()
{
cout<<setw(2)<<shifr<<setw(10)<<naim<<setw(5)<<setprecision(2)<<price<<setw(3)<<setprecision(2)<<plan<<setw(5)<<setprecision(2)<<factvip;
for (int i=0;i<K;i++)
cout <<setw(5)<<setprecision(2)<<kol;
cout <<endl ;
}

class TFile
{ //Èìåííî â ýòîì ìåñòå ìíå âûäàåò Error: êóðñîâàÿ.cpp(62,2):Type mismatch in redeclaration of 'TFile'
char f_name[80];//Èìÿ ôàéëà, â êîòîðîì áóäåò õðàíèòüñÿ áàçà äàíííûõ
int count;//Êîëè÷åñòâî çàïèñåé â ÁÄ
TRec rrr;//Êîíòåéíåð äëÿ õðàíåíèÿ äàííûõ òåêóùåé çàïèñè
public:
TFile();
void fsozd();
void fread();
void addrec();
void poisk();
void obr1();
void obr2();
void chrec();
void inprec();//îáåñïå÷åíèå ââîäà äàííûõ ñ êëàâèàòóðû
};

TFile::TFile()
{
strcpy (f_name,"D:/antonova.xxx");
count=0;//Êîëè÷åñòâî çàïèñåé â ÁÄ
}

void TFile::inprec()
{
cout<<"ââåäèòå øèôð ìàòåðèàëà, íàèìåíîâàíèå,öåíó çà 1 åä.,ïëàíèðóåìîå êîëè÷åñòâî âûïóñêà, ôàêòè÷åñêèé âûïóñê â ïðîöåíòàõ è êîëè÷åñòâî äëÿ 4-åõ âèäîâ ïðîäóêöèè: ";
cin>>rrr.shifr>>rrr.naim>>rrr.price>>rrr.plan>>rrr.factvip;
for (int i=0;i<K;i++)
cin>>rrr.kol;
}
...
Рейтинг: 0 / 0
Одна злосчастная ошибка
    #33077210
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобще-то говоря, у меня компилятор именно на friend TFile выдал ошибку ... погляди какие там у тебя установки по умолчанию стоят, скорее всего он TFile определил как
int TFile();

вот и возникла ошибка потом
...
Рейтинг: 0 / 0
Одна злосчастная ошибка
    #33077214
Marusia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты просто супер-помогло-проглядела--большое человеческое спасибо!!!!!!!
Я очень очень рада!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Одна злосчастная ошибка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]