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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2016, 01:24   #1
Slavik33334
Новичок
Джуниор
 
Регистрация: 08.06.2016
Сообщений: 1
Восклицание Прошу помогите, нужно написать програму Обработка файлов структур (с ++)

Создать программу с использованием данных типа структуры (struct) согласно варианту, заданного в таблице 12, для записи данных в двоичный файл и чтение из него. Запись оформить в цикле. Ввести не менее 10 различных записей. Программу оформить как совокупность подпрограмм и меню выбора определенного действия - запись, чтение, поиск, обработка, очистка и т.д.
Вот мой вариант
В файле записано: аудитория, день недели, количество пар. Посчитать для каждой аудитории количество пар в неделю и вывести номер наиболее загруженной аудитории.
Вот мой код
Код:
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <stdio.h>
#include <windows.h>
#pragma warning(disable : 4996)
using namespace std;
FILE *f;
char file[256];

struct product{
	char name[256];
	double number,weekday,Quantity_pair;
};

void write(char *file){
	product har;
	
	f=fopen(file,"ab");
	int k;
	cout<<"How many auditorium"<<endl;
	cin>>k;
	int n;
	cout<<"How many days a week"<<endl;
	cin>>n;
	fwrite(&n,sizeof(int),1,f);
	for(int i=1;i<=k*n;i++){
		cout<<"Number?"<<endl;
		cin>>har.number;
		cout<<"Weekday?"<<endl;
		cin>>har.weekday;
		cout<<"Quantity pair?"<<endl;
		cin>>har.Quantity_pair;
		fwrite(&har,sizeof(har),1,f);
	}
	fclose(f);
}

void read(char *file){

	f=fopen(file,"rb");
	product tmp;
	product mas[100];
	int i=0;
	while(fread(&mas[i],sizeof(product),1,f)!=0)
    {
     i++;
    }
	int n=i;
	for(int i=0; i<n; i++)
    {
        cout<<"\tname: ";
		cout<<mas[i].name<<endl;
		cout<<"\tnumber: ";
		cout<<mas[i].number<<endl;
		cout<<"\tQuantity_pair: ";
		cout<<mas[i].Quantity_pair<<endl;
		cout<<"\tweekday: ";
		cout<<mas[i].weekday<<endl<<endl;
	fclose(f);
}
	
int main(int argc, char** argv) {
	int i;
	cout << "What file name?" << endl;
	cin >> file;

	cout << "1-Write,  2-Read,  3-End programm" << endl;

	cin >> i;
	while (i != 3) {
		switch (i) {
		case 1:
			write(file);
			cout << "what else?"<<endl;
			cin >> i;
		case 2:
			read(file);
			cout << "what else?" << endl;
			cin >> i;
		default:	
			cout << "error, try again=)" << endl;
			break;
		}
	}
	return 0;
}
Помогите пожалуйста!))

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 08.06.2016 в 13:47.
Slavik33334 вне форума Ответить с цитированием
Старый 08.06.2016, 13:32   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Уважаемый, не хотите поработать над Вашей задачей вместе? Или ты хочешь что бы "за тебя её сделали"?

У меня канал на Youtube и мне удобно общаться по видео в виде комментариев (специально видеоролик под тебя создал):

https://www.youtube.com/watch?edit=vd&v=pWOboZbt1wA

Нужно только синхронизировать время связи (я не постоянно сижу на Youtube).
ura_111 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка структур с использованием файлов(C++) JetRay Помощь студентам 0 24.03.2016 19:15
Нужно написать програму на делфи для тестирования студентов. Romati Помощь студентам 4 15.04.2010 08:48
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите написать програму TheVenny Помощь студентам 3 05.11.2008 19:52