DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Робота з дисковими файлами

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

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

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

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Програмування
Група:
КН
Коротко про документ

Про що ця робота

У лабораторній роботі досліджено використання бібліотечних функцій Borland C/C++ для роботи з текстовими та двійковими файлами. Наведено приклади програмного коду для обробки файлів і структур даних.

У роботі розглядаються

  • Програмування на C/C++
  • Робота з файлами
  • Текстові файли
  • Двійкові файли
  • Бібліотечні функції введення-виведення
  • Структури даних

Зміст і розділи

  1. Мета роботи
  2. Завдання лабораторної роботи
  3. Текст програми
  4. Результати виконання програми
  5. Висновки
  6. Блок-схеми
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають мову програмування C та роботу з файлами.
Викладачі:Чирун Л.В.

Ключові поняття

дискові файлитекстові файлидвійкові файлиBorland C/C++бібліотечні функціїструктуривведення-виведенняfopenfreadfwrite

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра інформаційних систем та мереж Лабораторна робота №12 на тему: Робота з дисковими файлами. Львів-2008р. Назва роботи: Робота з дисковими файлами. Мета роботи: Навчитись використовувати бібліотечні функції Borland C/C++ для роботи з файлами. Завдання лабораторної роботи: Кожне завдання складається із двох варіантів, розміщених у частинах 1 та 2. У завданнях першої частини необхідно використати текстові файли, а у завданнях другої частини двійкові файли. Кроки виконання завдань: Cтворити файли, необхідні для розв’язування задачі. Якщо спеціально не вказано, то текстові файли можуть бути створені за допомогою екранного редактора. Створення двійкових файлів здійснюється за допомогою програми. Ім’я файлу може бути визначено за допомогою директиви препроцессора #define, введене з клавіатури або визначене параметром командного рядка. Роботу з файлами (створення, пошук, перетворення, виведення та ін.) оформити у вигляді окремих функцій. Якщо спеціально не визначено, то запис даних у файл та їх читання з файлу виконати за допомогою бібліотечних функцій високорівневого буферизованого введення-виведення (див. табл. 17). Забезпечити контроль виконання операцій роботи з файлом за допомогою відповідних перевірок та виведення повідомлень на екран. Утворені нові та перетворені файли обов’язково виводити на екран. Формування структурованих файлів та їх виведення на екран виконати у формі таблиць. Текст програми: Програма 1 #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> char *krypt(char t[81],char *code); char *strzam(char *x, char *y, char *z); void main() {FILE *f,*f2; char s[81],s1[81],s2[81],d[15],*p,*z; int i; char *ps="passwor"; clrscr(); printf("Введiть послiдовнiсть символiв: "); gets(d); f=fopen("C:\\F.TXT","rt"); f2=fopen("C:\\F2.TXT","wt"); while(!feof(f)) {strcpy(s,NULL); fgets(s,80,f); strcpy(s1,s); p=strtok(s1," ,.-"); if(strpbrk(p,d)!=NULL) {strcpy(s2,p); strcpy(s2,krypt(s2,ps)); strcpy(s,strzam(s,p,s2)); } while(p) { p=strtok(NULL," ,.-"); if(strpbrk(p,d)!=NULL) {strcpy(s2,p); strcpy(s2,krypt(s2,ps)); strcpy(s,strzam(s,p,s2)); } } fputs(s,f2); } fclose(f); fclose(f2); unlink("C:\\F.TXT"); rename("C:\\F2.TXT","C:\\F.TXT"); puts("...Обробку здiйснено!..."); getch(); } char *krypt(char t[81], char *code) { int j; j=0; while(t[j]) { t[j]^=code[j%strlen(code)]; j++; } return t; } char *strzam(char *x, char *y, char *z) { char *p; int i,j; if (strpbrk(x,y)!=NULL) { while(p!=NULL) {p=strstr(x,y); if(strlen(z)>=strlen(y)) for(i=strlen(p); i>strlen(y)-1; i--) p[i+(strlen(z)-strlen(y))]=p[i]; else for(i=0; i<strlen(p); i++) p[i]=p[i+(strlen(y)-strlen(z))]; for(j=0; j<strlen(z); j++) p[j]=z[j]; } return x; } else return NULL; }   Пронрама 2 #include <stdio.h> #include <conio.h> #include <stdlib.h> #define n 2 struct Tcars { char marka[15]; char nom[8]; char kol[12]; char prizv[12]; char adr[12]; int th; }; void main() {Tcars Cars[n],temp; int i,k=0; FILE *f,*f2; char b; for(i=0; i<n; i++) { clrscr(); printf("Введiть iнформацiю про авто %d:\n",i+1); printf("Марка >"); gets(Cars[i].marka); printf("Номер >"); gets(Cars[i].nom); printf("Колiр >"); gets(Cars[i].kol); printf("Прiзвище власника >"); gets(Cars[i].prizv); printf("Адреса >"); gets(Cars[i].adr); printf("Техогляд (Y/N) >"); scanf("%c",&b); if(b=='Y') Cars[i].th=1; else Cars[i].th=0; fflush(stdin); } f=fopen("C:\\FILE.BIN","wb"); for(i=0; i<n; i++) fwrite(&Cars[i],sizeof(Cars[i]),1,f); fclose(f); f=fopen("C:\\FILE.BIN","rb"); f2=fopen("C:\\FILE2.BIN","wb"); while(fread(&temp,sizeof(temp),1,f),(!feof(f))) { if(temp.th==0) {fwrite(&temp,sizeof(temp),1,f2); k++;} } clrscr(); fclose(f); fclose(f2); f=fopen("C:\\FILE.BIN","rb"); f2=fopen("C:\\FILE2.BIN","rb"); puts("Файл 1:"); printf("\nМарка Номер Колiр Прiзвище Адреса Техогляд\n"); puts("---------------------------------------------------------------------"); while(fread(&temp,sizeof(temp),1,f),(!feof(f))) { printf("%-10s %-10s %-10s %-10s %-10s %-10d\n",temp.marka,temp.nom, temp.kol, temp.prizv, temp.adr, temp.th); } printf("\n\n"); puts("Файл 2:"); printf("\nМарка Номер Колiр Прiзвище Адреса Техогляд\n"); puts("---------------------------------------------------------------------"); while(fread(&temp,sizeof(temp),1,f2),(!feof(f2))) { printf("%-10s %-10s %-10s %-10s %-10s %-10d\n",temp.marka,temp.nom, temp.kol, temp.prizv, temp.adr, temp.th); } fclose(f); fclose(f2); getch(); }   Результати виконання програми: Програма 1    Програма 2  Висновки: Я навчився використовувати бібліотечні функції Borland C/C++ для роботи з файлами. Блок-схеми: Програма 1  Програма 2 
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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