void leerscript(char *path){ struct stat st = {0}; char info[600]=""; strcat(info,path); if (stat(info, &st) == -1) { printf("\n EL ARCHIVO NO EXISTE \n"); }else{ //leer script FILE *script; //char linea[200]; script = fopen(path,"r"); if (script == NULL) exit(1); printf("\n ARCHIVO ENCONTRADO... \n"); int i = 0; while (feof(script) == 0) { fgets(cadena1,300000,script); printf("lin %d : ",i); i++; printf("%s",cadena1); orden = 0; indicativo = 0; minusculas(); nimodo(); } // system("PAUSE"); fclose(script); //return; } }
int main() { printf("\nPUEDE INICIAR INGRESE LOS COMANDOS QUE REQUIERA A CONTINUACION...\n"); while(strcmp(cadena1,"salir")!=0) { scanf(" %[^\n]", cadena1); char dato; orden = 0; indicativo = 0; minusculas(); nimodo(); } return 0; }
void adicionar_conta(cliente *cliente1, char nomePasta[]) { char opcao[10]; int i = 0; char j; int tam = 0; int opcao_menu = 0; int controlo = 0; int flag1; int flag2; conta conta, *aux, *novo; FILE *f = NULL; bool existe = false;//variavel que serve para verificar se o nome da conta ja existe associado a outra conta bool verifica = false; //para verificar se o login, nome e password tem os caracteres suficientes aux = cliente1->lista; system("cls"); titulo(); printf("\n Adicionar Conta \n\n"); do { flag1 = 0; flag2 = 0; printf("Indique o login: "******"\n"); // verifica se o login tem entre os minimos e maximos caracteres pedidos if (strlen(conta.login) < 1 || strlen(conta.login) > MAX_LOG ) { verifica = false; flag1 = 1; printf("\nLogin nao tem caracteres suficientes ou tem caracteres a mais (deve ter entre 1 e 100 caracteres)!\n"); } if (strcmp(conta.login, "\n") == 0) { printf("\n\nNome invalido\n\n"); } else { tam = strlen(conta.login); for (i = 0; i < tam; i++) { j = conta.login[i]; if (j == ' ') { verifica = false; flag2 = 1; printf("\nLogin tem espacos\n"); break; } } if (flag1 == 0 && flag2 == 0) { verifica = true; } } } while (verifica == false); do { printf("\nIndique se pretende password (1-Manual 2-Automatica 3-Colar): "); fflush(stdin); controlo = scanf("%d", &opcao_menu); //verifica que a opcao introduzido é um numero e nao um caracter if (entradas_int(controlo) == 0) { controlo = 0; opcao_menu = 0; } else { controlo = 1; } } while (controlo < 1 || opcao_menu < 1 || opcao_menu > 3); if (opcao_menu == 1) { do { verifica = false; flag1 = 0; flag2 = 0; printf("\nIndique a password: "******"\n"); // verifica se a password tem entre os minimos e maximos caracteres pedidos if (strlen(conta.password) < 1 || strlen(conta.password) > MAX_PASS) { flag1 = 1; printf("\nPassword nao tem caracteres suficientes ou tem caracteres a mais (deve ter entre 1 e 16 caracteres)!\n"); } if (strcmp(conta.password, "\n") == 0) { printf("\n\nPassword invalida\n\n"); flag2 = 1; } else { tam = strlen(conta.password); for (i = 0; i < tam; i++) { j = conta.password[i]; if (j == ' ') { verifica = false; flag2 = 1; printf("\nPassword tem espacos\n"); break; } } } if (flag1 == 0 && flag2 == 0) { verifica = true; } } while (verifica == false); } else if (opcao_menu==2) { controlo = gera_pass_auto(conta.password); if (controlo == 1) { printf("Erro fatal"); system("PAUSE"); exit(0); } else { printf("Password gerada com sucesso"); } } else { char *h = ShortcutColar(); printf("Password utilizada\t%s", h); strcpy(conta.password, h); } do { existe = false; do{ printf("\nIndique nome da conta (nome 'tudo' e invalido): "); fflush(stdin); fgets(conta.nome, MAX_NOME, stdin); strtok(conta.nome, "\n"); minusculas(conta.nome); // verifica se o nome tem entre os minimos e maximos caracteres pedidos if (strlen(conta.nome) < 3 || strlen(conta.nome) > MAX_NOME || strcmp(conta.nome, "tudo") == 0 ) { verifica = false; printf("\nNome nao tem numero de caracteres ideal!\n"); } else { verifica = true; } } while (verifica == false); //ciclo que verifica se existe alguma conta ja com o mesmo nome while (aux != NULL) { if (strcmp(conta.nome, aux->nome) == 0) { existe = true; break; } else { aux = aux->prox; } } if (existe==true) { printf("\nNome de conta existente ou invalido, tente novamente"); } } while (existe==true); aux = cliente1->lista; if (aux == NULL) { novo = malloc(sizeof(conta)); strcpy(novo->login, conta.login); strcpy(novo->nome, conta.nome); strcpy(novo->password, conta.password); novo->prox = NULL; cliente1->num_contas++; cliente1->lista = novo; } else{ while (aux->prox != NULL) { aux = aux->prox; } novo = malloc(sizeof(conta)); strcpy(novo->login, conta.login); strcpy(novo->nome, conta.nome); strcpy(novo->password, conta.password); novo->prox = NULL; aux->prox = novo; cliente1->num_contas++; } escreve_ficheiro(cliente1, nomePasta); strtok(nomePasta, "/"); printf("\nConta adicionada!!"); printf("\nLogin %s", conta.login); printf("\nPass %s", conta.password); printf("\nNome %s\n", conta.nome); system("PAUSE"); }