sim minha variavel tem a palavra disponivel.,não creio que o erro esteja fora dessa parte que enviei anteriormente.e sim status é tipo char
typedef struct{int num;int qto;float valor;float venda;char status[20];char tipo[20];}tcondominio; /preennche status inicialvoid pstatus(tcondominio cond[10][6][4]){int i,j,k;for(i=0;i<10;i++){for(j=0;j<6;j++){ for(k=0;k<4;k++) { strcpy(cond[i][j][k].status,"Disponivel"); } } }}void vender(tcondominio cond[10][6][4],int *bl,int *an,int *ap){float desc,fin;int venda; //direto no if não está ok if(strcmp (cond[*an-1][*bl-1][*ap-1].status,"Disponivel")==0); {printf("\n\n Para venda a vista marque'1' para venda financiada marque'2' \n");scanf("%d", &venda);if (venda==1){ printf(" insira desconto até 15\n"); scanf("%f", &desc); if(desc >0 && desc<=15) { desc=desc/100; cond[*an-1][*bl-1][*ap-1].venda=cond[*an-1][*bl-1][*ap-1].valor - (cond[*an-1][*bl-1][*ap-1].valor *desc); printf("Vendido com sucesso\n"); strcpy (cond[*an-1][*bl-1][*ap-1].status,"Vendido"); strcpy (cond[*an-1][*bl-1][*ap-1].tipo,"A Vista"); } else { printf("valor invalido \n"); system("pause"); } } else if (venda==2){printf(" insira acrescimo até 95\n");scanf("%f", &fin); if(fin >0 && fin<=95) { fin=fin/100; cond[*an-1][*bl-1][*ap-1].venda=cond[*an-1][*bl-1][*ap-1].valor + (cond[*an-1][*bl-1][*ap-1].valor *fin); printf("Vendido com sucesso\n"); strcpy (cond[*an-1][*bl-1][*ap-1].status,"Vendido"); strcpy (cond[*an-1][*bl-1][*ap-1].tipo,"Financiado"); } else { printf("valor invalido \n"); system("pause"); } }int main (void){ tcondominio cond[10][6][4]; int bloco,andar,apto; printf("\n Digite o bloco:1 a 4 \n "); scanf("%d", &bloco); printf(" Digite o andar:1 a 10 \n "); scanf("%d", &andar); printf(" Digite o apartamento:1 a 6 \n "); scanf("%d", &apto); vender(cond,&bloco,&andar,&apto,garagem); reservar(cond,&bloco,&andar,&apto); return 0; }