zezima Posted May 7, 2012 at 10:15 PM Report #453666 Posted May 7, 2012 at 10:15 PM estou com um problema que e o seguinte: void cancela_voo(int data,int cod_voo,informacao *a,dim *b) { int i; for(i=0;i<(b->size);i++) { if((data==a->data) && (cod_voo == a->codigo_voo)) { a->codigo_voo=0; a->n_passageiros=0; a->data=0; a->hora_partida=0; a->hora_chegada=0; strcpy((a->cod_origem),'/0'); strcpy((a->cod_chegada),'/0'); break; } } a++; } tenho esta funçao que o que faz é recebe uam data e um cod_voo e percorre uma estrutra e caso encontre valores iguais, "apaga"(colocando 0 e '/0') tudo o que la esta...so que quando chamo esta funçao o meu programa bloqueia e para de responder....alguem sabe porque???
pmg Posted May 7, 2012 at 10:26 PM Report #453674 Posted May 7, 2012 at 10:26 PM (edited) void cancela_voo(int data,int cod_voo,informacao *a,dim * { int i; for(i=0;i<(b->size);i++) { if((data==a->data) && (cod_voo == a->codigo_voo)) { /* ... */ strcpy((a->cod_origem),'/0'); strcpy((a->cod_chegada),'/0'); /* ... */ } } a++; } O strcpy copia duma string para outra. O `/0` no segundo argumento nao é uma string! Copia a string vazia, ou mete o primeiro caracter a zero strcpy((a->cod_origem), ""); a->cod_chegada[0] = '\0'; /* repara na inclinacao da barra */ E ainda: Para que é o ciclo for? Nao usas a variavel i dentro do ciclo nem alteras nada ... a alteracao que fazes ao ponteiro a esta fora do ciclo!! Edited May 14, 2012 at 09:44 AM by pmg GeSHi update What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
zezima Posted May 7, 2012 at 10:38 PM Author Report #453678 Posted May 7, 2012 at 10:38 PM ja alterei a parte do strcpy e ja deu o que ue queria 🙂 ...em relaçao ao ciclo foi um erro meu pq esse a++ era suposto tar dentro do ciclo...Muito obrigado 🙂😄 :D
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