Задание: проверить принадлежит ли стеку элемент(реализовать программу в 2-х модулях),(стек динамический).
собственно вот мой код
tests.h
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)
#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);
}
Собственное все работает, но мне нужно каким-то образом реализовать тесты для этого.
у меня был вариант, чтоб выскакивала консоль, потом через эту консоль пользователь записывал в файлы последовательность для стека и элемент, который надо найти, а потом уже прога бы все из файлов читала.
(понимаю, что это просто эпик говнокод, но других идей проведения пользовательских тестов, считывая из файла, и не изменяя код или сами файлы "вручную", у меня просто нет)