Skapiha69 0 Denunciar post Postado Dezembro 29, 2014 Boas, eu comecei hoje a programar em C e no meu primeiro programa surgiram umas duvidas que mesmo pesquizando no google nao consegui resolver, alguem pode-me, para alem de resolver, explicar porque esta mal ? Obrigado PROGRAMACAO: #include int main() { printf("Password"); char input[2]; if(strcmp(input, "\n") == skapinha) { printf("Welcome President, please be welcome to NSA, you can now start to programm"); } else { printf("Password has not been reconigzed, are you sure that you should be here?"); } } LOG DE ERROS -------------- Build: Debug in SegurancaPortal (compiler: GNU GCC Compiler)--------------- gcc -Wall -g -c /home/mano/Desktop/SegurancaPortal/main.c -o obj/Debug/main.o /home/mano/Desktop/SegurancaPortal/main.c: In function main: /home/mano/Desktop/SegurancaPortal/main.c:4:2: warning: implicit declaration of function printf [-Wimplicit-function-declaration] printf("Password"); ^ /home/mano/Desktop/SegurancaPortal/main.c:4:2: warning: incompatible implicit declaration of built-in function printf [enabled by default] /home/mano/Desktop/SegurancaPortal/main.c:6:28: error: skapinha undeclared (first use in this function) if(strcmp(input, "\n") == skapinha) ^ /home/mano/Desktop/SegurancaPortal/main.c:6:28: note: each undeclared identifier is reported only once for each function it appears in /home/mano/Desktop/SegurancaPortal/main.c:14:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ Process terminated with status 1 (0 minute(s), 0 second(s)) 1 error(s), 3 warning(s) (0 minute(s), 0 second(s)) Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 29, 2014 implicit declaration of function printf Para resolver isso, basta dar #include em stdio.h: #include <stdio.h> skapinha undeclared (first use in this function) skapinha não foi definida em lugar algum note que strcmp retorna um inteiro. veja http://www.cplusplus.com/reference/cstring/strcmp/ Compartilhar este post Link para o post Compartilhar em outros sites
Skapiha69 0 Denunciar post Postado Dezembro 29, 2014 O skapinha era suposto ser uma pass, eu queria que o meu programa visse o input, e se fosse skapinha entao fazer o que esta a seguir, como o devo fazer? EDIT1: Estou tentando faze-lo em C e nao em C++ Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 29, 2014 EDIT1: Estou tentando faze-lo em C e nao em C++ O nome do site é CPlusPlus, mas strcmp é usado em C também. Veja com mais atenção o link que mandei Você pode fazer algo assim: #include <stdio.h> #include <string.h> int main() { char *senha = "skapinha"; char input[32]; printf( "Digite a senha:\n" ); scanf( "%s%*c", input ); if ( strcmp( senha, input ) == 0 ) { printf( "Senha correta\n" ); } else { printf( "Senha incorreta\n" ); } return 0; } PS: O %*c no scanf ignora o \n ao teclar ENTER Compartilhar este post Link para o post Compartilhar em outros sites
Skapiha69 0 Denunciar post Postado Janeiro 8, 2015 Peco desculpa apenas responder tao tarde, o que me mandou funcionou, obrigado, tem alguma hipotese de enquanto eu estiver a digitar a pass a pessoa que esta a ver, e eu inclusive, apenas ver * no sitio da pass? OBrigado Compartilhar este post Link para o post Compartilhar em outros sites