Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2015, 20:00   #1
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию Посоветуйте, разработка программы с тестами (выбор ответа на вопросы)

ПИШУ ТЕСТЫ НАПРИМЕР:
Код:
#include <iostream>
#include <cstdlib> // для system
#include <iomanip>
#include<Windows.h>
using namespace std;

int LETIOS;
cout <<endl<<endl<<"               3)ВО СКОЛЬКО ЛЕТ ВОЦАРИЛСЯ ИОСИЯ ?: " <<endl<<endl;
	cout <<"                    1) 8: " <<endl;
	cout <<"                    2) 6: " <<endl;
	cout <<"                    3) 7: " <<endl;
	cin >> LETIOS;
if(LETIOS==1)
	{cout  <<"              ОТВЕТ ПРАВИЛЬНЫЙ" <<endl; }
	else {cout  <<"         ОТВЕТ НЕ ПРАВИЛЬНЫЙ " <<endl;};

И К ПРИМЕРУ ТАКИХ ВОПРОСОВ БУДЕТ 10 ИЗ НИХ НАПРИМЕР 5 ПРАВИЛЬНЫХ

А КАКОЙ ФУНКЦИЕЙ СДЕЛАТЬ ЧТОБЫ В КОНЦЕ ПОСТАВИТЬ ОЦЕНКУ
                 10 ИЗ 10 =5(ОЦЕНКА)
                 9 ИЗ 10 =5(ОЦЕНКА)
НАПРИМЕР 8 ИЗ 10 =4(ОЦЕНКА)
                 5 ИЗ 10 =3(ОЦЕНКА)
                 4 ИЗ 10= 2(ОЦЕНКА)
СПАСИБО
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Старый 04.09.2015, 21:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну нормуль )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.09.2015, 07:32   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
А КАКОЙ ФУНКЦИЕЙ СДЕЛАТЬ ЧТОБЫ В КОНЦЕ ПОСТАВИТЬ ОЦЕНКУ
Вычислением процентов. Например от 80 до 100% - 5. От 60 до 80% - 4. От 40 до 60% - три. От 20 до 40% - два. От 0 до 20% - единица. В этом случае, количество вопросов может быть не ограничено.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 05.09.2015, 18:11   #4
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Вычислением процентов. Например от 80 до 100% - 5. От 60 до 80% - 4. От 40 до 60% - три. От 20 до 40% - два. От 0 до 20% - единица. В этом случае, количество вопросов может быть не ограничено.
а можно на примере, то не знаю с чего начать.
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Старый 05.09.2015, 18:20   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от nikytt Посмотреть сообщение
а можно на примере, то не знаю с чего начать.
Можно и на примерах. Вот сдесь, реализован такой метод. Код помещать не буду, там используется много библиотек и компонентов не входящих в стандартный набор. Но, покрутить экзешник стоит.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 05.09.2015, 18:35   #6
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию

а если например поставить переменную в правильный ответ и когда он появится на экране тогда ему присвоится 1 бал например.

Код:
if(LETIOS==1)
	{cout  <<"              ОТВЕТ ПРАВИЛЬНЫЙ" <<endl; сюда можно поставить переменную A??}
	else {cout  <<"         ОТВЕТ НЕ ПРАВИЛЬНЫЙ " <<endl;};
а в конце чтобы вывело на экран

Код:
if(переменная A)==1)
	{cout  <<"              оценка 5" <<endl; }
	else {cout  <<"         оценка 2 " <<endl;};
в случае одного вопроса
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Старый 05.09.2015, 18:47   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
int AllQuestions = 0, GoodQuestion=0; 
int LETIOS;

AllQuestions++; // увеличили счётчик вопросов
cout <<endl<<endl<<"               3)ВО СКОЛЬКО ЛЕТ ВОЦАРИЛСЯ ИОСИЯ ?: " <<endl<<endl;
	cout <<"                    1) 8: " <<endl;
	cout <<"                    2) 6: " <<endl;
	cout <<"                    3) 7: " <<endl;
	cin >> LETIOS;
