Робота з масивами. Використання функцій

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра З В І Т до лабораторної роботи №4 з курсу: «Технології програмування» на тему: «Робота з масивами. Використання функцій» Варіант № 15 Мета роботи – вивчити елементи мови Сі, рядки, рядкові константи, принципи потокового вводу-виводу, стандартні файли і функції для роботи з ними. Завдання Дано текстовий файл, в якому міститься програма мовою С (Лабораторна робота №3). Скласти блок-схеми алгоритмів та програму мовою С для обробки текстового файлу з використанням розроблених функцій для роботи зі стрічками. Оформити виконання одного із завдань у вигляді підпрограми. Словами є слова в коментарях, назви ідентифікаторів, зарезервовані слова, які розділяються між собою згідно із синтаксисом мови С. Дані для роботи беруться з табл.1 за вказівкою викладача.. Таблиця 1 № п/п Завдання  15 Сформувати і вивести на екран текстовий файл в якому вилучити слова “while”, “if”, “for”. Вивести на екран рядки в яких містяться цифри і в кінці рядка дописати їх суму.   Блок-схема алгоритму основної програми Список ідентифікаторів, констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення str,n – символьні рядки, типу char; fp1, fp2 – вказівники на потоки файлів; fopen() – відкриває файл із заданим режимом відкриття; fprintf() – функція виводу даних у файл; fgets() – функція зчитування рядка з файлу; fputc()– запис одного символу в файл; puts() – виведення на екран. Текст програми #include <stdio.h> #include <stdlib.h> #include <string.h> #define n 100 FILE *file1,*file2; char str[n]; void string (char *str); void rotate(int i,int kill,char *str); int main(void) { file1 = fopen("input.txt","r"); file2 = fopen("output.txt","w+"); if(file1 != NULL) { while( fgets(str,n,file1)!= NULL) { string(str); } fclose(file1); fclose(file2); } scanf("%c"); } void string(char *str) { char FOR[]="for"; char IF[] = "if"; char WHILE[] = "while"; int i=0; int sum=0; str[strlen(str)-1]=' '; for(i=0;i<strlen(str);i++) { if(str[i]=='0') sum+=0; if(str[i]=='1') sum+=1; if(str[i]=='2') sum+=2; if(str[i]=='3') sum+=3; if(str[i]=='4') sum+=4; if(str[i]=='5') sum+=5; if(str[i]=='6') sum+=6; if(str[i]=='7') sum+=7; if(str[i]=='8') sum+=8; if(str[i]=='9') sum+=9; /// while bool flag = false; for(int j=i;j<strlen(str);j++) { if(str[j]==WHILE[j-i]) { flag=true; if(j-i==strlen(WHILE)-1) break; } else { flag=false; break; } } if(flag==true) rotate(i,strlen(WHILE),str); /// for flag = false; for(int j=i;j<strlen(str);j++) { if(str[j]==FOR[j-i]) { flag=true; if(j-i==strlen(FOR)-1) break; } else { flag=false; break; } } if(flag==true) rotate(i,strlen(FOR),str); /// if flag = false; for(int j=i;j<strlen(str);j++) { if(str[j]==IF[j-i]) { flag=true; if(j-i==strlen(IF)-1) break; } else { flag=false; break; } } if(flag==true) rotate(i,strlen(IF),str); } printf(" %s <= sum = %d \n",str,sum); fprintf(file2," %s <= sum = %d \n",str,sum); } void rotate(int i,int kill,char *str) { for(int j=i;j<strlen(str)-kill;j++) str[j]=str[j+kill]; getchar(); }
Антиботан аватар за замовчуванням

25.01.2014 19:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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