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

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

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

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

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови та програмування
Варіант:
17

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ З В І Т до лабораторної роботи №4 з курсу: «Алгоритмічні мови та програмування» на тему: «Обробка символьних рядків. Робота з файлами» Варіант № 17 Мета роботи – вивчити елементи мови Сі, рядки, рядкові константи, принципи потокового вводу-виводу, стандартні файли і функції для роботи з ними. 1. Завдання 1. Ознайомитися з організацією роботи вводу-виводу в мові Cі. 2. Ознайомитися з потоковим вводом, відкриттям і закриттям потоку в мові Cі. 3. Ознайомитися з стандартними функціями для роботи з файлами в мові Cі. 4. Дано текстовий файл, в якому міститься програма мовою С (Лабораторна робота №3). Скласти блок-схеми алгоритмів та програму мовою С для обробки текстового файлу з використанням розроблених функцій для роботи зі стрічками. Оформити виконання одного із завдань у вигляді підпрограми. Словами є слова в коментарях, назви ідентифікаторів, зарезервовані слова, які розділяються між собою згідно із синтаксисом мови С. Дані для роботи беруться з табл.1 за вказівкою викладача (варіант №27): Сформувати і вивести на екран текстовий файл в якому видалити всі голосні літери. Підрахувати і вивести на екран кількість арифметичних операцій (+, -, *, /) у кожному рядку. 2. Блок-схема алгоритму програми / 3. Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення FILE *ff – ініціалізація вказівника на потік fopen() – функція відкриття потоку; Використані режими для відкриття файлу, зв’язаного з потоком: “w” – новий текстовий файл відкривається для запису; “r” – існуючий текстовий файл відкривається лише для читання. fprintf() – форматований вивід в файл; while – цикл з передумовою; fclose( ) – функція закриття потоку; fprintf() – форматований вивід в файл; fgetc()– ввід(читання) одного символу з файлу; fputc()– запис одного символу в файл; puts() – виведення на екран. 4. Текст програми #include <stdio.h> #include <conio.h> #include <string.h> int find(const char *str, const char *what) { int i = 0, j = 0; while(str[i]) { for(j = 0;what[j] && str[i+j];++j) { if(str[i+j] != what[j]) break; } if(strlen(what) == j) return i; ++i; } return -1; } void replace(char *str, const char *from, const char *to) { int i, j, k; char s[256]; while((i = find(str, from)) != -1) { for(j = 0, k = 0;str[j];++j, ++k) { if(j == i) j += strlen(from), k += strlen(to); s[k] = str[j]; } s[k] = 0; for(j = 0;to[j];++j) s[i++] = to[j]; while(str[i] = s[i++]); } } int count(const char *str, const char *word) { int i = 0, j = 0, count = 0; while(str[i]) { for(j = 0;word[j] && str[i+j];++j) { if(str[i+j] != word[j]) break; } if(strlen(word) == j) ++count; ++i; } return count; } int main() { FILE *f = fopen("code.c", "r"); char str[256]; while(fgets(str, 256, f)) { replace(str, "+", "SUMA"); replace(str, "-", "MULT"); replace(str, "/", "DIV"); printf("[%d =] - %s", count(str, "="), str); } fclose(f); getch(); } 5.Результати роботи програми / / /
Антиботан аватар за замовчуванням

26.10.2015 17:10-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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