Ir ao conteúdo
  • Cadastre-se

Programa parou de funcionar


Fol10

Posts recomendados

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;
}

 

Link para o comentário
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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!