Поиск гласных в тексте - C (СИ)
Формулировка задачи:
дан текст в несколько строчек. надо найти количество гласных букв. как обычно нашел кучу программ, начал писать по аналогии, но так и не понял, как в файле брать следующий символ.
#include <conio.h> #include <stdio.h> const char glasn[]="aeuiyo"; int j,i,kol; char c; void main() { clrscr(); FILE *f1; f1=fopen("text1.txt","r+"); kol=0; i=0; j=0; while (!feof(f1)) {c=fgetc(f1); for(j=0; j<6; j++) if (c==glasn[j]) (kol++); } fclose(f1); printf("%d",kol); getch(); }
Решение задачи: «Поиск гласных в тексте»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <iostream> int main() { FILE *fp; char ch; int kol=0; char mas[] = "aeyuio"; if((fp=fopen("test.txt","r"))==NULL) { printf("Невозможно открыть файл.\n"); } while((ch=fgetc(fp)) != EOF) { for(int i=0; i<6; i++){ if(ch == mas[i]){ kol++; //std::cout << ch << '\n'; } } } fclose(fp); std::cout << kol << '\n'; system("pause"); }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
kol
- счётчик гласных;fp
- указатель на файл;ch
- текущий символ;mas
- массив, содержащий гласные буквы.
- Открывается файл с помощью функции
fopen
и проверяется на открытие с помощью функцииferror
. Если файл не открылся, выводится сообщение об ошибке и программа завершается. - В цикле
while
происходит чтение файла посимвольно с помощью функцииfgetc
. - Для каждого символа в цикле
for
проверяется, является ли он гласным, с помощью оператора==
. Если символ является гласным, увеличивается счётчикkol
. - После завершения чтения файла, счётчик выводится на экран с помощью функции
printf
. - Файл закрывается с помощью функции
fclose
. - Программа завершается с помощью функции
system
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д