С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
6 / 3 / 3
Регистрация: 04.01.2022
Сообщений: 58
1

Ошибка с файловыми потоками

13.03.2022, 10:21. Показов 702. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вроде совсем не сложная программа, которая считывает из файла числа и выводит в консоль те из них, которые являются палиндромами. Но в консоли бесконечное количество нулей. Что я сделал не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <fstream>
 
using namespace std;
 
bool IsPalindrom (int x)
{
    int Number=0;
    int temp=x;
    while (x != 0)
        {
            Number *= 10;
            Number += x%10;
            cout << Number << " ";
            x/=10;
        }
    if (temp == Number) return true;
    else return false;
}
 
int main(int argc, char* argv[])
{
    ifstream fin ("input.txt");
    int x;
    while (not fin.eof())
    {
        fin >> x;
        if (IsPalindrom(x)==true)
            cout << x << " ";
    }
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2022, 10:21
Ответы с готовыми решениями:

Работа с файловыми потоками
Получилось по заданию примерно как то так:Постановка задачи Входные данные: текстовый файл,...

Работа с файловыми потоками
Доброго времени суток! Мне нужно из Данного числового файла f. Выбрать все значения, которые...

Работа с файловыми потоками
Доброго времени суток! Мне нужно из Данного числового файла f. Выбрать все значения, которые...

Работа с файловыми потоками в С++.
Помогите разобратсья в программе: Дан символьный файл f. Подсчитать число вхождений в файл каждой...

Работа с файловыми потоками
Подскажите. Мне нужно считывать из файла базу данных. Первый элемент каждой строки эта фамилия....

3
2337 / 1824 / 753
Регистрация: 27.07.2012
Сообщений: 5,400
13.03.2022, 10:32 2
Лучший ответ Сообщение было отмечено Schizophrenia- как решение

Решение

Во-первых, надо сначала проверить, что файл вообще открыт:
C++
1
2
3
4
5
ifstream fin ("input.txt");
if (!fin.is_open()) {
  cout << "File not opened!";
  return 0;
}
1
Модератор
Эксперт С++
13714 / 10913 / 6476
Регистрация: 18.12.2011
Сообщений: 29,141
13.03.2022, 10:43 3

Не по теме:

Цитата Сообщение от Schizophrenia- Посмотреть сообщение
if (IsPalindrom(x)==true)
Не пишите так никогда!
Это все равно, что сказать "Масло масляное".
Просто
C++
1
if (IsPalindrom(x))


C++
1
2
3
4
5
6
7
8
9
10
11
12
   ifstream fin ("input.txt");
   if(fin)
   {
       int x;
       while (fin>>x)
       {
          if ( IsPalindrom(x)  )
             cout << x << " ";
       }
       fin.close();
   }else
     cout<<"File not open";
p.s.
Как Вы различаете отладочный вывод
Цитата Сообщение от Schizophrenia- Посмотреть сообщение
cout << Number << " ";
и найденный результат
Цитата Сообщение от Schizophrenia- Посмотреть сообщение
cout << x << " ";
Он же затеряется среди кучи отладочных чисел.
Если Вы не уверены в правильности работы функции, то вместо вывода поставьте там точку останова
и в отладочном режиме проверьте работу.
Как пользоваться отладчиком (в Visual Studio)
1
6 / 3 / 3
Регистрация: 04.01.2022
Сообщений: 58
13.03.2022, 11:57  [ТС] 4
Как Вы различаете отладочный вывод
Никак. Забыл удалить после проверки. А про отладчик - спасибо, почитаю
0
13.03.2022, 11:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2022, 11:57
Помогаю со студенческими работами здесь

Работа с файловыми потоками в С. Текстовые файлы
Дан файл f, компоненты которого являются действительными числами. Найти: а) наибольшее из...

Работа с файловыми потоками. Считать информацию
Здравствуйте! Допустим, мне необходимо считать из файла несколько строк, в каждой из которых по...

Робота с файловыми потоками в С++. Текстовые файлы
Примечание: в программе предусмотреть запись введенной пользователем информации в файл и выведение...

Работа с файловыми потоками. Выполнить проверку в готовом коде на верхний регистр
Хотел бы обратиться к аудитории этого сайта с данной проблемой-в программе, которую я написал, не...

Вывод текста в блокнот файловыми потоками
Доброго времени суток. В C++ Builder XE столкнулся со следующей проблемой: при выводе в файл...

Работа с файловыми потоками в С++
Задание: Найти максимальное число в каждой строке файла number1.txt. Вывести в файл number2.txt и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru