i + 1, arr[i].marka, arr[i].vid, arr[i].sopr, arr[i].chuvstv, arr[i].mosch);
for( i = 0; i < R; i++)
printf("=");
puts("");
getchar();
}
10) Файл « sort_vst.c».
// Заголовочный файл
#include "foto.h"
void sort_vst( struct foto arr[] )
{
// Переменные и структура-буфер\
int j, k, s, x;
struct foto t;
if( podschet( arr ) == 0 )
return;
for( j = 1; j < CHISLO; j++ )
for( k = 0; k < j; k++ )
{
// Функция strcmp() – посимвольное сравнение строк
if( strcmp( arr[j].marka, arr[k].marka ) < 0 )
{
t = arr[j];
for( s = j; s > k; s-- )
arr[s] = arr[s - 1];
arr[k] = t;
}
}
// Перенос читстых записей в конец
for( k = 0, j = 0; k < CHISLO; k++ )
if( arr[k].marka[0] != '\0' )
{
t = arr[k];
arr[k] = arr[j];
arr[j] = t;
j++;
}
// Данные после сортировки
system("clear");
puts("\t\tСправочник \"Фоторезисторы\", отсортираванный");
puts("\t\t\tпо марке в алфавитном порядке.\n");
for( k = 0; k < R; k++)
printf("=");
puts("\n| N | Марка | Вид фоторезистора |Сопротивление|Чувствит. | Мощность |");
puts("| | | | кОм | А/Лм-В | рассеян.,Wt|");
for( k = 0; k < R; k++)
printf("=");
puts("");
for( k = 0; k < CHISLO; k++)
if( arr[k].marka[0] != '\0' )
printf("|%3d| %-9s | %-20s | %11g | %8g | %10g |\n",
k + 1, arr[k].marka, arr[k].vid, arr[k].sopr, arr[k].chuvstv, arr[k].mosch);
for( k = 0; k < R; k++)
printf("=");
puts("");
getchar();
}
11) Файл « chtenie.c».
// Заголовочный файл
#include "foto.h"
void chtenie( struct foto arr[], int i, char *argv[] )
{
// Перемнные и файловый указатель
char a;
char otkr[DLINA] = "\0";
FILE *out;
int x = 0;
system("clear");
if( i >= 0 && argv[1] == '\0' )
{
puts("Введите и мя файла для открытия.");
while( getchar() != '\n' ) continue;
fgets( otkr, DLINA, stdin );
/* Проверка ввода некорректнгых данных */
while( otkr[0] == '\n' || otkr[0] == ' ' )
{
puts("Ошибка при вводе имени файла.");
fgets( otkr, DLINA, stdin );
}
otkr[strlen( otkr ) - 1] = '\0';
argv[1] = otkr;
}
// Открытие файла
if( ( out = fopen( argv[1], "rb" ) ) == NULL )
{
fprintf(stderr, "Произошка ошибка при открытии указанного файла.\n");
fprintf(stderr, "\'Q\' –выход из приложения.\t\'Enter\' - возврат.\n");
a = getchar();
if( a == 'q' || a == 'Q' )
exit( 1 );
return;
}
// Чтение из файла
fread( arr, sizeof( struct foto ), CHISLO, out );
if( !out )
{
fprintf(stderr, " Произошка ошибка при открытии указанного файла.\n");
fprintf(stderr, "\'Q\' –выход из приложения.\t\'Enter\' - возврат.\n");
while( getchar() != '\n' ) continue;
a = getchar();
if( a == 'q' || a == 'Q' )
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.