2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Тесты для стека(С)
Сообщение17.03.2013, 17:29 
Задание: проверить принадлежит ли стеку элемент(реализовать программу в 2-х модулях),(стек динамический).
собственно вот мой код
tests.h
код: [ скачать ] [ спрятать ]
Используется синтаксис C
FILE *fp,*fp2,*fp3;

struct duck //структура данныч
{
        char el;
        duck *next;};

int find (duck * p, char x)//сама проверка
{
        int flag = 0;
        while(p->next != NULL && flag != 1 )
        {
                if(p->el == x)
                        flag = 1;
               
                else
                        p = p->next;
        }
        return flag;
}
int pust(duck* p)//проверка стека на пустоту
{
        if (p == NULL)
                return 1;
        else
                return 0;
}

char inX(FILE* fp2)//ввод переменной, которую необходимо найти
{
        char c;
        fscanf(fp2, "%c", &c);
        return c;
}

duck *input(FILE *fp)//ввод стека
{
        char c;
        fscanf(fp,"%c",&c);
        if(c == '.')
                return NULL;
        duck *r,*p;
        r = new duck;
        p = r;
        while(c != '.')
        {
                r->el = c;
                fscanf(fp,"%c",&c);
                r->next = new duck;
                if(c != '.')
                        r = r->next;
                else
                        r->next = NULL;
        }
        return p;
}
 

вот второй модуль(main.cpp)
код: [ скачать ] [ спрятать ]
Используется синтаксис C
#include <stdio.h>
#include "tests.h"

void main()
{
        fp = fopen("input.txt","r");
        duck *p = input(fp);
        fclose(fp);
        fp2 = fopen("char.txt","r");
        char x = inX(fp2);
        fclose(fp2);
        int pust1 = pust(p);
        int answer = find(p,x);
        fp3 = fopen("answer.txt","w");
        fprintf(fp3,"%d", answer);
        fclose(fp3);
}

Собственное все работает, но мне нужно каким-то образом реализовать тесты для этого.
у меня был вариант, чтоб выскакивала консоль, потом через эту консоль пользователь записывал в файлы последовательность для стека и элемент, который надо найти, а потом уже прога бы все из файлов читала.
(понимаю, что это просто эпик говнокод, но других идей проведения пользовательских тестов, считывая из файла, и не изменяя код или сами файлы "вручную", у меня просто нет)

 
 
 
 Re: Тесты для стека(С)
Сообщение18.03.2013, 15:51 
Разобрался, тема больше не нужна:)

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group