JoBlack Posted May 8, 2006 at 08:45 PM Report #26452 Posted May 8, 2006 at 08:45 PM Boas Preciso da V. ajuda para o seguinte: Tenho uma variável que por defeito está definida como char idioma[]="portugues.txt"; Fiz a seguinte função para a alterar mediante a escolha do utilizador, mas obtenho sempre erro no código precisamente na linha onde tento alterar o valor da variável.... Podem-me ver onde errei s.f.f. Obrigado void menuidioma() { int a; system("CLS"); printf("\n\n\n1 - Portugues"); printf("\n2 - English"); scanf("%d",&a); if (a=1) idioma="portugues.txt"; // o erro aparece aqui else if(a=2) idioma="ingles.txt"; // e aqui... else idioma="portugues.txt"; // e aqui... }
UnKnowN Posted May 8, 2006 at 09:05 PM Report #26462 Posted May 8, 2006 at 09:05 PM Penso que em C, após a abertura de quaquer condiçao ou ciclo é necessário implementarem-se as chavetas { e } Tenta assim: void menuidioma() { int a; system("CLS"); printf("\n\n\n1 - Portugues"); printf("\n2 - English"); scanf("%d",&a); if (a=1) { idioma="portugues.txt"; } else if(a=2) { idioma="ingles.txt"; } else { idioma="portugues.txt"; } }
Gurzi Posted May 8, 2006 at 09:10 PM Report #26467 Posted May 8, 2006 at 09:10 PM no primeiro if não é necessário porque só tem uma instrução agora no else precisas de chavetas
brink@ero Posted May 8, 2006 at 09:10 PM Report #26468 Posted May 8, 2006 at 09:10 PM Aqui está a resposta: #include <stdio.h> // as bibliotecas... #include <stdlib.h> void main() { int a; char idioma[20]; // esqueceste de inicializar a variavel system("CLS"); printf("\n\n\n1 - Portugues"); printf("\n2 - English\n"); scanf("%d",&a); if (a==1) // tem de ser ==, se não estas a atribuir o valor 1 'a variavel a e o if nao faz nada sprintf(idioma,"%s","portugues.txt"); // gosto muito de usar esta funcao, e' um printf para a variavel "idioma" else if(a==2) sprintf(idioma,"%s","ingles.txt"); else sprintf(idioma,"%s","portugues.txt"); printf("\n <%s> \n", idioma); system("pause"); // podes apagar isto !!! }
JoBlack Posted May 8, 2006 at 09:22 PM Author Report #26475 Posted May 8, 2006 at 09:22 PM Obrigado a todos, em especial ao brink@ero, resultou..... 🙂
dark_splinter Posted May 8, 2006 at 09:41 PM Report #26483 Posted May 8, 2006 at 09:41 PM Ainda n tenho muito esperiencia em c .... mas não é suposto quando queremos passar uma string para uma variavel fazer: #include <string.h> strcpy( variavel ,"string" ); Não é está maneira mais facil???.... desculpem se tiver a confundir alguma coisa ...
Warrior Posted May 9, 2006 at 06:52 PM Report #26631 Posted May 9, 2006 at 06:52 PM o dark_splinter está correcto 1º não são precisas as chavetas naquele caso que o JoBlack mostrou 2º a forma correcta é usando strcpy, ou então memcpy, também é muito usada por quem gosta de trabalhar com apontadores.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now