Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

captaoxdzao

funcao strcmp e sobre loopings

Recommended Posts

Ola a todos! Estou começando a programar e estou tentando rodar um programa, mas ele dá o seguinte erro ao tentar compilar:

 

invalid conversion from 'char' to 'const char*' [-fpermissive]

 

o erro é apontado na seguinte linha:

 

while(strcmp(decisao,fixo)==0);

 

nao sei muito bem como manipular strings,tentei de tudo mas não soube como contornar o problema. Aproveito a oportunidade para perguntar: a utilização do comando do while seria a melhor forma para fazer um looping de modo que o usuário possa recomeçar o programa sem ter de abri-lo novamente? Se não, como fazer?

 

Segue o código completo do meu programa:

 

#include <stdio.h>

#include <strings.h>

#include <stdlib.h>

#include<ctype.h>

 

int main() {

char decisao, nome[20], fixo={'S'};

float mp[3], nota[5];

 

 

do{

 

printf("***Calculo da nota individual para engenharias/ciencia da computacao ***\n\n\n");

 

 

printf("Digite o nome do candidato: ");

gets(nome);

 

printf("Digite a nota do candidato em codigo,linguagens e suas tecnologias: ");

scanf(" %f",&nota[0]);

 

printf("Digite a nota do candidato em Matematica: ");

scanf(" %f",&nota[1]);

 

printf("Digite a nota do candidato em ciencias da natureza e suas tecnologias: ");

scanf(" %f",&nota[2]);

 

printf("Digite a nota do candidato em ciencias humanas e suas tecnologias: ");

scanf(" %f",&nota[3]);

 

printf("Digite a nota do candidato na redacao:");

scanf(" %f",&nota[4]);

printf("\n");

 

 

mp[0]=(nota[0]+nota[1]+nota[2]+nota[3]+nota[4])/5;

mp[1]=((nota[1])*4+(nota[2])*4+(nota[3])*2+(nota[0])*2+(nota[4])*3)/15;

mp[2]=((nota[1])*4+(nota[2])*3+(nota[3])*1+(nota[0])*1+(nota[4])*3)/12;

 

printf("A nota bruta no ENEM do candidato(a) %s e: %.3f\n\nA nota do candidato %s para engenharias na UFRJ e: %.3f\n\nA nota do candidato %s para ciencias da computacao na UFRJ e: %.3f\n\n",nome,mp[0],nome,mp[1],nome,mp[2]);

 

printf("Deseja calcular novamente?<S/N>\n");

scanf("%c",&decisao);

decisao = toupper(decisao);

}

 

while(strcmp(decisao,fixo)==0);

 

 

printf("ATE PROXIMA!");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.