Условия Си. Диалог

12 сентября 2018 - Администратор

Пример программы на условные операторы if в Си.

Программа провдит диалог с человеком, узнает его интересы Программа запрашивает имя пользователя, приветствует его по имени.Запрашивает и анализирует возраст.(молодой, средних лет или пожилой) . Задает вопросы  о любимом цвете,  стиле музыки, типах книг и другие. Проверяет схожесть интересов, выводит информацию о схожести интересов. При написании программы полезными будут уроки Вывод информации на экран в Си  Условия в Си
Описание алгоритма программы на Си для диалога  скомпьютером
На этом уроке мы напишем программу на Си анкета, диалог с компьютером. Вначале программы определяются  ответы по каждому вопросу, для этого  вводятся для каждого вопроса своя переменная и присваивается ей нужное значение.Например:
int age=40;// возраст
int cvet=1;// номер любимого цвета 1 –зеленый  2-красный 3-синий 4-желтый 5-черный 6 - другой
int music=1;// номер стиля музыки  1 - рок 2 - поп  3 - классика 4 - джаз  5 -металл  6 - реп 7 – другой

Программа должна задавать вопросы  с различными вариантами ответов. Пользователь вводит номер ответа. Ответ пользователя  сравнивается с  определенным ответом в начале программы.
printf("Какой Ваш любимый цвет? 1 -зеленый 2-красный 3-синий 4-желтый 5-черный 6 - другой\n");
// запрашиваем ответ
scanf("%d", &a);
// проверяем правильность ответа
if (a==cvet)
{
  k=k+1;// увеличиваем счетчик правильных ответов      
         }

Чтобы подсчитать количество совпавших ответов  используется специальная переменная счетчик ответов k.
В конце теста производится проверка количества совпавших ответов, если количество больше  заданного параметра, то выводится сообщение о схожести интересов.
// анализ количества совпавших ответов
if (k>2)
{
   printf ("У нас  с Вами %s очень много схожего. Мы сможем подружиться \n",n);     
         }   
else
{
  printf ("Мы с Вами %s очень разные \n", n); 
    }

Пример полного решения программа на си диалог с компьютером,анкетирование
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
char n[50];// объявляем строковую переменную n для имени
int k; // счетчик совпадающих ответов
int a; // номер текущего ответа
int age=40;// возраст
int cvet=1;// номер любимого цвета 1 -зеленый 2-красный 3-синий 4-желтый 5-черный 6 - другой
int music=1;// номер стиля музыки  1 - рок 2 - поп  3 - классика 4 - джаз  5 -металл  6 - реп 7 - другой
int book=2;// номер вида книг 1 - детективы 2-фантастика 3- классика 4 - научная литература 5 -развлекательные журналы 6 - другие
int film=2;// номер типа фильмов 1 - боевики 2-фантастика 3-детективы 4-исторические 5-сериалы  6 -другие
 k=0;// обнуление счетчика совпавших ответов
// приветствие
printf("Как Ваше имя ?\n ");
scanf("%s", n); // ввод строки  n имени
printf("Здравствуйте,  %s! Очень хотелось бы узнать тебя получше. Ответьте пожалуйста\n", n); // форматированный вывод Здравствуйте, n !

// 1 вопрос
printf("Каков Ваш возраст?\n");
// запрашиваем ответ
scanf("%d", &a);

// проверяем правильность ответа
if (abs(a-age)<5)
{
  printf("Здорово! мы  ровесники ");
  k=k+1;// увеличиваем счетчик правильных ответов      
         }

// 2 вопрос
printf("Какой Ваш любимый цвет? 1 -зеленый 2-красный 3-синий 4-желтый 5-черный 6 - другой\n");
// запрашиваем ответ
scanf("%d", &a);
// проверяем правильность ответа
if (a==cvet)
{
  k=k+1;// увеличиваем счетчик правильных ответов      
         }

