Ir para conteúdo

Scania_13

Membros
  • Postagens

    3
  • Registro em

  • Última visita

Conquistas de Scania_13

1

Reputação

  1. Quando imprimo a lista de produtos são impressos apenas o último item cadastrado e um lixo de memória. #include <string.h> #include <stdlib.h> struct Produtos{ char nome[60]; float precoCompra; float precoVenda; float lucro; }; float Lucro(float venda, float compra){ float lucro; lucro = venda - compra; lucro = (lucro / venda) * 100; return lucro; } int main(){ struct Produtos produto[4]; int flag, aux = 0; int contlucro20 = 0, contlucro2030 = 0, contlucro30 = 0; int i; while (flag != 0){ //Cadastrando produtos: aux++; for(i = 0; i < aux; i++){ fflush(stdin); printf("\nProduto: "); fgets(produto[i].nome, 60, stdin); printf("\nPreco de Compra: "); scanf("%f", &produto[i].precoCompra); printf("\nPreco de Venda: "); scanf("%f", &produto[i].precoVenda); produto[i].lucro = Lucro(produto[i].precoVenda, produto[i].precoCompra); printf("\nLucro: %.2f%%", produto[i].lucro); if (produto[i].lucro < 20){contlucro20++;} else if (20 >= produto[i].lucro && produto[i].lucro <= 30){contlucro2030++;} else if(produto[i].lucro > 30){contlucro30++;} printf("\nDigite 0 para encerrar ou 1 para continuar: "); scanf("%d", &flag); if(flag == 0){break;} } } //Imprimindo lista de produtos: printf("\nLista de produtos: \n"); for(i = 0; i < aux; i++){ printf("\nProduto: %s", produto[i].nome); printf("\nPreco de Compra: %.2f", produto[i].precoCompra); printf("\nPreco de Venda: %.2f", produto[i].precoVenda); printf("\nLucro: %.2f%%\n", produto[i].lucro); } printf("\nNumero de produtos com lucro menor que 20%%: %d", contlucro20); printf("\nNumero de produtos com lucro entre 20%% e 30%%: %d", contlucro2030); printf("\nNumero de produtos com lucro maior que 30%%: %d", contlucro30); return 0; }
  2. Estou tentando descobrir os problemas de alguns códigos em assemble, porém não estou conseguindo resolver alguns que são: mov ax, [si][di];mov ds, cs; e mov ax, [si+di+0]. Os erros que aparecem são: illegal index mode (mov ax, [si][di]) illegal use of segment register (mov ds, cs | mov ax, [si+di+0])
×
×
  • Criar Novo...