Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
97.25 Кб
Скачать

2. Практическое задание:

Описать структуру NOTE, содержащую поля: фамилия с именем, номер телефона, день рождения (массив из трёх чисел). Отсортировать эту информацию по первому полю (в алфавитном порядке) и вывести в выходной файл.

Написали программу “NOTE”:

#include "stdafx.h"

#include <string.h>

#include <iostream>

using namespace std;

const int N=20;

struct note

{

char fio[30];

char nom[30];

int rojd[3];

} notes[N],Buf;

int main(void)

{

FILE *f,*f2;

setlocale(LC_ALL,"Russian");

int m,k,i;

f = fopen("input.txt","r");

if(f==NULL) printf("Файл не открыт!");

else

{i=0;

while(!feof(f))

{

fscanf(f,"%s%s%d%d%d",notes[i].fio,notes[i].nom,&notes[i].rojd[0],&notes[i].rojd[1],&notes[i].rojd[2]);

i++;

}

m=i-1; // количество записей в файле

fclose(f);

f2 = fopen("output.txt","w");

for(k=m-2;k>=0;k--)

for(i=0;i<=k;i++)

if (strcmp(notes[i].fio,notes[i+1].fio)>0)

{ Buf = notes[i]; // Перестановка

notes[i] = notes[i+1];

notes[i+1] = Buf;

}

for(i=0;i<m;i++)

fprintf(f2,"%s %s %d %d %d\n",notes[i].fio,notes[i].nom,notes[i].rojd[0],notes[i].rojd[1],notes[i].rojd[2]);

fclose(f2);

}

return 0;

Создали входной файл:

Получили выходной файл:

Б

Начало

лок-схема:

Открыть файл input.txt(f)

для чтения

f==NULL

Printf “файл не открыт!”

i=0

!feof(f)

m=i-1

Чтение записи notes[i] из файла f

Закрыть файл f

Открыть файл output.txt(f2) для записи

i++

K=m-2,0,-1

i=0,m-1

i=0,k

note[i].fio>note

[i=1].fio

Записать notes[i] в файл f2

Buf=notes[i]

notes[i]=[i+1]

notes[i+1]=Buf

Закрыть f2

Конец

Вывод:

Описали структуру NOTE, содержащую поля: фамилию с именем, номер телефона, день рождения (массив из трех чисел). В работу вошли блок-схема, исходный текст программы, входной файл, командная строка, в качестве выходного файла. Структура NOTE сортирует заданную информацию по первому полю (в алфавитном порядке) и выводит в выходной файл.

Список литературы:

1.Этапы компиляции и компоновки программ на языке C++

http://itandlife.ru/programming/cpp/etapy-kompilyacii..

2. Научная библиотека

избранных естественно-научных изданий

научная-библиотека.рф

http://sernam.ru/c_11.php

14