Условия Си. Диалог
Пример программы на условные операторы 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");
}
Полезно почитать по теме условия в си
Условия в Си
Решение линейного уравнения на Си
Поделиться
Нет комментариев. Ваш будет первым!