Чем можно заменить bool в Си? - C (СИ)
Формулировка задачи:
#include<stdio.h> //подключение заголовочных фалов
#include<locale.h>
#include<stdlib.h>
#include<math.h>
void main()
{
int number; // переменная для номера единицы измерения
float m; // переменная для вводимой массы
float k; // коэффициент для перевода массы в килограммы
setlocale(LC_ALL, "RUS"); //локализация(позволит выводить на экран символы русского языка)
bool correct = false; // переменная для определения корректности ввода единицы измерения
printf("Введите единицу измерения 1 – килограмм, 2 – миллиграмм, 3 – грамм, 4 – тонна, 5 – центнер");
while(correct == false) // пока не дождемся правильного ввода единицы измерения, делаем следующее:
{
scanf("%d", &number); // ожидаем ввода единицы измерения
switch(number) // проверяем, какая единица измерения была выбрана
{
case 1: // килограммы
correct = true; // условие выхода из цикла while(correct == false)
printf ( "\nEdinica izmereniya - kilogrammi!, \n");
k = 1; // устанавливаем коэффициент для перевода единицы в килограммы
break;
case 2: // миллиграммы
correct = true; // условие выхода из цикла while(correct == false)
printf ( "\nEdinica izmereniya - milligrammi , \n");
k = 0.000001; // устанавливаем коэффициент для перевода единицы в килограммы
break;
case 3: // граммы
correct = true; // условие выхода из цикла while(correct == false)
printf ( "\nEdinica izmereniya - grammi! , \n");
k = 0.001; // устанавливаем коэффициент для перевода единицы в килограммы
break;
case 4: // тонны
correct = true; // условие выхода из цикла while(correct == false)
printf ( "\nEdinica izmereniya - tonni! , \n");
k = 1000; // устанавливаем коэффициент для перевода единицы в килограммы
break;
case 5: // центнеры
correct = true; // условие выхода из цикла while(correct == false)
printf ( "\nEdinica izmereniya - centneri!, \n");
k = 100; // устанавливаем коэффициент для перевода единицы в килограммы
break;
default: // если пользователь ввел число, отличное от 1-5, выдаем сообщение об ошибке
printf ("\nVvedena nepravilnaya edinica izmereniya!\n" );
printf( "Vvedite edinicu izmereniya korrektno: ");
}
}
printf( "Vvedite massu v zadannih edinicah izmereniya: ");
scanf("%d", &m); // ожидаем ввода массы
// выводим на экран значение массы в килограммах
{
int sq;
setlocale(LC_ALL, "RUS");
sq=m*k;
printf ("&d\n",sq);
system ("pause");
// эта строчка для того, чтобы окно с результатом работы программы не закрывалось
getchar();
}
Вот сама прога . Интересует чем можно заменить bool из Си
Решение задачи: «Чем можно заменить bool в Си?»
textual
Листинг программы
#include <stdbool.h>
Объяснение кода листинга программы
- Включаем заголовочный файл stdbool.h, который содержит определения типов bool, true и false.
- Создаем переменную типа bool и присваиваем ей значение true.
- Выводим значение переменной на экран.
- Создаем переменную типа bool и присваиваем ей значение false.
- Выводим значение переменной на экран.