Logo Hardware.com.br
charllys
charllys Novo Membro Registrado
4 Mensagens 0 Curtidas

Vetores em C

#1 Por charllys 29/09/2019 - 20:33
Olá, sou inciante em programação, estamos aprendendo C, preciso de ajuda para o seguinte:



1- Fiz para salvar em vetor um código somente de números e uma senha tbm de números.
[code=c]int telacadastro ()
{
int i, logar[50], senha[50];

printf ("Vamos executar o cadastro, para isso digite apenas o login e a senha(somente numeros):\n");

for (i=0; i<=0; i++)
{
printf ("Escolha um codigo de login de até 4 numeros. Ex: 2134:");
scanf("%d", &logar[I]);
break;
}

for (i=0; i<=0; i++)
{
printf ("Escolha uma senha, somente de numeros, até 8 numeros:");
scanf ("%d", &senha);
}

main();

return 0;
}[/code]



2 - O próximo passo seria comparar esses vetores:
[code=c]int telalogin ()
{
int i, cli_logar[50], cli_senha[50], logar[50], senha[50];

printf("Digite seu codigo:");
scanf("%d", &cli_logar);

printf("Digite sua senha:");
scanf("%d", &cli_logar);

for (i=0; i<=49; i++)
{
if((cli_logar==logar) && (cli_senha==senha))
{
printf("Acesso Liberado.");
break;
}
else
{
printf("Login Errado.");
break;
}
}
}[/code]



Alguém ai que me ajude, o programa copila e roda, só que não salva o código e senha, nem compara, acredito que a logica esteja errada.

Agradeço amigos.
Francisco Ossian
Francisco Os... Super Participante Registrado
221 Mensagens 68 Curtidas
#2 Por Francisco Os...
29/09/2019 - 20:54
Em C você não pode comparar dois vetores apenas com seus nomes (desconsiderando uma biblioteca que tenha uma função que faça isso).

Você não precisa chamar a main();. Ela será retornada sempre que a função termina.

Olhe o break que você botou no for, ele está ali por qual motivo ?

No primeiro For ele faz a pergunta quantas vezes?

Não existe em C a opção nativa de manipulação de vetores apenas passando o nome.

Ps: não quero parece grosso por apenas apontar erros, relaxe a prática leva a perfeição e ninguém é perfeito. Muito menos quem está no começo.

Recomendo botar dentro das tags do códigos que facilita a leitura.

Quando você programa com vetores existem erros de sintaxe e erros de acesso a memória, erros de memória passam despercebido pelo compilador do C principalmente quando dentro de funções.

Sou todo ouvidos
charllys
charllys Novo Membro Registrado
4 Mensagens 0 Curtidas
#3 Por charllys
29/09/2019 - 20:58
Francisco Ossian disse:
Em C você não pode comparar dois vetores apenas com seus nomes (desconsiderando uma biblioteca que tenha uma função que faça isso).

Você não precisa chamar a main();. Ela será refornada sempre que a função termina.

Olhe o break que você botou no for, ele está ali por qual motivo ?

No primeiro For ele faz a pergunta quantas vezes?

Não existe em C a opção nativa de manipulação de vetores apenas passando o nome.

Ps: não quero parece grosso por apenas apontar erros, relaxe a prática leva a perfeição e ninguém é perfeito. Muito menos quem está no começo.

Recomendo botar dentro das tags do códigos que facilita a leitura.

Quando você programa com vetores existem erros de sintax e erros de ascesso a memória, erros de memória passam despercebido pelo compilador do C principalmente quando dentro de funções.

Sou todo ouvidos

Obg por apontas os erros, é importante pois estou iniciando, quero uma luz pois já pesquisei muito e não aprendi nem achei uma solução útil de fazer essa comparação.
Francisco Ossian
Francisco Os... Super Participante Registrado
221 Mensagens 68 Curtidas
#4 Por Francisco Os...
29/09/2019 - 21:05
charllys disse:
Obg por apontas os erros, é importante pois estou iniciando, quero uma luz pois já pesquisei muito e não aprendi nem achei uma solução útil de fazer essa comparação.


para *fazer* a comparação você terá que comparar cada posição do vetor, não lembro se já existe disponível no C uma biblioteca para isto.

Mas se tiver tempo (se não for um trabalho para amanhã rs) recomendo pesquisar mais sobre os assuntos que você viu antes de vetores. Creio que funções você viu depois de vetores (espero que tenha visto, se não vai complicar usar elas).

