Обробка символьних рядків. Робота з файлами

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмічні мови та програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра З В І Т до лабораторної роботи №4 з курсу: «Алгоритмічні мови та програмування» на тему: «Обробка символьних рядків. Робота з файлами» Варіант № 4 Мета роботи – вивчити елементи мови Сі, рядки, рядкові константи, принципи потокового вводу-виводу, стандартні файли і функції для роботи з ними. Завдання Сформувати і вивести на екран текстовий файл, в якому всі операторні дужки “{” і “}” замінюються на “Begin” і “End” відповідно. Підрахувати кількість операторів циклу for і умовних операторів if. Список ідентифікаторів, констант, змінних, функцій, використаних у програмі, та їх пояснення n – лічильник a,b,c,d,m – змінні цілого в які записуються зчитані з файлу символи main() – головна функція printf(),fprintf(),fputc() – функції виводу даних scanf(),fgetc(),fgets() – функції вводу даних while() – оператор циклу з передумовою reform() – функція для редагування файлу ifnum() – функція для підрахунку кількості оп. “if” fseek()– функція для переміщення курсора в потоці remove() – функція для видалення вказаного файлу fopen() – функція для відкриття потоку fclose() – функція для закриття потоку Текст програми #include <stdio.h> #include <stdlib.h> void ifnum(FILE *d); void fornum(FILE *d); void reform(FILE *a); void main(void) { FILE *file; file=fopen("Laba3.txt","r"); reform(file); fseek(file,0,SEEK_SET); fornum(file); fseek(file,0,SEEK_SET); ifnum(file); fclose(file); } void fornum(FILE *d) { int a,b,c,m,n=0; while(m!=EOF) { a=fgetc(d); b=fgetc(d); c=fgetc(d); m=fgetc(d); fseek(d,-3,SEEK_CUR); if(a=='f' && b=='o' && c=='r' && m=='(') n++; } printf("\nnumbers of \"for\" =%d\n",n); fprintf(d,"\nnumbers of \"for\" =%d\n",n); } void ifnum(FILE *d) { int a,b,c,n=0; while(c!=EOF) { a=fgetc(d); b=fgetc(d); c=fgetc(d); fseek(d,-2,SEEK_CUR); if(a=='i' && b=='f' && c=='(') n++; } printf("\nnumbers of \"if\" =%d\n",n); fprintf(d,"\nnumbers of \"if\" =%d\n",n); } void reform(FILE *a) { int c; char b[60]; FILE *buf; buf=fopen("buffer.txt","w"); while(c!=EOF) { fgets(b,60,a); c=fgetc(a); fseek(a,-1,SEEK_CUR); fprintf(buf,"%s",b); } c='a'; fclose(buf); fclose(a); buf=fopen("buffer.txt","r"); a=fopen("Laba3.txt","w"); while(c!=EOF) { c=fgetc(buf); if(c=='{') { fprintf(a,"Begin"); printf("Begin"); } else if(c=='}') { fprintf(a,"End"); printf("End"); } else { fputc(c,a); printf("%c",c); } } fclose(a); fclose(buf); remove("buffer.txt"); a=fopen("Laba3.txt","a+"); } Результати роботи програми 
Антиботан аватар за замовчуванням

25.01.2014 19:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!