Форум программистов, компьютерный форум CyberForum.ru

тестирующая программа на с - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.76
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 00:32     тестирующая программа на с #1
помогите,пожалуйста,очень срочно!
нужно на С сложить и отладить программу тестирования знаний студентов с алгебры!


заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2011, 00:32     тестирующая программа на с
Посмотрите здесь:

C++ Ведется набор цифр и надо чтобы программа из него сама сообразило число. То есть что бы программа сама раскидывала их по разрядам.
Первая программа. Код не компилируется и не запускается программа. C++
C++ Пользователь вводит 10 чисел программа должна выдать 2 максимальных(берём от 1 до 10,если выпадает 2 10,то программа должна выдать 2 10,а не 10,9)
Что такое тестирующая программа и зачем она нужна? C++
C++ Программа , которая выводит время, за которое программа работает

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 00:35     тестирующая программа на с #2
nutella, в нашей ветке экстрасенсов нету, запомните!!
Задание то распиши подробнее.
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 00:41  [ТС]     тестирующая программа на с #3
это и есть полное задание которое мне было дано(
мне нужен хотя бы исходник в среде Turbo C
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 00:42     тестирующая программа на с #4
nutella, ну вот представь, что ты на моем месте. И я читаю это задание. Что я должен делать?

Я сильно сомневаюсь, что вам ничего не было объяснено, может виной этому пропуски ?)
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 00:46  [ТС]     тестирующая программа на с #5
точно не пропуски)
это задание моей подруги.у нее нет сейчас возможности выйти в интернет.очень просила ей помочь)не могу ее подвести(
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 00:48     тестирующая программа на с #6
ну а я не могу помочь вам, задание непонятное)
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 00:51  [ТС]     тестирующая программа на с #7
я примерно имею представление как это сделать в Паскале,но вот в с((
и подругу подводить не хочется)она на меня надеется.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 00:52     тестирующая программа на с #8
Вы мне объясните, что в программе вообще должно быть, хотя бы. А то знания студентов, тестирование .. )
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 00:54  [ТС]     тестирующая программа на с #9
насколько я понимаю необходимо создать тестирующую программу, которая будет проверять знания тестируемого человека. При этом должно быть не меньше двадцати вопросов. При завершение тестирования , программа должна выводить оценку тестируемого.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 00:59     тестирующая программа на с #10
а вопросы, нам придумывать?
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 01:02  [ТС]     тестирующая программа на с #11
ну я думаю с вопросами меньше всего проблем)можно их не прописывать.пусть потом моя Катька сама их додумывает и просто допишет)
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 01:04     тестирующая программа на с #12
А пользователь как должен отвечать на вопросы? Да/нет?
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 01:05  [ТС]     тестирующая программа на с #13
у меня есть код программы которая примерно должна получится на Паскале.

1.1 Код файла для создания файла с вопросами и ответами

program Vvod;
type rec=record
vopros:string;
otvet:string;
end;
var f:file of string;
c:string;x:integer;q:rec;
begin
x:=0;
assign(f,'control.dat');
rewrite(f);
repeat
x:=x+1;
writeln('Введите вопрос');
readln(q.vopros);
write(f,q.vopros);
writeln('введите ответ');
readln(q.otvet); write(f,q.otvet); until x=20; close(f); end.

1.2 Код файла для чтения файла с вопросами и введения ответов

