Esempio n. 1
0
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;
}



}
Esempio n. 2
0
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");

}