0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
1

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

24.03.2011, 00:32. Показов 5475. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите,пожалуйста,очень срочно!
нужно на С сложить и отладить программу тестирования знаний студентов с алгебры!


заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2011, 00:32
Ответы с готовыми решениями:

Программа, тестирующая флеш-накопитель
Здравствуйте, создан проект c cpp-файлом, который выводит информацию о флеш-накопителе. Работает в...

Программа, тестирующая знание английских числительных от 0 до 20
Нужно составить программу, которая случайным образом формирует 10 тестовых вопросов, в которых...

Что такое тестирующая программа и зачем она нужна?
Есть задание, Написать функцию для перевода переменной типа long в символьную строку в двоичном...

Тестирующая программа
Доброго времени суток! Сижу думаю как реализовать тестирующую программу. алгоритм работы...

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

Я сильно сомневаюсь, что вам ничего не было объяснено, может виной этому пропуски ?)
0
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 00:46  [ТС] 5
точно не пропуски)
это задание моей подруги.у нее нет сейчас возможности выйти в интернет.очень просила ей помочь)не могу ее подвести(
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
24.03.2011, 00:48 6
ну а я не могу помочь вам, задание непонятное)
0
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 00:51  [ТС] 7
я примерно имею представление как это сделать в Паскале,но вот в с((
и подругу подводить не хочется)она на меня надеется.
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
24.03.2011, 00:52 8
Вы мне объясните, что в программе вообще должно быть, хотя бы. А то знания студентов, тестирование .. )
0
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 00:54  [ТС] 9
насколько я понимаю необходимо создать тестирующую программу, которая будет проверять знания тестируемого человека. При этом должно быть не меньше двадцати вопросов. При завершение тестирования , программа должна выводить оценку тестируемого.
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
24.03.2011, 00:59 10
а вопросы, нам придумывать?
0
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 01:02  [ТС] 11
ну я думаю с вопросами меньше всего проблем)можно их не прописывать.пусть потом моя Катька сама их додумывает и просто допишет)
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
24.03.2011, 01:04 12
А пользователь как должен отвечать на вопросы? Да/нет?
0
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.
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
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. Ну и счетчик прикрутить, будет баллы считать.
1
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 01:14  [ТС] 15
спасибо!
а можно полный код прописать.потому,что лично я в с совсем никак)
совместно с подругой буду вам весьма благодарна)
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
24.03.2011, 01:16 16
Сейчас не можно полный код, спать ухожу)
завтра если только.
0
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 01:28  [ТС] 17
спасибо)буду ждать)
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
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;
}
2
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 10
24.03.2011, 15:52  [ТС] 19
большое спасибо!
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 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 = ?

Вот вам и задания.)
0
24.03.2011, 18:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2011, 18:11
Помогаю со студенческими работами здесь

тестирующая программа
Люди добрые, помогите пожалуйста написать тестирующую программу на DELPHI, в задании у меня...

тестирующая программа
составить тестирующую программу не менее 3 вопросов и выдающую на экран количество правильных...

тестирующая программа
начал программировать на делфи(по случаю учебы), в книжке Парижского С.М. представлены листинги...

Тестирующая программа
Написать тестирующую программу, которая задает пять вопросов с вариантами ответов. Ответ на вопрос...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru