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

Что такое тестирующая программа и зачем она нужна? - C++

Восстановить пароль Регистрация
 
WindChaiser47
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 7
06.07.2013, 17:55     Что такое тестирующая программа и зачем она нужна? #1
Есть задание, Написать функцию для перевода переменной типа long в символьную строку в двоичном представлении ( ltoab( long num, char s[]) ) и тестирующую программу к ней.

Лабу я написал, она работает, не пойму, что за тестирующая программа?
Зачем она нужна и что это такое?

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
#include "intsafe.h"
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
 
 
char* fun_1(long k)
{long x, r, i,j;
 char* a;
 char b[64];
 char mass[64];
 a=&mass[0];//указатель на результат
 i=0;//указываем на первый символ
  //printf("%i\n",k); //исходное число
 while (k/2!=0) //цикл преобразования в двоичное представление 
 {
r=k/2;//частное
x=k%2;//остаток от деления
b[i]=0x30+x;//преобразование в символ
i++;//увеличение индекса 
k=r;
 }//конец цикла
b[i]=0x30+r;//преобразование последнего символа
for (j=0;j<=i;j++)//отобрежение результата
{
 mass[j]=b[i-j];
}
i++;
mass[i]=0;//признак конца строки
printf ("%d \n",i);//выводим число двоичных разрядов
return a;
}
void main(void)
{
 char* s;
 char Res; //результат
 long N;
 s = &Res;
 scanf ("%d", &N);
 //N = 512000; // Преобразуемое число
  s = fun_1(n); //вызов функции, преобразование в двоичный вид
  printf(s);
 printf("\n");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2013, 17:55     Что такое тестирующая программа и зачем она нужна?
Посмотрите здесь:

C++ [C++]Что делает данный код и зачем такое кому-нибудь может понадобиться?
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? C++
C++ Код не работает,говорит,что не знает,что такое delay(100).в чём проблема?как сделать,чтоб программа заработала?
Что делает функция compare в коде и зачем она нужна в qsort C++
Битовые поля структур: что такое и зачем они нужны? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.07.2013, 18:13     Что такое тестирующая программа и зачем она нужна? #2
Цитата Сообщение от WindChaiser47 Посмотреть сообщение
Лабу я написал, она работает, не пойму, что за тестирующая программа
начиная с 33-й строки и до конца - это и есть тестирующая программа
WindChaiser47
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 7
06.07.2013, 18:21  [ТС]     Что такое тестирующая программа и зачем она нужна? #3
Цитата Сообщение от Jupiter Посмотреть сообщение
начиная с 33-й строки и до конца - это и есть тестирующая программа
Спасибо,получается тестирующая программа - грубо говоря,просто пример того как все это работает?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.07.2013, 18:24     Что такое тестирующая программа и зачем она нужна? #4
грубо говоря да. не грубо - то хорошо бы показать разные варианты использования, какие ошибки могут возникнуть и как программа будет на них реагировать
WindChaiser47
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 7
06.07.2013, 18:33  [ТС]     Что такое тестирующая программа и зачем она нужна? #5
Вот теперь стало максимально понятно, спасибо большое!
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
06.07.2013, 22:06     Что такое тестирующая программа и зачем она нужна? #6
Думаю имелось ввиду немного другое (хотя может я просто "с другой колокольни" сужу). Я бы сделал что-нибудь такое
C++
1
2
3
4
5
6
7
8
9
10
11
const char *expected = "1101";
char actual[64] = {0};
long n = 13;
 
ltoab(n, actual);
 
if (!strcmp(actual, expected)) {
    printf ("PASS");
} else {
    printf ("FAIL");
}
только эталонных данных нагенерил бы по больше.
WindChaiser47
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 7
07.07.2013, 02:26  [ТС]     Что такое тестирующая программа и зачем она нужна? #7
Цитата Сообщение от Kastaneda Посмотреть сообщение
Думаю имелось ввиду немного другое (хотя может я просто "с другой колокольни" сужу). Я бы сделал что-нибудь такое
C++
1
2
3
4
5
6
7
8
9
10
11
const char *expected = "1101";
char actual[64] = {0};
long n = 13;
 
ltoab(n, actual);
 
if (!strcmp(actual, expected)) {
    printf ("PASS");
} else {
    printf ("FAIL");
}
только эталонных данных нагенерил бы по больше.

Слушай, подскажи, что это? я что-то не пойму..я программировать сам стал, довольно недавно и многого не понимаю
zewer
 Аватар для zewer
1019 / 710 / 71
Регистрация: 07.01.2011
Сообщений: 5,367
07.07.2013, 02:43     Что такое тестирующая программа и зачем она нужна? #8
Обьясню по поводу тест проги детально.
У вас задание
Написать функцию для перевода переменной типа long в символьную строку в двоичном представлении ( ltoab( long num, char s[]) ) и тестирующую программу к ней.
Т.е. если выходить чисто реально из поставленой задачи. Вы должны сделать только функцию, и отдельно сделать программу, с помощю которой вы будете вызывать функцию, и работать с ней, проще говоря тестировать ее. А реально это выглядит - написал, работает, не буду трогать DDD
WindChaiser47
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 7
07.07.2013, 02:44  [ТС]     Что такое тестирующая программа и зачем она нужна? #9
Цитата Сообщение от zewer Посмотреть сообщение
Обьясню по поводу тест проги детально.
У вас задание

Т.е. если выходить чисто реально из поставленой задачи. Вы должны сделать только функцию, и отдельно сделать программу, с помощю которой вы будете вызывать функцию, и работать с ней, проще говоря тестировать ее
Спасибо, я просто когда пытался сдать эту программу, мне преподаватель ничего не сказал по этому поводу..и я решил что так будет нормально
zewer
 Аватар для zewer
1019 / 710 / 71
Регистрация: 07.01.2011
Сообщений: 5,367
07.07.2013, 02:48     Что такое тестирующая программа и зачем она нужна? #10
Цитата Сообщение от WindChaiser47 Посмотреть сообщение
Слушай, подскажи, что это? я что-то не пойму..я программировать сам стал, довольно недавно и многого не понимаю
И тут обьясню вам
Есть 2 числа, первое - "13", второе - его двоичная аналогия "1101". При вызове фукнкции, ваше число должно превратится из "13" в "1101", т.е. из 10 системы выичсления станет в двоичной.
Потом функцией strcmp() делается проверка на совпадение константы "1101" с полученым результатом. Если все совпало - то printf("PASS")//все отлично, в другом случае - ошибка
WindChaiser47
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 7
07.07.2013, 02:48  [ТС]     Что такое тестирующая программа и зачем она нужна? #11
zewer, так я же написал что только начинаю самостоятельно программировать..

поработал чуть чуть ее..

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
#include "intsafe.h"
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
 
 
char* fun_1(long k)
{long x, r, i,j;
    char* a;
    char b[64];
    char mass[64];
    a=&mass[0];//указатель на результат
    i=0;//указываем на первый символ
     //printf("%i\n",k); //исходное число
    while (k/2!=0) //цикл преобразования в двоичное представление 
    {
r=k/2;//частное
x=k%2;//остаток от деления
b[i]=0x30+x;//преобразование в символ
i++;//увеличение индекса 
k=r;
    }//конец цикла
b[i]=0x30+r;//преобразование последнего символа
for (j=0;j<=i;j++)//отобрежение результата
{
    mass[j]=b[i-j];
}
i++;
mass[i]=0;//признак конца строки
printf ("%d \n",i);//выводим число двоичных разрядов
return a;
}
void main(void)
{
    char* s;
    char Res; //результат
    long N;
    s = &Res;
    scanf ("%d", &N);
    //N = 512000; // Преобразуемое число
        s = fun_1(N); //вызов функции, преобразование в двоичный вид
        printf(s);
    printf("\n");
}
zewer
 Аватар для zewer
1019 / 710 / 71
Регистрация: 07.01.2011
Сообщений: 5,367
07.07.2013, 02:48     Что такое тестирующая программа и зачем она нужна? #12
Если я все правильно понял
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2013, 02:50     Что такое тестирующая программа и зачем она нужна?
Еще ссылки по теме:

C++ Что такое h -файл и obj-файл?Зачем они нужны?
C++ Объясните человеческим языком мне чайнику что такое singleton, статический класс. Зачем они нужны. Что рекомендуете прочитать мне для начала
Явная специализация, зачем она нужна?(Шаблоны функций) C++

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

Или воспользуйтесь поиском по форуму:
WindChaiser47
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 7
07.07.2013, 02:50  [ТС]     Что такое тестирующая программа и зачем она нужна? #13
Цитата Сообщение от zewer Посмотреть сообщение
Есть 2 числа, первое - "13", второе - его двоичная аналогия "1101". При вызове фукнкции, ваше число должно превратится из "13" в "1101", т.е. из 10 системы выичсления станет в двоичной.
Потом функцией strcmp() делается проверка на совпадение константы "1101" с полученым результатом. Если все совпало - то printf("PASS")//все отлично, в другом случае - ошибка

Вооо...теперь вообще понятно, так просто и понятно еще никто мне не объяснял)
Спасибо!!
Yandex
Объявления
07.07.2013, 02:50     Что такое тестирующая программа и зачем она нужна?
Ответ Создать тему
Опции темы

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