Ir para conteúdo
Fórum Script Brasil
  • 0

Verificação em arquivo externo


Leandro Araujo

Pergunta

Olá pessoal.

Estou com um problemão (ao menos pra mim)... Estou desenvolvendo um programa com a finalidade de gerar códigos aleatórios para mim, resumidamente as combinações disponíveis nele podem ser: A(1,2) B(1,2,3) C(2,3,4) D(3,4,5).

Ou seja, os códigos que o programa pode gerar pra mim variam entre A1 B3 C2 A3; A2 B1 B1 A1 D5.

Mas eu preciso salvar estes códigos em um controle de informações (este consegui fazer).

Porém preciso que o programa gere esses códigos sem ambiguidade, ou seja, ele não pode fornecer o mesmo código 2 vezes, mas agora não sei como fazer para que ele leia este arquivo e então "procure" alguma codificação semelhante.

Alguém pode me ajudar?

Segue um escopo do script (ele está poluído porque não utilizei funções em ações repetidas).

#include <stdio.h>
#include <string.h>

int main ()
{
int perfil;
FILE *dados;
while(perfil!=0){

printf("\nDigite o perfil da chave ou 0 para sair.\n\n");
scanf("%d", &perfil);



if(perfil!=0){

dados = fopen("mestragens.txt", "a+");

srand(time(NULL));

char s1[10];
char s2[10];
char s3[10];
char s4[10];

int letra1 = rand()%4 + 1;
        if(letra1==1){
            strcpy(s1,"A");}
        if(letra1==2){
            strcpy(s1,"B");}
        if(letra1==3){
            strcpy(s1,"C");}
        if(letra1==4){
            strcpy(s1,"D");}

int letra2 = rand()%4 + 1;
        if(letra2==1){
            strcpy(s2,"A");}
        if(letra2==2){
            strcpy(s2,"B");}
        if(letra2==3){
            strcpy(s2,"C");}
        if(letra2==4){
            strcpy(s2,"D");}

int letra3 = rand()%4 + 1;
        if(letra3==1){
            strcpy(s3,"A");}
        if(letra3==2){
            strcpy(s3,"B");}
        if(letra3==3){
            strcpy(s3,"C");}
        if(letra3==4){
            strcpy(s3,"D");}

int letra4 = rand()%4 + 1;
        if(letra4==1){
            strcpy(s4,"A");}
        if(letra4==2){
            strcpy(s4,"B");}
        if(letra4==3){
            strcpy(s4,"C");}
        if(letra4==4){
            strcpy(s4,"D");}

int num1;
if(letra1==1){
    num1 = rand()%2+1;}
if(letra1==2){
    num1 = rand()%3+1;}
if(letra1==3){
    num1 = rand()%3+2;}
if(letra1==4){
    num1 = rand()%3+3;}

int num2;
if(letra2==1){
    num2 = rand()%2+1;}
if(letra2==2){
    num2 = rand()%3+1;}
if(letra2==3){
    num2 = rand()%3+2;}
if(letra2==4){
    num2 = rand()%3+3;}

int num3;
if(letra3==1){
    num3 = rand()%2+1;}
if(letra3==2){
    num3 = rand()%3+1;}
if(letra3==3){
    num3 = rand()%3+2;}
if(letra3==4){
    num3 = rand()%3+3;}

int num4;
if(letra4==1){
    num4 = rand()%2+1;}
if(letra4==2){
    num4 = rand()%3+1;}
if(letra4==3){
    num4 = rand()%3+2;}
if(letra4==4){

if(perfil==113){
//---------------

printf("Z0 %s%d %s%d %s%d %s%d \n\nZ%s%s%s%s 0%d%d%d%d\n\n", s1, num1, s2, num2, s3, num3, s4, num4, s1, s2, s3, s4, num1, num2, num3, num4);
        fprintf(dados,"Z%s%s%s%s 0%d%d%d%d\n", s1, s2, s3, s4, num1, num2, num3, num4);}
        else{
            if(perfil==236){
//--------------
printf("\n%s%d Z0 %s%d %s%d %s%d \n\n%sZ%s%s%s %d0%d%d%d\n\n", s1, num1, s2, num2, s3, num3, s4, num4, s1, s2, s3, s4, num1, num2, num3, num4);}
                else{printf("\ndigite um perfil correto, 113 ou 236.\n\n");}
            }
}
else{}
}
return 0;
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...