Pois,quando não atribuo '0' ou '1' na funcao 'strcasecmp' ou seja,se escrevo apenas "strcasecmp( fixo, decisao)" o programa até roda,mas não da maneira que gostaria. Como contornar o erro?Segue o código completo e,desde já, grato:
[code=C]
#include
#include
int main() {
char fixo[1]={'s'},decisao[1]={'s'};
float mp[3];
while (strcasecmp( fixo, decisao)==0){
struct id{
char nome[10];
float nota[5],media;};
struct id ids[1];
printf("***Calculo da nota individual para engenharias/ciencia da computacao no ENEM ***\n\n\n");
printf("Digite o nome do candidato: ");
gets(ids[0].nome);
printf("Digite a nota do candidato em codigo,linguagens e suas tecnologias: ");
scanf(" %f",&ids[0].nota[0]);
printf("Digite a nota do candidato em Matematica: ");
scanf(" %f",&ids[0].nota[1]);
printf("Digite a nota do candidato em ciencias da natureza e suas tecnologias: ");
scanf(" %f",&ids[0].nota[2]);
printf("Digite a nota do candidato em ciencias humanas e suas tecnologias: ");
scanf(" %f",&ids[0].nota[3]);
printf("Digite a nota do candidato na redacao:");
scanf(" %f",&ids[0].nota[4]);
printf("\n");
mp[0]=(ids[0].nota[0]+ids[0].nota[1]+ids[0].nota[2]+ids[0].nota[3]+ids[0].nota[4])/5;
mp[1]=((ids[0].nota[1])*4+(ids[0].nota[2])*4+(ids[0].nota[3])*2+(ids[0].nota[0])*2+(ids[0].nota[4])*3)/15;
mp[2]=((ids[0].nota[1])*4+(ids[0].nota[2])*3+(ids[0].nota[3])*1+(ids[0].nota[0])*1+(ids[0].nota[4])*3)/12;
printf("A nota bruta no ENEM do candidato(a) %s e: %.3f\n\nA nota do candidato para engenharias na UFRJ e: %.3f\n\nA nota do candidato para ciencias da computacao na UFRJ e: %.3f\n\n",ids[0].nome,mp[0],mp[1],mp[2]);
printf("Deseja calcular novamente?
gets(decisao);
}
printf("ATE PROXIMA!");
}[/code]