Написать программу, которая считывает текст из файла и выводит его на экран - C (СИ)
Формулировка задачи:
Написать программу, которая считывает текст из файла и выводит его на экран, заменяя цифры от 0 до 9 на слова «ноль», «один», …, «девять», начиная каждое предложение с новой строки. Ребят пожалуйста помогите с этой прогой....тут ее уже пытались делать но она не работает
Есть вот такая программа но она не работает, вылетает, может кто нибудь знает почему?
Ребят пожалуйста помогите, за прогу могу на тел денег положить
#include <stdio.h>
#include <ctype.h>
#define MAXLINE 1000 /* максимальная длина строки */
/* считывает текст из файла и выводит его на экран,
заменив цифры от 0 до 9 на слова, каждое предложение с новой строки */
main()
{
char *printnumber(int c);
FILE *fp;
char line[MAXLINE], *p;
char *fname = "1.txt";
if ((fp = fopen(fname, "rb")) == NULL)
return 1;
while ((p = fgets(line, MAXLINE, fp)) != NULL)
for ( ; *p != '\0'; p++)
if (isdigit(*p))
printf("%s", printnumber(*p));
else if (*p == '.') {
putchar(*p);
putchar('\n');
if (isspace(*(p+1))) {
while (isspace(*++p))
;
p--;
}
} else
putchar(*p);
fclose(fp);
return 0;
}
#define MAXWORD 100
/* printnumber: выводит слово для цифры */
char *printnumber(int c)
{
static char nword[MAXWORD];
sprintf(nword, "%s",
c == '0' ? "ноль" : c == '1' ? "один" : c == '2' ? "два" :
c == '3' ? "три" : c == '4' ? "четыре" : c == '5' ? "пять" :
c == '6' ? "шесть" : c == '7' ? "семь" : c == '8' ? "восемь" :
c == '9' ? "девять" : "");
return nword[0] ? nword : NULL;
}Решение задачи: «Написать программу, которая считывает текст из файла и выводит его на экран»
textual
Листинг программы
strcpy(x[i],a);
Объяснение кода листинга программы
- Вводится строка
a - В массиве
xвыделяется память под i элементов - Каждый элемент массива
xинициализируется строкойa - В переменной
iхранится количество элементов массиваx - Значение переменной
iиспользуется в цикле для поочередного вывода элементов массиваxна экран - Ввод-вывод осуществляется с помощью функции printf
- Значение переменной
iограничивается диапазоном от 0 до 99 - Если значение переменной
iпревышает 99, то программа выводит сообщение об ошибке и завершается - Для работы со строками используется функция strcpy