Разработка и реализация на языке С/С++ информационно-поискового справочника «Фоторезисторы», страница 3

                      {

                             puts("Ошибка при вводе.");

                              while( getchar() != '\n' )  continue;

                      }

            // Запрос продолжения ввода

                      system("clear");

                      puts("Запись введена. Продолжить\?[y/n]");

                      while( getchar() != '\n' )  continue;

                      a = getchar();

                      while( a != 'n' && a != 'N' && a != 'y' && a != 'Y' )

                      {

                             puts("Ошибка при вводе.");

                             while( getchar() != '\n' )  continue;

                              a = getchar();

                      }

                      if( a == 'n' || a == 'N' )

                              break;

        }

}

5) Файл « vivod_vseh.c».

// Заголовочный файл

#include "foto.h"

void vivod_vseh( struct foto arr[] )

{

    // Счётчик

    int i;

    if( podschet( arr ) == 0 )

        return;

system("clear");

    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();

}

6) Файл « vivod_zapisi.c ».

// Заголовочный файл

#include "foto.h"

void vivod_zapisi( struct foto arr[] )

{

    // Переменная

    int i, j, x;

    if( ( i = podschet( arr ) ) == 0 )

        return;

    puts("Введите номер необходимой записи.");

    printf("В справочнике в данный момент %d записей из %d.\n", i, CHISLO);

    // Ввод номера и проверка

    while( !scanf("%d", &x) || x < 0 || x >= i )

    {

        puts("Ошибка ввода.");

        while( getchar() != '\n' )  continue;

    }

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

        if( i + 1 == x )

        {

               puts("\t\t\tСправочник \"Фоторезисторы\".\n");

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

                      printf("=");

               puts("\n| N |    Марка  |  Вид фоторезистора   |Сопротивление|Чувствит. |  Мощность  |");

               puts("|   |           |                      |     кОм     |  А/Лм-В  | рассеян.,Wt|");

               for( j = 0; j < R; j++)

                         printf("=");

               puts("");

               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( j = 0; j < R; j++)

                      printf("=");

               puts("");     

               getchar();

        }

}

7) Файл «udalenie.c».

// Заголовочный файл

#include "foto.h"

void udalenie( struct foto arr[] )

{

    // Перемнные

int i, kol = 0, x;

    if( ( kol = podschet( arr ) ) == 0 )

               return;

    puts("Введите номер удаляемой записи.");

    // Ввод номера и проверка