// 3 вопрос
printf("Какой Ваш любимый стиль музыки?   1 - рок 2 - поп  3 - классика 4 - джаз  5 -металл  6 - реп 7 - другой\n");
// запрашиваем ответ
scanf("%d", &a);
// проверяем правильность ответа
if (a==music)
{
  k=k+1;// увеличиваем счетчик правильных ответов      
         }

// 4 вопрос
printf("Какой Вы любите читать книги? 1 – детективы  2-фантастика 3- классика 4 - научная литература 5 -развлекательные журналы 6 - другие\n");
// запрашиваем ответ
scanf("%d", &a);
// проверяем правильность ответа
if (a==book)
{
  k=k+1;// увеличиваем счетчик правильных ответов      
         } 

// 5 вопрос
printf("Какой Вам нравятся фильмы?  1 - боевики 2-фантастика 3-детективы 4-исторические 5-сериалы  6 -другие\n");
// запрашиваем ответ
scanf("%d", &a);
// проверяем правильность ответа
if (a==film)
{
  k=k+1;// увеличиваем счетчик правильных ответов      
         }

// анализ количества совпавших ответов
if (k>2)
{
   printf ("У нас  с Вами %s очень много схожего. Мы сможем подружиться\n",n);     
         }   
else
{
  printf ("Мы с Вами %s очень разные\n", n); 
    }

getch();      
}

На заметку:
1. В программе введен счетчик  правильных ответов переменная k . В начале программы она обнуляется k=0.  Если ответ пользователя совпадает с  заданным в программе, то счетчик увеличивается k=k+1.
Задания для самостоятельной работы:
1 В диалоге добавьте несколько  своих вопросов. Не забудьте ввести для них переменные с правильными ответами в начале программы.
2. Напишите программу   тест по любимому предмету. Программа  задает и запрашивает ответы  по  избранной теме. Подсчитывает количество верных ответов. В конце теста выставляет оценку исходя из количества правильных ответов.
Возможный вариант реализации тест на си
#include <stdio.h>
#include <conio.h>
main()
{
char n[50];// объявляем строковую переменную n для имени
int k; // счетчик правильных ответов
int a; // номер ответа
k=0;
// приветствие
printf("Как Ваше имя ?\n");
scanf("%s", n); // ввод строки  n имени
printf("Здравствуйте,  %s! Вам предлагается тест по географии\n", n); // форматированный вывод Здравствуйте, n !
// 1 вопрос теста
printf("Столица Антигуа и Барбуда? Введите номер правильного ответа\n");
printf("1. Сент-Джонс 2. Сукре 3. Бужумбура 4. Банжул 5. Бисау\n");
// запрашиваем ответ
scanf("%d", &a);
// проверяем правильность ответа
if (a==1)
{
  printf("Правильно ");
  k=k+1;// увеличиваем счетчик правильных ответов      
         }

else{
 printf("Не правильно ");
     }

// 2 вопрос теста
printf("Лидер по добыче каменного угля? Введите номер правильного ответа\n");
printf("1. Россия 2. Индия 3. США 4. Китай 5. Австралия\n");
// запрашиваем ответ
scanf("%d", &a);
// проверяем правильность ответа
if (a==4)
{
  printf("Правильно\n");
  k=k+1;// увеличиваем счетчик правильных ответов      
         }
else{
 printf("Не правильно\n");
     }

// 3 вопрос теста
printf("Самая высокая гора? Введите номер правильного ответа\n");
printf("1. Чогори 2. Канченджанга 3. Эверест 4. Джомолунгма 5. Эльбрус\n");
// запрашиваем ответ
scanf("%d", &a);
// проверяем правильность ответа
if (a==4)
{
  printf("Правильно\n");
  k=k+1;// увеличиваем счетчик правильных ответов      
         }
else{
 printf("Не правильно\n");
     }

Вернуться к содержанию

Полезно почитать по теме условия в си
Условия в Си
Решение линейного уравнения на Си

Поделиться

 
 
Комментарии (0)

Нет комментариев. Ваш будет первым!