close

Вход

Забыли?

вход по аккаунту

?

Гришин Лабораторна робота 2

код для вставкиСкачать
Міністерство освіти науки, молоді та спорту України
Вінницький національний технічний університет
Інститут автоматики, електроніки та комп'ютерних систем управління
Кафедра КСУ Лабораторна робота №2
з дисципліни Комп'ютерні технології та програмування
Тема: Основні принципи роботи з текстовими та двійковими файлами
Виконав ст. гр. 1АВ-12б Гришин Д. І. Прийняв:
Вінниця 2012
Лабораторна робота № 2
Тема: Основні принципи роботи з текстовими та двійковими файлами
Мета роботи: Придбати навички роботи з текстовими та двійковими файлами за допомогою методів структурного програмування
Порядок виконання роботи
1. Ознайомитися з теоретичними відомостями.
2. Розробити описовий алгоритм, схему алгоритму і програму для виконання завдання 1.
3. Розробити описовий алгоритм, схему алгоритму і програму для виконання завдання 2.
4. Розробити описовий алгоритм, схему алгоритму і програму для виконання завдання 3.
5. Для правильної роботи програм розробити 4-6 тестів.
6. Оформити звіт, зробити висновки.
Хід роботи:
Варіант 1. Завдання 1 Розробити описовий алгоритм, схему алгоритму і написати метод для дозапису стрічки в кінець текстового файлу.
Лістинг: #include <stdio.h>
#include <conio.h>
#include <string.h>
void EnterData (const char *file_name);
void AddWordInEnd (const char *file_name);
/*
Перезапис всіх даних в файлі та дозапис нових даних в файл.
*/
void EnterData(const char *file_name)
{
FILE *f; // file variable
f = fopen(file_name,"wb"); // відкрити файл для запису
if(f) // якщо файл відкритий успішно
{
char str[100];
printf("Please enter data:\n");
do
{
gets(str); // ввести стрічку з клавіатури
if( strlen(str) == 0 ) // якщо стрічка пуста то вихід
break;
fprintf(f, "%s\n", str);
}while(1);
fclose(f); // закрити файл і зберегти всі зміни
}
}
void AddWordInEnd(const char *file_name)
{
char word[100]; //сітрічка змінена
printf("Enter word:\n");
gets(word); // ввести стрічку з клавіатури
FILE *f;
f = fopen(file_name,"ab");// відкриття файлу для дозапису
if(f)
{
fseek(f,0,SEEK_END); // змінити поточну позицію в файлі до кінця
fprintf(f,"\n%s",word); //записати стрічку в кінець файлу
fclose(f);
}
}
void main()
{
clrscr();
int h;
char file_name[] = {"1.txt"};
AddWordInEnd(file_name);
getch();
}
Тест.
Рисунок 1 - Дозапис стрічки в кінець файлу
Завдання 2 Розробити метод (функцію) для видалення заданої кількості даних з кінця двійкового файлу.
Лістинг:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void EnterData (const char *file_name);
void DeleteData(const char *file_name, int size);
void EnterData(const char *file_name)
{
FILE *f;
int i, val;
f=fopen(file_name,"wb");
if (!f)
puts ("Can't create file");
for (i=0; i<100; i++)
fprintf(f,"%d \n",i);
fclose (f);
}
void DeleteData(const char *file_name,int size) {
FILE *f;
char* space=" ";
f = fopen (file_name, "r+b");
if (!f)
{
puts ("Can't create file");
}
while(size)
{
fseek (f, -size*sizeof(int),SEEK_END);
fprintf(f,"%s \n",space);
size--;
}
fclose(f);
}
int main()
{
int size;
char file_name[] = {"1.dat"};
EnterData(file_name);
printf("skilki zapisiv vidality? \n");
scanf("%d",&size);
DeleteData(file_name,size);
getch();
}
Тест.
Рисунок 2 - Початковий файл
Рисунок 3 - Задання кількості елементів
Рисунок 4 -Вихідний файл
Висновок: виконавши дану лабораторну роботу ми отримали навички роботи з файлами.
2
Документ
Категория
Рефераты
Просмотров
20
Размер файла
1 901 Кб
Теги
робота, гришин, лабораторная
1/--страниц
Пожаловаться на содержимое документа