1. TugaTech » Software » Dúvidas e Ajuda de Software
Siga-nos

Realize o Login na sua conta ou Registe-se para participar.

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

#1[Ajuda] Linguagem C Empty [Ajuda] Linguagem C - Dom 2 Dez 2012 - 18:47

KinyuOne

GodUser
KinyuOne
Boa noite pessoal.

Foi-me pedido que, num programa já criado por mim e que esteja funcional, eu adicionasse uma password. Ou seja, se quem estivesse a utilizar o programa escrevesse a password correcta o programa funcionaria, senão apareceria "Pass errada, tente de novo".

Ora bem, o que eu quero saber é, como posso fazer com que depois de inserir a pass errada, o programa continue a pedir a pass correcta e depois de se inserir a pass correcta o programa arrancar. É que de momento, se eu inserir a pass correcta o programa continua, se não aparece "Prima qualquer tecla para sair..." depois de dizer que a pass é incorrecta.

Em baixo vai o código.


Código:
int main()
{
  int a,b,c,x;
  float d;
  float E1, E2;
  char p [10];
  char pass[10]="sistemas";
 
 
  printf("Insira a password para o programa iniciar:\n\n");
  gets(p);
  x=strcmp(p,pass);
  if(x==0)
  {
  printf("Introduza o valor de a:\n\n");
  scanf("%d",&a);
  printf("\n\nIntroduza o valor de b:\n\n");
  scanf("%d",&b);
  printf("\n\nIntroduza o valor de c:\n\n");
  scanf("%d",&c);
  //Nesta parte do programa, apenas pedi ao utilizador que inserisse os valores com que o programa iria trabalhar.
  d=(b*b-4*a*c);
  //Com o espaço para a variável "d" guardado na memória, nesta linha atribuí-lhe um valor que neste caso será o resultado daquela operação matemática.
  if("%f",d>=0)
  {
  E1=((-b)+sqrt(d))/2*a;
  E2=((-b)-sqrt(d))/2*a;
  printf("\n\nO resutado e:%.3f\n\n",E1,E2);
}
  else
  {
  (d<0);
  printf("\n\nEquacao impossivel.");
}
  //Neste If-Else o programa iria resolver as equações se o resutaldo da varável "d" fosse maior ou igual a zero. Se fosse inferior a 0 então o programa passaria automáticamente para a mensagem de "Equação impossível."
 
}


if(x==1)
{
    printf("\n\nPassword incorrecta. Tente de novo\n\n");
    while(x==1)
printf("Insira a password para o programa iniciar:\n\n");
  gets(p);
}


  system("PAUSE");   
  return 0;
}

Desde já agradeço a ajuda Smile

Cumps

Conectado

#2[Ajuda] Linguagem C Empty Re: [Ajuda] Linguagem C - Dom 2 Dez 2012 - 21:00

DJPRMF

Administrador
DJPRMF
Boas,

O codigo está um pouco confuso (ou não percebi bem o que pretende), mas deixo aqui um pequeno exemplo para guiar:
Código:
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main()
{
    char buffer[256] = {0};
    char password[] = "password";
    char c;
    int pos = 0;
   
    printf("%s", "Enter password: ");
    do {
        c = getch();
       
        if( isprint(c) )
        {
            buffer[ pos++ ] = c;
            printf("%c", '*');
        }
        else if( c == 8 && pos )
        {
            buffer[ pos-- ] = '\0';
            printf("%s", "\b \b");
        }
    } while( c != 13 );
   
    if( !strcmp(buffer, password) )
        printf("\n%s\n", "Logged on succesfully!");
    else
        printf("\n%s\n", "Incorrect login!");
    return 0;
}

Basta alterar a partir de "Logged on succesfully!" e adaptar com o código do programa que pretende que seja executado.


____________________________________________

[Ajuda] Linguagem C Tugatechuserbar
[Ajuda] Linguagem C 3
[Ajuda] Linguagem C 2
TugaTech || Host TugaTech
https://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF

#3[Ajuda] Linguagem C Empty Re: [Ajuda] Linguagem C - Dom 2 Dez 2012 - 21:32

KinyuOne

GodUser
KinyuOne
Muito obrigado pela ajuda Smile

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos




Aplicações do TugaTechAplicações TugaTechDiscord do TugaTechDiscord do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech