Ir ao conteúdo
  • Cadastre-se
Fol10

Programa parou de funcionar

Recommended Posts

Dei uma parada dos meus exercícios de programação, quando voltei e tentei executar qualquer programa novo com alguma coisa mais complicada que um printf o windows dava erro dizendo que o programa parou de funcionar. O programa em questão que eu estava desenvolvendo era esse(passar segundos para horas/minutos/segundos):

 

#include <stdio.h>

int main(){
    int tempo,segundos_horas,horas,minutos,segundos;
    segundos_horas=3600;
    
    printf("Digite uma quantidade de segundos: ");
    scanf("%d", tempo);
    
    horas=tempo/segundos_horas;
    minutos=(tempo-(segundos_horas*horas))/60;
    segundos=(tempo-(segundos_horas*horas)-(minutos*60));
    
    printf("\n%d horas: %d minutos: %d segundos\n",horas,minutos,segundos);
    
    return 0;
}

Mesmo problema com esse

#include <stdio.h>
int main(){
	printf("Calculadora");
	float numero1,numero2,numero3;
	int a;
	printf("\n\n Digite o primeiro numero: ");
	scanf("%f", &numero1);
	printf("\n\n Digite o segundo numero: ");
	scanf("%f", &numero2);
	printf("\n\n Escolha uma operacao entre Soma(1), Subtracao(2), Divisao(3), Multiplicacao(4) \n");
	scanf("%d", a);

	if (a=1){
		numero1+numero2==numero3;
		printf("%f", numero3);
	}
	else if(a=2){
		numero1-numero2==numero3;
		printf("%f", numero3);
	}
	else if(a=3){
		numero1/numero2==numero3;
		printf("%f", numero3);
	}
	else if(a=4){
		numero1*numero2==numero3;
		printf("%f", numero3);
	}

	return 0;
}

E esse

#include <stdio.h>
#include <math.h>

int main(){
	float a,b,c,x,D,E,F;
	printf("Bhaskara Automatico");
	printf("\nDigite a: ");
	scanf("%f",&a);
	printf("\nDigite b: ");
	scanf("%f",&b);
	printf("\nDigite c: ");
	scanf("%f",c);
	
	if (a==0){
		printf("Isso nao e uma funcao de segundo grau, nao e possivel usar bhaskara");
		return 0;
	}
	
	//Calculo do delta
	D=sqrt(b*b-4*a*c);
	
	printf("\nDelta e: %.1f\n", D);
	
	if (D<0){
		printf("Delta negativo, nao e possivel continuar");
		return 0;
	}
	
	//Bhaskara
	E=(-b+D)/2*a;
	F=(-b-D)/2*a;
	
	printf("\nAs raizes sao %.1f %.1f\n",E,F);
	
	return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está esquecendo de por & adiante de algumas variáveis dentro dos scanfs, tipo você tem que mudar

scanf("%d", tempo);

por

scanf("%d", &tempo);

faça isso sempre que for uma variável do tipo simples como char, int, float, double etc. você só não deve por o & quando se tratar de um ponteiro ou um string, que também é uma espécie de ponteiro que você poderá ver mais adiante se ainda não aprendeu ponteiros, cada coisa no seu devido tempo.

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×