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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 11:20   #1
PotatoCaptain
Пользователь
 
Регистрация: 05.12.2011
Сообщений: 40
По умолчанию Чтение с файла выводит чтото не то

Задание такое, создать чтото вроде баззы данных, но с использованием .txt
Записал программу но пока не полностью, что бы все было не в ироглифах в свойствах консоли выберете шрифт lucidaCоnsоle
Код:
#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "stdio.h"
#include "string"
#include "windows.h"
using namespace std;
struct BD {char fam[10000], data[50],  №[50], cena[50];};

int _tmain(int argc, _TCHAR* argv[])
{   SetConsoleCP(1251); 
SetConsoleOutputCP(1251);
struct BD bd[50];
char y;
int x=0,a=0,i=0,n=0;
FILE *file;

do{ system ("cls");
cout << "      ******Меню*******"<< endl<< "1.Заполнить базу данных" <<endl<< "2.Показать баззу данных"<< endl<<
"3.Корректировка базы данных"<<endl<< "4.Поиск"<<endl<<"5.Вывод ведомости продаж"<<endl<<"6.Конец"<<endl;
cin >> x;
	    
        if (x==1)
        {
cout << "Заполнение базы данных"<< endl;
file = fopen( "file.txt", "w" );
cout  <<"Введите колличесво покупателей"<< endl;
cin >> a;
fwrite(&bd[i],sizeof(bd[i]),1,file);
for (i=0;i<a;i++)
{cout << "Фамилия "<<i+1<<" покупателя:"<< endl;
 cin>> bd[i].fam;
 fwrite(&bd[i],sizeof(bd[i]),1,file);
cout << "Номер квартиры:"<< endl;
 cin>> bd[i].№;
fwrite(&bd[i],sizeof(bd[i]),1,file);
cout << "Дата сделки:"<< endl;
cin>> bd[i].data;
fwrite(&bd[i],sizeof(bd[i]),1,file);
 cout << "Цена:"<< endl;
 cin>> bd[i].cena;
 fwrite(&bd[i],sizeof(bd[i]),1,file);
 }//цикл заполнения базы данных
fclose(file);
 cout << "База данных сохранена в файле: baza.txt" << endl;
}

		else if (x==2){
		cout << "******Базза данных******"<< endl;
		file = fopen("file.txt", "r");
		a=5;//количество человек,  в базе данных
		for (i=0;i<a;i++)
                {
		fread(&bd[i],sizeof(bd[i]),1,file)==1;
		cout << &bd[i].fam << endl;
	        }//цикл считывания базы данных, к примеру фамилии
		}

		else if (x==3)
		cout <<"Korrektirovka bazi dannih"<<endl;
		else if (x==4)
		cout <<"Poisk po baze dannih"<<endl;
		else if (x==5)
		cout <<"Vivod vedomsti prodazh"<<endl;
		else if (x==6)
		cout <<"Konec"<<endl;
		cout <<"Если хотите продолжить нажмите y"<< endl;
		cin >> y;}
		while (y=='y');

system("pause");
return 0;
}
выводит в консоли вместо данных
00213CD4
0021647A
что это понять не могу, может с циклом не так, или вообше нельзя структуры с файлами использовать, помогите пожалуйста
PotatoCaptain вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу, которая считывает текст из файла и выводит на экран только те предложения, состоящие из заданного ко VovaMazur Помощь студентам 0 24.09.2011 14:51
программа, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых shadowfiend C++ Builder 2 09.05.2011 21:48
Файлы(Не выводит из файла) BaronVik Паскаль, Turbo Pascal, PascalABC.NET 2 20.02.2011 12:04
Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном по avic Общие вопросы C/C++ 1 22.12.2010 12:41
программа , которая считает английский текст из файла и выводит на экран слова, начинающиеся с гласных бу Fantom666 Помощь студентам 0 13.05.2010 19:01