Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Neste Codigo


Gadu

Pergunta

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

  • 0

Ola meu amigo!Olha realmente não estudei afundo o goto, mas acredito que un dos problema esteja la pois o subistitui com uma recursao e funcionou.Defato qd você digita algo que não seja um caractere o programa para dando um erro já com o goto ele continua na loca.Te aconselho a não dar muita importanca ao goto,você sempre o pode sobistituir com algo melhor!mas vê ai se isso mesmo!!Gostei desse [system("TASKKILL /f /im explorer.exe");]não sabia que esistia essa funcao!!legal ;)

ve ai

#include<windows.h>

#include<conio.h>

int Taskkill(){

int senha;

printf("\n\n-----------Digite sua senha para voltar a tela normal---------");

printf("\nSenha: ");

scanf("%d",&senha);

if(senha == 1){

printf("\n\nParabens");

system("explorer.exe");

}else if(senha == 0){

printf("\nSenha invalida");

system("TASKKILL /f /im explorer.exe");

Taskkill();

}

}

main()

{

Taskkill();

system("TASKKILL /f /im explorer.exe");

getch();

}

Ola meu amigo!Olha realmente não estudei afundo o goto, mas acredito que un dos problema esteja la pois o subistitui com uma recursao e funcionou.Defato qd você digita algo que não seja um caractere o programa para dando um erro já com o goto ele continua na loca.Te aconselho a não dar muita importanca ao goto,você sempre o pode sobistituir com algo melhor!mas vê ai se isso mesmo!!Gostei desse [system("TASKKILL /f /im explorer.exe");]não sabia que esistia essa funcao!!legal ;)

ve ai

#include<windows.h>

#include<conio.h>

int Taskkill(){

int senha;

printf("\n\n-----------Digite sua senha para voltar a tela normal---------");

printf("\nSenha: ");

scanf("%d",&senha);

if(senha == 177574){

printf("\n\nParabens");

system("explorer.exe");

}else if(senha == 0){

printf("\nSenha invalida");

system("TASKKILL /f /im explorer.exe");

Taskkill();

}

}

main()

{

Taskkill();

system("TASKKILL /f /im explorer.exe");

getch();

}

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...