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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.02.2009, 23:02   #1
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию Работа с файлами на С++

И снова всем доброго времени суток, уважаемые знатоки! Про шу помощи. Пишу программу на классах. При написании программы возникла проблема. Когда я записываю файл, то функция, отвечающая за запись. постоянно его перезаписывает, вроде как есть какие-то ключи, но уже 2 часа ищу хоть что-то похожее в гугле и не могу найти.. Прошу помощи у вас подскажите как можно сделать так, чтобы он вносил всё содержимое в файл без его замены каждый раз?

Код:
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <cstring>
#include <stdio.h>
#include <fstream>
#include <sstream>
#include <conio.h>

class tovar 
{
public:
	char Firm[100];
	char Name[100];
	int Cena;
	int dollar;
	void enter_tovar(void);
	void show_tovar(void);
	void dollar_tovar(void);
	void enter_file(void);
	void show_file(void);
};

void tovar::enter_tovar(void)
{
        std::cout << "Фирма: ";
		std::cin >> Firm;
		std::cout << "Модель: ";
		std::cin >> Name;
		std::cout << "Цена: ";
		std::cin >> Cena;

};


void tovar::show_tovar(void)
{
  std::cout << std::endl << Firm << " " << Name << " " << Cena << std::endl;

};

void tovar::dollar_tovar(void)
{  
 Cena=Cena / dollar;
};

void tovar::enter_file()
{    
	std::fstream file( "bd.txt", std::ios_base::out);
	 
	 
               file << Firm << "\n";
               file << Name << "\n";
               file << Cena << "\n";
	file.close();


};

int main() {setlocale(LC_ALL,"Russian");

      tovar st[3];
      int n = 3;
      int a, d;
	  do{std::cout << "1-Ввод данных | " << "2-Вывод на экран | " << "3-Перевести рубли в доллары | " << "4-Сортировка по возрастанию | " << "ESC - Выход \n"; 
	  a=getch(); switch(a) 
	  {
	  case 49:
       for(int i=0; i<n; i++) {
       st[i].enter_tovar();
	   system("cls");}
	   
	   break;
	  case 50:
       for(int i=0; i<n; i++) {
		   st[i].show_tovar();}
	   getch();
	   system("cls");
	   
	   break;

	  case 51:
		
	system("cls");
	std::cout << "Введите курс доллара:";
	std::cin >> st[1].dollar;
	st[0].dollar=st[2].dollar=st[1].dollar;
	for (int i=0; i<n; i++){
		st[i].dollar_tovar();}

		  break;

	  case 52:
		  std::fstream file( "bd.txt", std::ios_base::out );
       file << n;
        
        for ( int i = 0; i < n; i++ )
       {
			  st[i].enter_file();

			        }
		 

	  break;

	 // case 53:

	//	  break;
	  }
	  } while(a!=27);
	   return(0);

}
nec117 вне форума
Старый 24.02.2009, 23:06   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Ключи открытия файла
MaTBeu вне форума
Старый 24.02.2009, 23:10   #3
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию

А какой именно ключь? я так полагаю, что вся проблема в этой строчке - std::fstream file( "bd.txt", std::ios_base:ut); а именно в std::ios_base:ut - а какой ключи писать вместо него?
nec117 вне форума
Старый 24.02.2009, 23:14   #4
KVF
Пользователь
 
Регистрация: 27.07.2008
Сообщений: 30
По умолчанию

ios::app если я не ошибаюсь
KVF вне форума
Старый 24.02.2009, 23:18   #5
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию

Всё получилось, именно app) Огромное спасибо за помощь вам! Вы мне очень помогли!
nec117 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами Cpluser Общие вопросы C/C++ 2 16.02.2009 23:22
Работа с файлами Скрунж Паскаль, Turbo Pascal, PascalABC.NET 1 18.10.2008 15:19
Работа с файлами Maksi Фриланс 4 07.06.2008 11:38
работа с файлами С++ Rossik Общие вопросы C/C++ 1 16.05.2008 19:28
Работа с файлами LeoN Общие вопросы Delphi 5 23.12.2006 13:33