Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
gtoPaska

Programa compilado no dev-c++ da erro

Recommended Posts

criei um programa bem simples no dev c++ 4.9.9.2, quando compilo, nao da erro nenhum, mas quando executo ele, da erro na metade, e nao termina, simplesmente fecha o programa

codigo fonte:

#include <stdio.h>

#include<iostream.h>

main()

{

int pips, porque, QJ;

float PPC, PF;

char res, y, n;

printf("Criado por Stael Viana e Augusto Santos\n");

printf("Este programa calcula o quanto cada jogador deve pagar, tendo como base o preco da quadra e a quantidade de jogadores\n");

printf("Informe o preco da quadra: ");

scanf("%d",&porque);

printf("Informe numero de jogadores: ");

scanf("%d",&QJ);

PPC=porque/QJ;

printf("O preco a ser pago por jogador e de R$ %.2f\n",PPC);

printf("voce acha que algum participante não vai ir na ultima hora ou vai esquecer o dinheiro?(y/n) ");

scanf("%c", res);

if(res == n) printf("Então está ok");

else if(res == y){

printf("Quantos, mais ou menos? ");

scanf("%d", pips);

PF=porque/(QJ-pips);

if (res == y) printf("Então, cada um deve levar, pelo menos R$ %.2f\n", PF);

system("pause");

};

}

o que pode estar acontecendo?

ps: é bem simples, estou apenas no primeiro mes de laboratorio de programaçao 1, no curso de engenharia de computação

outra obs: tentei em c++ com esse codigo ih, e em c sem o iostresm.h e o system ("pause") e mesmo assim da erro

Editado por Goliathvv
Evite postar seguidamente, utilize o botão editar. Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguns erros que eu encontrei no seu programa:

falta colocar o caractere & antes da variável em algumas funções scanf, pois o que o scanf precisa é o endereço da memória.

Em um determinado momento você colocou:

} else if(res == 'y') {
....
...
if (res == y) printf("Então, cada um deve levar, pelo menos R$ %.2f\n", PF);

O segundo teste é inútil, tendo em vista que o escopo do if não acabou, logo res sempre será y nesse ponto.

No calculo da média, se você fizer por exemplo. 5/6 ele lhe retornará 0, pois você está divindo um int por outro. Para ocorrer da maneira correta você precisa dizer explicitamente isso através do cast. Basta adicionar antes da conta entre parenteses o tipo, nesse caso ficaria (float).

Seus nomes de variáveis estão um pouco ilegiveis. Se um dia você precisar dar manutenção nesse código, não vai lembrar nada do que está fazendo essa linha, por exemplo:

PF=porque/(QJ-pips);

Enfim, arrumei seu código. Sugiro fortemente que você tente resolver sozinho esses problemas antes de olhar o código que fiz. Lembrando que pode não estar funcionando da melhor maneira, pois estou lendo sobre C faz só uma semana e li muito pouco coisa, só no tempo de folga(no momento na hora que pego o onibus para o trabalho, porque no resto do tempo nem respiro direito). Mas chega de papo. Ai está o código:



float calcularMedia(int valor, int jogadores) {
return (float) valor / jogadores;
}

int main() {
int faltarao, preco, qtd_jogadores;
float media_preco, media_faltantes;
char res;

printf("Informe o preco da quadra: ");
scanf("%d",&preco);
printf("Informe numero de jogadores: ");
scanf("%d",&qtd_jogadores);
media_preco = calcularMedia(preco,qtd_jogadores);
printf("O preco a ser pago por jogador e de R$ %.2f\n",media_preco);
printf("voce acha que algum participante não vai ir na ultima hora ou vai esquecer o dinheiro?(y/n)");
scanf(" %c", &res);
if(res == 'n') {
printf("Então está ok");
} else if(res == 'y') {
printf("Quantos, mais ou menos? ");
scanf("%d", &faltarao);
media_faltantes = preco /(qtd_jogadores - faltarao);
printf("Então, cada um deve levar, pelo menos R$ %.2f\n", media_faltantes);
};
getch();
return 0;
}
#include<stdio.h>

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • consegui resolver 2 minutos antes de ler sua msg

    hauhauahuahauhaahua

    quando eu chegar em casa olho a sua, mas muito obrigado mesmo assim

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    if(res == n) printf("Então está ok");

    else if(res == y){

    if (res == y) printf("Então, cada um deve levar, pelo menos R$ %.2f\n", PF);

    Usa strcmp pra poder comparar corretamente.Abraços.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×