МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра БІТ
ЗВІТ
до лабораторної роботи №4
з курсу: «Технології програмування »
на тему: «Обробка символьних рядків. Робота з файлами»
Варіант № 18
Мета роботи – вивчити елементи мови Сі, рядки, рядкові константи, принципи потокового вводу-виводу, стандартні файли і функції для роботи з ними.
1. Завдання
Сформувати і вивести на екран текстовий файл, в якому є лише слова які починаються на голосні літери. Вивести на кран всі числа які зустрічаються у файлі.
2. Cписок ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі,
та їх пояснення
main( ) – головна функція;
printf( ) – функція виводу даних;
c – змінна типу рядок, поточний зчитуваний рядок;
isalpha(c) – функція, що визначає, чи є символ буквою алфавіту;
isdigit(c) – функція, що визначає , чи є символ цифрою
if – умовний оператор;
while – умовний оператор;
Блок схема програми:
-
+
-
+
3. Текст програми
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main( )
{
FILE *file;
char* file_name = "file.txt";
file = fopen( file_name, "r" );
char c,old[2000],buk[]="AaEeIiOoUuYy",new[200],slovo[20];
int i=0,a=0,q=0,k=0,*pos;
printf("all numbers:\n");
while ((c=fgetc(file))!=EOF)
{
if(isdigit(c))
{
printf("%c\n",c);
}
old[i]=c;
i++;
}
printf("All words:\n");
while(a<i)
{
if(strchr(buk,old[a])!=0 && isalpha(old[a+1])&& !isalpha(old[a-1]))
{
for(q=a,k=0;isalpha(old[q])!=0;q++,k++)
{
slovo[k]=old[q];
}
printf("%s\n",slovo);
memset(slovo, 0, sizeof slovo);
}
a++;
}
}
4. Результати роботи програми
/