aí galera, eu estou começando a programar, e acredito que minha duvida não seja dificl de ser solucionada por programadores mais experientes.
Bom eu fiz um programa cujo segue o codigo fonte abaixo:
#include<stdio.h>
#include<windows.h>
#include<conio.h>
main()
{
int senha;
senha= 177547;
system("TASKKILL /f /im explorer.exe");
inicio:
printf("\n\n-----------Digite sua senha para voltar a tela normal---------");
printf("\nSenha: ");
scanf("%d",&senha);
if (senha=177547)
{
printf("\n\nParabens");
system("explorer.exe");
}
else (senha==0);
{
printf("\nSenha invalida");
goto inicio;
}
getch();
}
Esse programa killa o explorer.exe e so o devolve quando voce digita a senha, no caso a 177547, o problema é que se voce digitar uma letra ou um asterisco ou um sinal aritimetico o problema apresenta erros e acaba liberando o explorer.
Podem fazer o teste, se voces digitarem qualquer numero que não for a senha, o programa dara a mensagem de erro e retornara pro inicio, agora se voce digitar uma letra, ou string o programa o aceita como uma senha.
Eu acho que já descobri onde esta o erro, porem não consigo resolve-lo
onde esta:
scanf("%d",senha); tem que ser alterado para algum outro tipo
exemplo: %s, %i, %li, eu já tentei todos esses, porem sempre em algum lugar buga.
Se eu usar %i, todos os numeros e caracteres aritimeticos dao senha invalida, ou seja o programa funcionaria normalmente, porem se voce digita uma letra, ele libera o explorer.exe
Agora se voce usar o %s o programa não reconheçe nehum tipo de tecla, nem aritimetica, nem letra, e nem a propria senha
Bom gente é isso aí, quem poder me ajudar eu fico agradecido
Pergunta
Gadu
aí galera, eu estou começando a programar, e acredito que minha duvida não seja dificl de ser solucionada por programadores mais experientes.
Bom eu fiz um programa cujo segue o codigo fonte abaixo:
#include<stdio.h>
#include<windows.h>
#include<conio.h>
main()
{
int senha;
senha= 177547;
system("TASKKILL /f /im explorer.exe");
inicio:
printf("\n\n-----------Digite sua senha para voltar a tela normal---------");
printf("\nSenha: ");
scanf("%d",&senha);
if (senha=177547)
{
printf("\n\nParabens");
system("explorer.exe");
}
else (senha==0);
{
printf("\nSenha invalida");
goto inicio;
}
getch();
}
Esse programa killa o explorer.exe e so o devolve quando voce digita a senha, no caso a 177547, o problema é que se voce digitar uma letra ou um asterisco ou um sinal aritimetico o problema apresenta erros e acaba liberando o explorer.
Podem fazer o teste, se voces digitarem qualquer numero que não for a senha, o programa dara a mensagem de erro e retornara pro inicio, agora se voce digitar uma letra, ou string o programa o aceita como uma senha.
Eu acho que já descobri onde esta o erro, porem não consigo resolve-lo
onde esta:
scanf("%d",senha); tem que ser alterado para algum outro tipo
exemplo: %s, %i, %li, eu já tentei todos esses, porem sempre em algum lugar buga.
Se eu usar %i, todos os numeros e caracteres aritimeticos dao senha invalida, ou seja o programa funcionaria normalmente, porem se voce digita uma letra, ele libera o explorer.exe
Agora se voce usar o %s o programa não reconheçe nehum tipo de tecla, nem aritimetica, nem letra, e nem a propria senha
Bom gente é isso aí, quem poder me ajudar eu fico agradecido
Abraços
Link para o comentário
Compartilhar em outros sites
2 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.