Ir ao conteúdo

Dúvidas programa em C.


DownloadHD

Posts recomendados

Postado

Olá amigos,

Preciso da ajuda de vocês. Sou novo por aqui e tb novo em programação. Tenho que fazer um programa em C que a pessoa digite o valor de um produto, o ano em que o produto foi comprado e o ano atual, e o programa tem que exibir o valor do produto com 30% de desconto mais 1% por ano desde a compra, por exemplo, se eu comprei um produto em 2004, como estamos em 2008 já faz 4 anos, ou seja, o programa terá que exibir o preço do produto com 30% de desconto mais 4% de desconto por causa dos 4 anos que já se passaram desde sua compra. Se fosse 5 anos seria os 30% mais 5%, 6 anos, 30% mais 6% e assim por diante. Gostaria que me ajudassem nisso se possível. Grato desde já.

  • Membro VIP
Postado

Acho que isso aqui vai te servir bem. abração.

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define MAX 30;

typedef struct produtos

{

char nome_produto;

int ano_compra;

int ano_atual;

float preco_produto;

}produtos;

int main()

{

//------------------Declaraçao e definiçao e variaveis-----------------------------------------------------------------------//

float diferenca_anos;

float porcentagem;

char opcao;

int i=0;

//--------------------------------------------------------------------------------------------------------------------------//

printf("Quantos produtos deseja acrescentar?\n");

int tamanho;

scanf("%d",&tamanho);

produtos base[tamanho];

for(i=0;i<(tamanho);i++)

{

printf("Insira os dados necessarios para a base:\n");

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

fflush(stdin);

scanf("s",&base.nome_produto);

fflush(stdin);

printf("\nDigite o ano da compra:");

fflush(stdin);

scanf("%d",&(base.ano_compra));

fflush(stdin);

printf("\nDigite o ano atual:");

scanf("%d",&base.ano_atual);

fflush(stdin);

printf("\nDigite o preco do produto:\n");

fflush(stdin);

scanf("%f",&base.preco_produto);

//-----------------------------------------------------------------------------------------------------------------------//

diferenca_anos=((base).ano_atual - (base).ano_compra);

porcentagem =((30+diferenca_anos)/100);

porcentagem=(1 + porcentagem );

base.preco_produto=(base.preco_produto)*(porcentagem);

//-----------------------------------------------------------------------------------------------------------------------//

}

for(i=0;i<(tamanho);i++)

{

printf("Produto:< %d > Preco: %f\n",i,base.preco_produto);

}

}

Postado

galera, estou com dificuldade em C++, é que eu estudando atrves de apostilas bixadas da net, e quero resolver um programa que verifique o digito do RG.:confused: EX:45876321 9, quero saber se o dito, 9, estar correto o programa é essim.

#include<stdio.h>

#include<conio.h>

main()

{

int n,d1=0,d2=0,d3=0,d4=0,d5=0,d6=0,d7=0,d8=0,soma=0;

do{

printf("\n digite um nº inteiro de oito digitos\n");

scanf("%i",&n);

}while((n<10000000)||(n>99999999));

d1=n/10000000*8;

d2=(n/10000000%100000)*7;

d3=(n%10000000)/100000*6;

d4=(n%10000000)%100000%10*5;

d5=(n%510000000)%100000*4;

d6=(n%510000000)%100000*3;

d7=(n%510000000)%100000*2;

d8=(n%510000000)/100000*1;

soma=(d1+d2+d3+d4+d5+d6+d7+d8)/11;

printf("\n digito :%i\n",soma);

getch();

}

Postado

Olá Plateu, td bem?

Compilei esse programa que você postou aí, porém ele deu alguns erros na hora de compilar, mas eu descobri o que estava errado no meu que eu estava fazendo, e agora já está td certo. E valeu aí pela atenção, depois vou ver se descubro o que pode estar errado aí no que você postou ou se o problema está no meu compilador. Muito grato.

Abraços . . . T+!

Postado

simplificando mais:

#include <stdio.h>

#define desconto 30

int main(void)

{

float valor_produto;

int ano,ano_atual,total_desconto;

printf("Entre com valor do produto: ");

scanf("%f",&valor_produto);

printf("Entre com ano do produto: ");

scanf("%d",&ano);

printf("Entre com ano atual: ");

scanf("%d",&ano_atual);

total_desconto = desconto + (ano_atual-ano);

printf("\n\nValor do produto com desconto de %d: %0.2f\n\n",total_desconto,(valor_produto*total_desconto)/100);

return 0;

}

Postado
Acho que isso aqui vai te servir bem. abração.

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define MAX 30;

typedef struct produtos

{

char nome_produto;

int ano_compra;

int ano_atual;

float preco_produto;

}produtos;

int main()

{

//------------------Declaraçao e definiçao e variaveis-----------------------------------------------------------------------//

float diferenca_anos;

float porcentagem;

char opcao;

int i=0;

//--------------------------------------------------------------------------------------------------------------------------//

printf("Quantos produtos deseja acrescentar?\n");

int tamanho;

scanf("%d",&tamanho);

produtos base[tamanho];

for(i=0;i<(tamanho);i++)

{

printf("Insira os dados necessarios para a base:\n");

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

fflush(stdin);

scanf("s",&base.nome_produto);

fflush(stdin);

printf("\nDigite o ano da compra:");

fflush(stdin);

scanf("%d",&(base.ano_compra));

fflush(stdin);

printf("\nDigite o ano atual:");

scanf("%d",&base.ano_atual);

fflush(stdin);

printf("\nDigite o preco do produto:\n");

fflush(stdin);

scanf("%f",&base.preco_produto);

//-----------------------------------------------------------------------------------------------------------------------//

diferenca_anos=((base).ano_atual - (base).ano_compra);

porcentagem =((30+diferenca_anos)/100);

porcentagem=(1 + porcentagem );

base.preco_produto=(base.preco_produto)*(porcentagem);

//-----------------------------------------------------------------------------------------------------------------------//

}

for(i=0;i<(tamanho);i++)

{

printf("Produto:< %d > Preco: %f\n",i,base.preco_produto);

}

}

e so uma recomendação.

não é aconselhavel usa fflush(stdin)

a razão leia:

http://www.gidnetwork.com/b-57.html

  • Membro VIP
Postado

Perdi um projeto por n ter usado uma vez... o programa requeria umd ado do usuario mas n o deixava digitar... ficamos horas pra descobrir que era uma alopraçao com o buffer do teclado e que um fflush ou flushall resolveria... Em cada integraçao de informações é recomendavel limpar o vuffer...

e so uma recomendação.

não é aconselhavel usa fflush(stdin)

a razão leia:

http://www.gidnetwork.com/b-57.html

Postado

fflush() usa-se somente para dados de saída e não de entrada.

Eu costumo usar getchar() depois de um scanf() funciona perfeitamente!

Arquivado

Este tópico foi arquivado e está fechado para 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!