Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы при потоковом чтении из файла 
:(
    Опции темы
donutinvader
Дата 17.9.2012, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.7.2012

Репутация: нет
Всего: нет



Здравствуйте. Пишу программу-калькулятор для операций над простыми целыми числами. Возникли проблемы при потоковом чтении из файла. Может кто-нибудь сможет указать, в чем моя ошибка.
Вот код main-функции. В текстовом файле записано три строки: первое число, арифм знак, второе число.
спасибо заранее..

Код
main()
{  deque<char> buffer;
   deque<char>::iterator mine;
   deque<int> deque1;
   deque<int> deque2;
   deque<int> buffer2;
   char sign; 
   char sign1;
   char sign2;
      
   ifstream infile("calc.txt");

   do                                    //попытка чтения из файла___???
   { infile.width(1);
     infile >> sign1;
     deque1.push_back((int)sign1); }
     while(sign1!='\n');

    infile.width(1);
    infile >> sign;

   do
   { infile.width(1);
     infile >> sign2;
     deque2.push_back((int)sign2); }
     while(sign2!='\n');
     
     infile.close();
   
   while(deque1.size()<deque2.size())   //выравнивание размеров
   deque1.push_front(0);
   while(deque1.size()>deque2.size())
   deque2.push_front(0);

   buffer2=adding(deque1, deque2);
   ofstream ofile("result.txt");
   ostream_iterator<int> foterato(ofile);
   copy(buffer2.begin(), buffer2.end(), foterato);
   
   return 0;  }


Модератор: Не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 18.9.2012, 00:28
PM MAIL   Вверх
bsa
Дата 18.9.2012, 00:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



donutinvader, твоя программа делает именно то, что ты написал. Вопрос только в том, а то ли ты написал, что хотел. Думаю нет. Ты хотел написать программу калькулятор, а написал читатель букв из файла.
я бы написал так:
Код
#include <iostream>
#include <fstream>

int main()
{
   int a, b, r;
   char sign;
   std::ifstream src("calc.txt");
   if (!(src >> a >> sign >> b)) {
      std::cerr << "Invalid file format" << std::endl;
      return 1;
   }
   switch(sign) {
   case '+': r = a + b; break;
   case '-': r = a - b; break;
   case '*': r = a * b; break;
   case '/': r = a / b; break;
   default:
      std::cerr << "Invalid sign" << std::endl;
      return 1;
   }
   std::cout << a << " " << sign << b << " = " << r << std::endl;
   return 0;
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.