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).
Pergunta
Leandro Araujo
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
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.