puts("Ошибка ввода.");
while( getchar() != '\n' )
continue;
}
}
while( getchar() != '\n' )
continue;
}
return 0;
}
3) Файл «chisl_menu.c».
// Заголовочный файл
#include "foto.h"
int chisl_menu( void )
{
// Переменные
int x;
// Вывод на экран меню
system("clear"); // Очистка экрана
puts("\t\tМеню программы");
puts(" 1 – Ввод данных о фоторезисторах.");
puts(" 2 - Вывод данных о фоторезисторах на экран.");
puts(" 3 – Удаление записи из справочника.");
puts(" 4 – Вывод записи по её порядковому номеру.");
puts(" 5 – Сортировка выбором марки по алфавиту.");
puts(" 6 – Сортировка пузырьком сопротивления по убыванию.");
puts(" 7 – Сортировка вставками вида по алфавиту.");
puts(" 8 – Сохранение справочника в файл.");
puts(" 9 – Открытие справочника из файла.");
puts("10 – Выход из приложения.");
scanf("%d", &x);
return x;
}
4) Файл «vvod_zapisey.c».
// Заголовочный файл
#include "foto.h"
void vvod_zapisey( struct foto arr[] )
{
// Переменные
char a;
int i, vvod;
for( i = 0; i < CHISLO; i++ )
{
system("clear");
// Ввод марки
puts("Введите марку фоторезистора.");
while( getchar() != '\n' ) continue;
fgets( arr[i].marka, MARKA, stdin );
while( getchar() != '\n' ) continue;
/* Проверка ввода некорректных данных */
while( arr[i].marka[0] == '\n' || arr[i].marka[0] == ' ' )
{
puts("Ошибка при вводе.");
fgets( arr[i].marka, MARKA, stdin );
}
arr[i].marka[strlen( arr[i].marka ) - 1] = '\0';
// Ввод вида
puts("Введите вид фоторезистора.");
fgets( arr[i].vid, VID, stdin );
while( arr[i].vid[0] == '\n' || arr[i].vid[0] == ' ' )
{
puts("Ошибка при вводе.");
fgets( arr[i].vid, VID, stdin );
}
arr[i].vid[strlen( arr[i].vid ) - 1] = '\0';
// Ввод темнового сопротивления
puts("Введите темновое сопротивление фоторезистора в кОм.");
/* Проверка некорректного ввода путём сравнения числа,
возвращаемого функцией scanf(), с 0 */
while( !scanf("%f", &arr[i].sopr) )
{
puts("Ошибка при вводе.");
while( getchar() != '\n' ) continue;
}
// Ввод чувствительности
puts("Введите чувствительность фоторезистора в А/Лм-В.");
while( !scanf("%f", &arr[i].chuvstv) )
{
puts("Ошибка при вводе.");
while( getchar() != '\n' ) continue;
}
// Ввод мощности рассеивания
puts("Введите мощность рассеивания фоторезистора.");
while( !scanf("%f", &arr[i].mosch) )
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.