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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2014, 22:06   #1
messiman
Пользователь
 
Регистрация: 17.01.2013
Сообщений: 21
По умолчанию Считывание из файла С++

Программа, которая считывает текст из файла и выводит его на экран, заменив цифры от "0" до "9" словами (ноль, один два), начиная каждое предложение с новой строки.

Есть код, но не работает. Что не так может кто посмотреть?

Код:
#include <stdio.h>
int main(void)
 {
   char c;
   FILE *fin=fopen("E:\input.txt", "r");
 
    while (!feof(fin))
        {
             fscanf(fin, "%c",&c);
              if (c=='0') printf("ноль"); else
              if (c=='1') printf("один"); else 
              if (c=='2') printf("два"); else
              if (c=='3') printf("три"); else
              if (c=='4') printf("четыре"); else
              if (c=='5') printf("пять"); else
              if (c=='6') printf("шесть"); else
              if (c=='7') printf("семь"); else
              if (c=='8') printf("восемь"); else
              if (c=='9') printf("девять"); else
              if (c=='.') { printf(".\n"); fscanf(fin, "%c",&c); } else
              if (c=='?') { printf("?\n"); fscanf(fin, "%c",&c); } else
              if (c=='!') { printf("!\n"); fscanf(fin, "%c",&c); } else
         printf ("%c", c);
     }
    system ("pause");
	return 0;
 }
messiman вне форума Ответить с цитированием
Старый 31.05.2014, 22:26   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но не работает
Просто берет и не работает? Так уволь его по статье )
Цитата:
Что не так
Путь к файлу например. Сколько ни работал с Си всегда компиляторы просили в пути экранировать слеши, а у тебя он один стоит.
Я конечно не в курсе что у тя за компиль, и может не критично но я бы поставил два слеша в пути.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.05.2014, 22:35   #3
messiman
Пользователь
 
Регистрация: 17.01.2013
Сообщений: 21
По умолчанию

Вообще код такой:
Код:
#include <stdio.h>
int main(void)
 {
   char c;
   FILE *fin=fopen("E:\\input.txt", "r");
 
    while (!feof(fin))
        {
             fscanf(fin, "%c",&c);
              if (c=='0') printf("ноль"); else
              if (c=='1') printf("один"); else 
              if (c=='2') printf("два"); else
              if (c=='3') printf("три"); else
              if (c=='4') printf("четыре"); else
              if (c=='5') printf("пять"); else
              if (c=='6') printf("шесть"); else
              if (c=='7') printf("семь"); else
              if (c=='8') printf("восемь"); else
              if (c=='9') printf("девять"); else
              if (c=='.') { printf(".\n"); fscanf(fin, "%c",&c); } else
              if (c=='?') { printf("?\n"); fscanf(fin, "%c",&c); } else
              if (c=='!') { printf("!\n"); fscanf(fin, "%c",&c); } else
         printf ("%c", c);
     }
    return 0;
 }
Е и system ("pause"); я добавил. Без pause запускается и пропадает окно. А с ней говорит, что не понимает fscanf и fopen
messiman вне форума Ответить с цитированием
Старый 31.05.2014, 23:28   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Какой компилятор используете?
Если Visual C++ добавляете в верху... в самом начале
Код:
#define _CRT_SECURE_NO_WARNINGS
Кстати на вашем месте, по коду... Так и напрашивается switch
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 31.05.2014 в 23:32.
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считывание из файла kuziashagrath85 Общие вопросы C/C++ 2 31.07.2012 08:16
Считывание из файла. masashama Общие вопросы C/C++ 1 25.10.2011 08:13
Считывание из файла в VB 6.0 EREV@N Помощь студентам 1 07.04.2011 17:01
считывание с файла G.I.JOE Общие вопросы C/C++ 2 06.06.2010 09:18
Считывание с файла на С++ lamak Помощь студентам 8 01.11.2009 22:18