E retomar sobre For, vetores (apenas vetores, para conhecer mais eles), leitura de vetores usando For. Melhor forma de treinar é quebrando a cabeça
charllys
charllys Novo Membro Registrado
4 Mensagens 0 Curtidas
#5 Por charllys
29/09/2019 - 21:17
Francisco Ossian disse:
para *fazer* a comparação você terá que comparar cada posição do vetor, não lembro se já existe disponível no C uma biblioteca para isto.

Mas se tiver tempo (se não for um trabalho para amanhã rs) recomendo pesquisar mais sobre os assuntos que você viu antes de vetores. Creio que funções você viu depois de vetores (espero que tenha visto, se não vai complicar usar elas).

E retomar sobre For, vetores (apenas vetores, para conhecer mais eles), leitura de vetores usando For. Melhor forma de treinar é quebrando a cabeça


Obg pela ajuda, mas tou quebrando muito a cabeça. kkkk
Já pesquisei muito mas enfim, ainda estou tentando.
Francisco Ossian
Francisco Os... Super Participante Registrado
221 Mensagens 68 Curtidas
#6 Por Francisco Os...
29/09/2019 - 21:33
charllys disse:
Obg pela ajuda, mas tou quebrando muito a cabeça. kkkk
Já pesquisei muito mas enfim, ainda estou tentando.


Isso vai te dar mais prazer ainda quando conseguir resolver hehe.

Tente primeiro fazer sem usar outra função.
Faça um protótipo: pense na forma reduzida para depois escalar ela para algo mais complexo.

Faça sem funções, tudo na main, com os vetores de tamanho fixo e pequenos ex: tamanho 3.

Então com esses vetores Leia eles, o login e a senha.

Então eles estão registrados.
Então declare novos vetores para ler mais uma vez.
Novos vetores registrados.
Então compare se os vetores de login são iguais e dps faça isso para os vetores senha.

Os 2 primeiros vetores seram como o banco de dados. Não esqueça que ao fechar o programa não terá mais eles.

Antes de fazer procure sobre leitura de um vetor e as coisas que recomandei antes. Não estou dando a resposta, e sim o caminho para você conseguir ela sozinho.

Pensar de forma reduzida para depois ir aumentando a complexidade é uma ótima forma. Tanto para iniciantes como profissional (qualquer área).
Foi assim que consegui mostrar para um amigo como funciona o Algoritimo de ordenar um vetor.
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#7 Por esquiloesper...
30/09/2019 - 02:17
Editei a parte dos códigos para facilitar a leitura deles.
Francisco Ossian disse:
[...] Recomendo botar dentro das tags do códigos que facilita a leitura.

Francisco Ossian disse:



charllys
, para fazer o mesmo basta seguir as instruções a seguir sempre que precisar postar códigos:



wink.png
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
charllys
charllys Novo Membro Registrado
4 Mensagens 0 Curtidas
#8 Por charllys
30/09/2019 - 14:02
Francisco Ossian disse:
Isso vai te dar mais prazer ainda quando conseguir resolver hehe.

Tente primeiro fazer sem usar outra função.
Faça um protótipo: pense na forma reduzida para depois escalar ela para algo mais complexo.

Faça sem funções, tudo na main, com os vetores de tamanho fixo e pequenos ex: tamanho 3.

Então com esses vetores Leia eles, o login e a senha.

Então eles estão registrados.
Então declare novos vetores para ler mais uma vez.
Novos vetores registrados.
Então compare se os vetores de login são iguais e dps faça isso para os vetores senha.

Os 2 primeiros vetores seram como o banco de dados. Não esqueça que ao fechar o programa não terá mais eles.

Antes de fazer procure sobre leitura de um vetor e as coisas que recomandei antes. Não estou dando a resposta, e sim o caminho para você conseguir ela sozinho.

Pensar de forma reduzida para depois ir aumentando a complexidade é uma ótima forma. Tanto para iniciantes como profissional (qualquer área).
Foi assim que consegui mostrar para um amigo como funciona o Algoritimo de ordenar um vetor.


Obg a todos, tentarei fazer desta forma. Agradeço muito.

esquiloesperto disse:
Editei a parte dos códigos para facilitar a leitura deles.



charllys
, para fazer o mesmo basta seguir as instruções a seguir sempre que precisar postar códigos:



wink.png



Ok.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal