Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <cstring>
- #include <cstdio>
- #include <fstream>
- #include <dirent.h>
- #include <unistd.h>
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <windows.h>
- using namespace std;
- int main() {
- char fname[128];
- cout << "Digite o NOME da pasta onde se encontra os casos de teste."
- << endl;
- cout
- << "Ela precisa estar, obrigatoriamente, na mesma pasta em que se encontra este executável."
- << endl;
- cout << "Arquivo: ";
- cin >> fname;
- cout << "Especifique o formato das subpastas." << endl;
- cout << "Entre com 0 para teste%%d, 1 para %%d." << endl;
- cout << "Valor: ";
- int type_dir;
- cin >> type_dir;
- cout << endl;
- mkdir("testes");
- int count = 0;
- for (int folder = 1;; folder++) {
- char dir[128], buffer[128];
- if(!type_dir)
- sprintf(dir, "test%d", folder);
- else
- sprintf(dir, "%d", folder);
- sprintf(buffer, "%s\\%s", fname, dir);
- DIR *dp = opendir(buffer);
- if(dp == NULL) {
- cout << "O diretório não foi encontrado ["<<buffer<<"]." << endl;
- break;
- }
- for (int test = 1;; test++) {
- char ff_in_name[128], ff_out_name[128], new_in_name[128], new_out_name[128];
- sprintf(ff_in_name, "%s\\%s\\in%d", fname, dir, test);
- sprintf(ff_out_name, "%s\\%s\\out%d", fname, dir, test);
- ifstream in_ifs;
- in_ifs.open(ff_in_name);
- ifstream out_ifs;
- out_ifs.open(ff_out_name);
- if (!in_ifs || !out_ifs) {
- cout << "Arquivo não encontrado ["<<ff_in_name <<"]." << endl;
- break;
- }
- in_ifs.close();
- out_ifs.close();
- sprintf(new_in_name, "testes\\%d.in", ++count);
- sprintf(new_out_name, "testes\\%d.out", count);
- if(rename(ff_in_name, new_in_name) == 0 && rename(ff_out_name, new_out_name) == 0)
- cout << "Caso convertido " << ff_in_name << endl;
- else {
- cout << "Ocorreu um erro durante a conversão de " << ff_in_name << endl;
- cout << "Tentou: " << new_in_name << endl;
- break;
- }
- }
- closedir(dp);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement