while( !scanf("%d", &x) || x <= 0 || x > kol || arr[x].marka[0] == '\0' )
{
puts("Ошибка при вводе или такой записи в справочнике нет");
while( getchar() != '\n' ) continue;
}
// Перенос нижестоящих записей на одну вверх
for( i = x - 1; i < CHISLO - 1; i++ )
arr[i] = arr[i + 1];
// Обнуление последней записи
arr[CHISLO - 1].marka[0] = '\0';
arr[CHISLO - 1].vid[0] = '\0';
arr[CHISLO - 1].sopr = 0;
arr[CHISLO - 1].chuvstv = 0;
arr[CHISLO - 1].mosch = 0;
system("clear");
printf("Запись N%d удалена из справочника.\n", x);
getchar();
}
8) Файл « sort_puz.c».
// Заголовочный файл
#include "foto.h"
void sort_puz( struct foto arr[] )
{
// Переменные и структура-буфер
int i, k, x;
struct foto t;
if( podschet( arr ) == 0 )
return;
for( i = 0; i < CHISLO - 1; i++ )
for( k = 0; k < CHISLO - 1; k++ )
if( arr[k].sopr < arr[k + 1].sopr )
{
t = arr[k];
arr[k] = arr[k + 1];
arr[k + 1] = t;
}
// Данные после сортировки
system("clear");
puts("\t\tСправочник \"Фоторезисторы\", отсортираванный");
puts("\t\t\tпо сопротивлению по убыванию.\n");
for( i = 0; i < R; i++)
printf("=");
puts("\n| N | Марка | Вид фоторезистора |Сопротивление|Чувствит. | Мощность |");
puts("| | | | кОм | А/Лм-В | рассеян.,Wt|");
for( i = 0; i < R; i++)
printf("=");
puts("");
for( i = 0; i < CHISLO; i++)
if( arr[i].marka[0] != '\0' )
printf("|%3d| %-9s | %-20s | %11g | %8g | %10g |\n",
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();
}
9) Файл «sort_vib.c».
// Заголовочный файл
#include "foto.h"
void sort_vib( struct foto arr[] )
{
// Переменные и буферные структуры
int i, j, k, x;
struct foto min;
struct foto t;
if( podschet( arr ) == 0 )
return;
for( i = 0; i < CHISLO; i++ )
{
min = arr[i];
k = i;
for( j = i; j < CHISLO; j++ )
if( strcmp( arr[j].vid, arr[k].vid ) < 0 )
{
min = arr[j];
k = j;
}
t = arr[i];
arr[i] = min;
arr[k] = t;
}
// Перенос читстых записей в конец
for( i = 0, j = 0; i < CHISLO; i++ )
if( arr[i].marka[0] != '\0' )
{
min = arr[i];
arr[i] = arr[j];
arr[j] = min;
j++;
}
// Данные после сортировки
system("clear");
puts("\t\tСправочник \"Фоторезисторы\", отсортираванный");
puts("\t\t\tпо виду в алфавитном порядке.\n");
for( i = 0; i < R; i++)
printf("=");
puts("\n| N | Марка | Вид фоторезистора |Сопротивление|Чувствит. | Мощность |");
puts("| | | | кОм | А/Лм-В | рассеян.,Wt|");
for( i = 0; i < R; i++)
printf("=");
puts("");
for( i = 0; i < CHISLO; i++)
if( arr[i].marka[0] != '\0' )
printf("|%3d| %-9s | %-20s | %11g | %8g | %10g |\n",
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.