
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,¬es[i].rojd[0],¬es[i].rojd[1],¬es[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