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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2009, 17:11   #1
sasha20666
 
Регистрация: 29.10.2009
Сообщений: 3
По умолчанию [C++] Описание структуры TORT

Про структуры


Цитата:

Описать структуру с именем TORT , что содержит следующие поля:
- Название ;
- Число изготовление ;
- Цена.
Написать программу, что выполняет следующие действия:
-введение из клавиатуры данных в файл, который состоит из десяти записей структуры типа TORT;
-выведение на дисплей записей, где дата изготовления прострочена; записи должны быть упорядочены по цене
- Если таких работников нет, тогда выдать на дисплей соответствующее сообщение.
Выдали задание на паре и не знаю как написать помогите пожалуйста. Буду очень благодарен )
sasha20666 вне форума Ответить с цитированием
Старый 29.10.2009, 18:54   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

а в чем проблема?

описываете структуру

Код:
struct TORT
{
     char name[20];
     unsigned int date;
     unsigned int price;
};
потом в программе создаете массив этих структур как struct TORT tortik[10]

запись 1 структуры в файл

Код:
fwrite(&tortik[i],sizeof(TORT),1,,file);
чтение 1 структуры из файла

Код:
fread(&tortik[i],sizeof(TORT),1,,file);
затем пишите пару функций поиска нужных записей и выводите их на экран
counter вне форума Ответить с цитированием
Старый 31.10.2009, 10:14   #3
sasha20666
 
Регистрация: 29.10.2009
Сообщений: 3
По умолчанию

Вот программа Как зделать чтобы программа читала данные с файла

Код:
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <string>
 
struct Tort{
using namespace std;
       
    char* name;                   //название
    char date[11];                //дата например 30.10.2009 - 10 символов + 1 символ конца строки 
    unsigned int prise;         //цена
};
 
ostream &operator << (ostream &lhs, const Tort &rhs){
        return lhs << "Name: " << rhs.name << endl
                << "Date: " << rhs.date <<endl
                << "Price: " << rhs.price;
}
 
istream &operator >> (istream &lhs, Tort &rhs){
        cout << "Name-> "; lhs >> rhs.name;
        cout << "Date-> "; lhs >> rhs.date;
        cout << "Price-> "; lhs >> rhs.price;
        return lhs;
}
 
 
bool Sort_Price(const Tort& i, const Tort& j){ 
        return i.price < j.price;
}
 
int main(){
        const int count = 3;
        Tort tort[count];
 
        cout << "Input data: \n";
        for(int i = 0; i < count; ++i){
                cout << "Tort[" << i << "]:\n";
                cin >> tort[i];
        }
 
        const int Good = 2009; //годно до 2009 и включительно.
 
        //сортируем по цене..
       sort(tort, tort + count, Sort_Price);
 
        //Вывод всего..
        cout << "[------------]" << endl;
        for(int i = 0; i < count; ++i)
                std::cout << tort[i] << endl;
 
        //Вывод просроченного..
        int count_b = 0;
        cout << "[------------]" << endl;
        for(int i = 0; i < count; ++i){
                if(tort[i].price > Good){
                        std::cout << tort[i] << endl;
                        ++count_b;
                } 
        }
        if(!count_b)
                cout << "No!\n"; // просроченного нету.. 
        return 0;
}
sasha20666 вне форума Ответить с цитированием
Старый 31.10.2009, 17:52   #4
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

запись файла

Код:
FILE *ptrFile;

fopen_s(&ptrFile,"file.bin","rb");
if(!ptrFile)
{
     printf("\n\nCan not create file!");
     getch();
     return;
}

for(int i=0;i<10;i++)
   fwrite(&tortik[i],sizeof(TORT),1,ptrFile);
чтение файла

Код:
FILE *ptrFile;

fopen_s(&ptrFile,"file.bin","rb");
if(!ptrFile)
{
     printf("\n\nCan not open file!");
     getch();
     return;
}

for(int i=0;i<10;i++)
   fread(&tortik[i],sizeof(TORT),1,ptrFile);
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описание библиотек в Си papochka Общие вопросы C/C++ 1 28.10.2009 10:51
описание строчек в программе в С++ Luxian Помощь студентам 0 21.10.2009 20:18
Описание меток Yura_S Общие вопросы Delphi 5 20.10.2009 22:29
Описание процедуры phantom4eg Помощь студентам 6 17.03.2009 18:55
Описание к файлам Naposaram PHP 4 09.02.2009 09:24