Опрацювання файлів з текстовою інформацією

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

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

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

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

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

Міністерство освіти і науки України НУ ”Львівська політехніка” Кафедра ЕОМ Звіт про виконання лабораторної роботи №9 з курсу: „Засоби системного програмування” на тему Опрацювання файлів з текстовою інформацією Тема роботи: Опрацювання файлів з текстовою інформацією. Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками в створенні програм для опрацювання текстової інформації, що міститься в дискових файлах. Засвоїти основні методи читання, запису даних з дискових файлів текстового типу. Завдання на лабораторну роботу Розробити програмне забезпечення зі застосуванням техніки роботи з дисковими файлами відповідно до заданого варіанту. Програмне забезпечення повинно складатися з декількох модулів. Основна програма вводить та виводить дані які опрацьовуються функціями, що реалізовані як окремі модулі. Назву текстового файлу, в якому містяться дані для опрацювання, передавати через аргументи функції main(). Розміри та значення елементів матриць (в загальному не квадратних) вводити з текстового файлу. Параметри, що задають кількість рядків та стовпців повинні бути іменованими. Пам’ять під матриці виділяти динамічно. Для трикутних матриць (опираючись на їх структуру) виділяти мінімальні об’єми пам’яті. Обмін даними з функцією, що опрацьовує матрицю, виконувати через її аргументи. Результати обчислень записувати в текстовий файл. Назву файлу для запису результатів формувати на основі назви файлу з вхідними даними шляхом заміни розширення. Звернути особливу увагу на обробку помилок, які користувач може зробити при створені текстового файлу з вхідними даними. При вирішенні задач забезпечити дружній інтерфейс з користувачем. Індивідуальне завдання: Перестановка заданих (за запитом) рядків матриці Результати виконання роботи. Текст програми: n=3 m=3 6 5 1 5 4 9 7 3 2 int input(char *filename); int output(char *filename); # include <stdio.h> # include <conio.h> # include <string.h> # include "labst_9.h" FILE *fp,*fq; int m,n,*Matrix[100][100]; int main(int argc, char *argv[]) { int j,i,l1,l2,line[100]; char *filename; clrscr(); n=0;m=0; if (argc!=2) {printf("Eror..."); return 0;} else strcpy(filename,argv[1]); if (input(filename)==1) { for(i=0;i<n;i++) for(j=0;j<m;j++) printf("\n Matrix[%d][%d]=%d",i,j,*Matrix[i][j]); do { printf("\nEnter number of line1 to change line2"); scanf("%d %d",&l1,&l2); } while ((l1>=n)||(l2>=n)); for(j=0;j<m;j++) { line[j]=*Matrix[l1][j]; *Matrix[l1][j]=*Matrix[l2][j]; *Matrix[l2][j]=line[j]; } printf("\n Output results.."); for(i=0;i<n;i++) { printf("\n"); for(j=0;j<m;j++) printf("M[%d][%d]=%d ",i,j,*Matrix[i][j]); } *(filename+strlen(filename)-4)='\0'; strcat(filename,".out"); output(filename); } return 0; } # include <stdlib.h> # include <stdio.h> # include <string.h> extern FILE *fp; int input(char *filename) { char *tmp; extern int n,m,*Matrix[100][100]; int i,j; fp=fopen(filename,"rt"); fscanf(fp,"%s",tmp); if (strstr(tmp,"n=")!=NULL) sscanf((tmp+2),"%d",&n); else if (strstr(tmp,"m=")!=NULL) sscanf((tmp+2),"%d",&m); fscanf(fp,"%s",tmp); if (strstr(tmp,"n=")!=NULL) sscanf((tmp+2),"%d",&n); else if (strstr(tmp,"m=")!=NULL) sscanf((tmp+2),"%d",&m); for(i=0;i<n;i++) for(j=0;j<m;j++) if ((Matrix[i][j]=malloc(sizeof(int)))==NULL) { printf("Not enought memory!!!"); return 0; } for(i=0;i<n;i++) for(j=0;j<m;j++) { fscanf(fp,"%s",tmp); sscanf(tmp,"%d",Matrix[i][j]); } fclose(fp); if (n==0 || m==0) {printf("Eror..."); return 0;} else return 1; }; # include <stdio.h> extern FILE *fq; int output(char *filename) { extern int n,m,*Matrix[100][100]; int i,j; fq=fopen(filename,"wt"); if (fq==NULL) {puts("\nEror create output file!!!");return 0; } for(i=0;i<n;i++) { for(j=0;j<m;j++) { fprintf(fq,"%d",*Matrix[i][j]); fprintf(fq,"%s"," "); } fprintf(fq,"%s","\n"); } fclose(fq); return 1; } Внаслідок виконання програми на екрані отримаємо: ..\labst_8.exe 3 Висновок: на даній лабораторній роботі я оволодів практичними навиками роботи з текстовими файлами на мові Сі.
Антиботан аватар за замовчуванням

25.12.2011 10:12-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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