if(LETIOS==1) 
	{ 
	GoodQuestion++; // увеличили счётчик правильных ответов
	cout  <<"              ОТВЕТ ПРАВИЛЬНЫЙ" <<endl; }
	else {cout  <<"         ОТВЕТ НЕ ПРАВИЛЬНЫЙ " <<endl;};

<<<<  тут все  остальные вопросы..... >>>>

в конце:
double procGood = 100.0*GoodQuestion/AllQuestions;
if (procGood>=80) 
	cout  <<"   ОЦЕНКА 5 " <<endl;
if (procGood>=60 && procGood<80)
	cout  <<"   ОЦЕНКА 4 " <<endl;
if (procGood>=40 && procGood<60)
	cout  <<"   ОЦЕНКА 3 " <<endl;
if (procGood<40)
	cout  <<"   ОЦЕНКА 2 " <<endl;
идея, надеюсь, ясна?


и на будущее.
вопросы обычно где-то хранят ВНЕ самой программы (например, в базе данных или в специальном файле или, на крайний случай, в текстовом файле!).
при хранении надо позаботиться о том, чтобы хранить сам вопрос, количество ответов и отметку, какой из ответов правильный. Варианты ответов перед выдачей на экран желательно перемешать случайным образом, чтобы тесто было не тривиально проходить второй, третий и все последующие разы).

Последний раз редактировалось Serge_Bliznykov; 05.09.2015 в 18:50.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.09.2015, 19:38   #8
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
int AllQuestions = 0, GoodQuestion=0; 
int LETIOS;

AllQuestions++; // увеличили счётчик вопросов
cout <<endl<<endl<<"               3)ВО СКОЛЬКО ЛЕТ ВОЦАРИЛСЯ ИОСИЯ ?: " <<endl<<endl;
	cout <<"                    1) 8: " <<endl;
	cout <<"                    2) 6: " <<endl;
	cout <<"                    3) 7: " <<endl;
	cin >> LETIOS;
if(LETIOS==1) 
	{ 
	GoodQuestion++; // увеличили счётчик правильных ответов
	cout  <<"              ОТВЕТ ПРАВИЛЬНЫЙ" <<endl; }
	else {cout  <<"         ОТВЕТ НЕ ПРАВИЛЬНЫЙ " <<endl;};

<<<<  тут все  остальные вопросы..... >>>>

в конце:
double procGood = 100.0*GoodQuestion/AllQuestions;
if (procGood>=80) 
	cout  <<"   ОЦЕНКА 5 " <<endl;
if (procGood>=60 && procGood<80)
	cout  <<"   ОЦЕНКА 4 " <<endl;
if (procGood>=40 && procGood<60)
	cout  <<"   ОЦЕНКА 3 " <<endl;
if (procGood<40)
	cout  <<"   ОЦЕНКА 2 " <<endl;
идея, надеюсь, ясна?


и на будущее.
вопросы обычно где-то хранят ВНЕ самой программы (например, в базе данных или в специальном файле или, на крайний случай, в текстовом файле!).
при хранении надо позаботиться о том, чтобы хранить сам вопрос, количество ответов и отметку, какой из ответов правильный. Варианты ответов перед выдачей на экран желательно перемешать случайным образом, чтобы тесто было не тривиально проходить второй, третий и все последующие разы).
спасибо получилось!
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы новичка - с чего начать создание игры RPG под Delphi 7 - посоветуйте уроки, литературу и т.п. fessman Gamedev - cоздание игр: Unity, OpenGL, DirectX 12 03.08.2013 02:19
Вытащить вопросы и ответы из программы тестирования. Виталий) Помощь студентам 1 08.02.2013 19:40
Выбор языков программирования ? посоветуйте . pompiduskus Общие вопросы по программированию, компьютерный форум 44 06.09.2012 22:12
посоветуйте на счёт программы managerbp Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 20.02.2011 22:17
Схемотехника.Разработка дешифратора,вопросы Tanzilit Помощь студентам 4 29.05.2008 10:45