program initialization;
uses crt;
const simbol:set of char=['y','Y','n','N','r','R','t'];
type rec=record
vopros:string;
otvet:string;
end;
var f:file of string;z,e,u:integer;key:char;
z1,z2,z3:real;
x:integer;q:rec; j:integer;
Procedure MainMenu;
begin
writeln('Для начала тестирования нажмите - y');
writeln ('Для редактирования вопросов или выхода из программы нажмите - R');
repeat
key:=readkey until key in simbol;
case key of
'y','Y':writeln;
'r','R':begin clrscr;
writeln('Для завершения программы нажмите - n');
writeln('Для редактирования вопросов -T');
repeat
key:=readkey until key in simbol;
case key of
'n','N':halt;
't','T':begin
j:=0;
assign(f,'control.dat');
rewrite(f); clrscr;
writeln('Введите количество вопросов');
readln(x);
repeat
j:=j+1;
writeln('Введите вопрос');
readln(q.vopros);
write(f,q.vopros);
writeln('Введите ответ');
readln(q.otvet);
write(f,q.otvet);
until j=x;
close(f); begin halt; end;
end;
end;end; end; end;
procedure umnogenie;
begin
writeln('Учтите что при вводе ответов знак умножения " * "(shift+8) обязателен ');
writeln('иначе ответ не будет считаться правильным');
writeln('Для продолжения нажмите - ENTER') ;
end;
Procedure Test;
var
readstring,otv,otvfile:string;
begin
e:=0; z:=0;
assign(f,'control.dat');
reset(f);
While not eof(f) do begin
z:=z+1; clrscr;
write('Вопрос',z,' : ',' ');
writeln;writeln;inc(x);
read(f,readstring);
read(f,otvfile);
writeln (readstring);
Write('Ответ');Readln(otv);
if otv = otvfile then begin e:=e+1;end;end;
z1:=round(x/4);
z2:=round(x/2);
z3:=round(x/1.3);
if e<=z1 then u:=2 else
if (e>z1) and(e<=z2) then u:=3 else
if (e>z2) and (e<=z3) then u:=4 else u:=5;
close(f);
clrscr;
writeln('Правильных ответов’,e);
writeln('Ваша оценка',u);
end;
begin clrscr;
MainMenu;
umnogenie; readln;
Test;
end.

Добавлено через 40 секунд
я думаю лучше всего
a,b,c либо d.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 01:10     тестирующая программа на с #14
Вы уж извините, но ваш код на Паскале, да еще и без тегов выделения, я разбирать не буду


Ну, что первое пришло в голове, это хранить вопросы и правильные ответы (точнее одну букву a/b/c/d) в таком виде:

C++
1
2
3
const int NUM=20
std::string questions [NUM];
char answers [NUM];
Если оба массива предварительно заполнить, то останется только циклом пройти, и ответ пользователя, сверять с буквой в массиве answer. Ну и счетчик прикрутить, будет баллы считать.
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 01:14  [ТС]     тестирующая программа на с #15
спасибо!
а можно полный код прописать.потому,что лично я в с совсем никак)
совместно с подругой буду вам весьма благодарна)
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 01:16     тестирующая программа на с #16
Сейчас не можно полный код, спать ухожу)
завтра если только.
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 01:28  [ТС]     тестирующая программа на с #17
спасибо)буду ждать)
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.03.2011, 11:28     тестирующая программа на с #18
Вот что получилось, сыро, но все же.
Все данные берутся из файла в таком формате: (формат обязателен)
Код
Chemu ravno chislo pi?
5
7
3.14
10
c (тут буква, под которой правильный ответ)
// и точно так же 20 раз.
Пока програма выведет в консоль кол-во правильных и неправильных ответа пользователя, потом измените под свои нужны.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <fstream>
#include <string>
 
struct test
{
    std::string question;
    std::string kind_of_answer [4];
    char answer;
};
 
int main()
{
    std::ifstream ifs ("input.txt");
 
    const int SIZE=20; // кол-во вопросов
    const int NUM=4; // кол-во вариантов ответов.
    
    test MAS[SIZE];
    char user [SIZE]; // будет содержать все варианты ответа пользователя.
    char *letter [NUM] = {"a) ", "b) ", "c) ", "d) "}; // для удоства вывода.
 
    // заполнение структуры с файла.
    for (int i=0; i<SIZE; i++)
    {
        std::getline (ifs, MAS[i].question);
        for (int j=0; j<NUM; j++)
            std::getline (ifs, MAS[i].kind_of_answer[j]);
        ifs >> MAS[i].answer;
    }
    // ответы пользователя.
    for (int i=0; i<SIZE; i++)
    {
        std::cout << MAS[i].question;
        std::cout << std::endl;
        for (int j=0; j<NUM; j++)
        {
            std::cout << letter [j] << MAS[i].kind_of_answer[j];
            std::cout << std::endl;
        }
        std::cin >> user [i];
    }
    // находим кол-во баллов.
    int cnt=0;
    for (int i=0; i<SIZE; i++)
        if (MAS[i].answer == user[i]) ++cnt;
    //
    std::cout << "Correct answer: " << cnt << std::endl;
    std::cout << "Uncorrect answer: " << SIZE - cnt << std::endl;
 
    ifs.close ();
    return 0;
}
nutella
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 15:52  [ТС]     тестирующая программа на с #19
большое спасибо!
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
24.03.2011, 18:11     тестирующая программа на с #20
1) 2 + 2 = ?
2) 3 * 5 = ?
3) 4 * 7 + 5 = ?
...
потом посложнее
20) (4 + 7) * (8 - 2) * 14 = ?

Вот вам и задания.)
Yandex
Объявления
24.03.2011, 18:11     тестирующая программа на с
Ответ Создать тему
Опции темы

Текущее время: 17:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru