Поиск гласных в тексте - 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");
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлены переменные:
    • kol - счётчик гласных;
    • fp - указатель на файл;
    • ch - текущий символ;
    • mas - массив, содержащий гласные буквы.
  2. Открывается файл с помощью функции fopen и проверяется на открытие с помощью функции ferror. Если файл не открылся, выводится сообщение об ошибке и программа завершается.
  3. В цикле while происходит чтение файла посимвольно с помощью функции fgetc.
  4. Для каждого символа в цикле for проверяется, является ли он гласным, с помощью оператора ==. Если символ является гласным, увеличивается счётчик kol.
  5. После завершения чтения файла, счётчик выводится на экран с помощью функции printf.
  6. Файл закрывается с помощью функции fclose.
  7. Программа завершается с помощью функции system.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы