DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Інтегровані структури даних, запису.

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

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

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

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

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

Міністерство освіти і науки України Національний університет «Львівська Політехніка» Кафедра Інформаційних систем та мереж Лабораторна робота №3 на тему Інтегровані структури даних, запису. Мета роботи: придбання і закріплення навиків у роботі із записами, в інтеграції даних, в модульному програмуванні. Постановка завдання Для заданої прикладної області розробити опис об'єктів цієї області. Розробити процедури, що реалізують базові операції над цими об'єктами, зокрема: -текстове введення-виведення (консольний і файловий); -присвоювання; -задання константних значень; -порівняння (не менше 2-х типів). Підготувати файл початкових даних, що містять не менше 10 значень конкретних об'єктів. Використовуючи процедури і описи модуля типу даних, розробити програму, що забезпечує введення початкових даних з першого файлу даних в пам'ять і зберігання їх в масиві, сортування масиву по алфавітному і по числовому параметру. Варіанти індивідуальних завдань Для кожної області перераховані параметри об'єкту. Серед параметрів обов'язково є ключове алфавітне поле (наприклад, прізвище), яке ідентифікує об'єкт, у кожного об'єкту є також одне або декілька числових полів, по яким вірогідні звернення до об'єкту. Набір характеристик може бути розширений і ускладнений по розсуду виконавця. Індивідуальні завдання: 8 Текстові редактори найменування, фірма-виготівник, кількість вікон, кількість шрифтів, вартість   Текст програми: #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define n 5 struct TST { char name[20]; char firm[20]; int nwind; int nfont; int price; }; from_file(TST *St); from_keyb(TST *St); to_scr(TST *St); to_file(TST *St); sort(TST *St, int k); void main() { TST St[n]; char c; clrscr(); printf("Виберiть дiю:\n"); printf("[1] Ввести данi з клавiатури.\n"); printf("[2] Зчитати данi з файлу.\n"); z:c=getch(); switch (c) { case '1': {clrscr(); from_keyb(St); break; } case '2': { from_file(St); break; } default: goto z; } clrscr(); printf("Виберiть дiю:\n"); printf("[1] Сортувати за назвою.\n"); printf("[2] Сортувати за фiрма-виготiвником\n"); printf("[3] Сортувати за кiлькiстю вiкон\n"); printf("[4] Сортувати за кiлькiстю шрифтiв\n"); printf("[5] Сортувати за вартiстю\n"); printf("[6] Не сортувати.\n"); z1:c=getch(); switch (c) { case '1': {sort(St,1); break; } case '2': {sort(St,2); break; } case '3': {sort(St,3); break; } case '4': {sort(St,4); break; } case '5': {sort(St,5); break; } case '6': break; default: goto z1; } clrscr(); printf("Виберiть дiю:\n"); printf("[1] Ввести данi на екран.\n"); printf("[2] Зчитати данi в файл.\n"); printf("[3] На екран i в файл.\n"); zz:c=getch(); switch (c) { case '1': {clrscr(); printf("Введенi/Зчитанi данi:\n"); printf("--------------------------------------------------------------------------------"); to_scr(St); break;} case '2': {clrscr(); printf("\Данi записано в файл.\n"); to_file(St); break;} case '3': {clrscr(); printf("\nВведенi/Зчитанi данi:\n"); to_scr(St); to_file(St); break;} default: goto zz; } getch(); } // ========= FUNCTIONS ============ int from_file(TST *st) { FILE *f; int i=0; TST p; f=fopen("C:\\DATA.BIN","rb"); while(fread(&p,sizeof(p),1,f),(!feof(f))) {st[i]=p; i++;} fclose(f); printf("Данi зчитано.\n"); return 0; } from_keyb(TST *St) {int i; TST p; printf("Введiть iнформацiю про текстові редактори:\n"); for(i=0; i<n; i++) {fflush(stdin); printf("\n№ %d:\n---------------\n",i+1); printf("Назва: "); gets(St[i].name); printf("Фiрма-виготiвник: "); gets(St[i].firm); printf("Кiлькiсть вiкон: "); scanf("%d",&St[i].nwind); printf("Кiлькiсть шрифтiв: "); scanf("%d",&St[i].nfont); printf("Вартiсть: "); scanf("%d",&St[i].price); } return 0; } to_file(TST *St) {FILE *f; int i; TST p; f=fopen("C:\\DATA.BIN","wb"); for (i=0; i<n; i++) { p=St[i]; fwrite(&p,sizeof(p),1,f); } return 0; } to_scr(TST *St) {int i; printf("№ Назва Фiрма-вигот. К-сть вiкон К-сть. шрифтiв Вартiсть\n"); printf("--------------------------------------------------------------------------------"); for (i=0; i<n; i++) { printf("%-3d %-18s %-15s %-12d %-15d %-d\n",i+1,St[i].name,St[i].firm,St[i].nwind,St[i].nfont,St[i].price); } printf("--------------------------------------------------------------------------------"); return 0; } sort(TST *St, int k) {int i,j; TST p; for (j=0; j<n; j++) for (i=0; i<n-1; i++) { switch(k) { case 1: {if(strcmp(St[i].name,St[i+1].name)>0) goto true; else goto false; } case 2: {if(strcmp(St[i].firm,St[i+1].firm)>0) goto true; else goto false; } case 3: {if(St[i].nwind>St[i+1].nwind) goto true; else goto false; } case 4: {if(St[i].nfont>St[i+1].nfont) goto true; else goto false;} case 5: {if(St[i].price>St[i+1].price) goto true; else goto false;} } true: { p=St[i]; St[i]=St[i+1]; St[i+1]=p; } false: // go to continue } return 0; } Результати виконання програми:    Висновки: При виконанні даної роботи я закріпив навики в роботі із записами, в інтеграції даних та в модульному програмуванні.
Антиботан аватар за замовчуванням

30.11.2012 00:55

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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