Ir ao conteúdo
  • Cadastre-se

struct com função - erro


souLLL

Posts recomendados

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

/*
int main(int argc, char *argv[])
*/
float saldo (float n1, float n2)
{
	  float saldo;
      saldo = n1-n2;
      return(saldo);
}
struct ficha 
{
       int codigo;
       float dinheiro;
       char descricao[50];
       float preco;
//       float saldoo;
};
main ()
{
     struct ficha codigo;
     struct ficha dinheiro;
     struct ficha preco;
     struct ficha descricao;
//     struct ficha saldoo;
     float saldoo, dinheiroo, precoo;
     clrscr();
     //ficha codigo, dinheiro, descricao, preco, saldo; 
     prinft("\n Total em dinheiro: ");
     scanf("%f", &dinheiro);
     printf("\n Digite o codigo do produto: ");
     scanf ("%d", &codigo);
     printf("\n Digite a descricao do droduto: ");
     scanf ("%s", &descricao);
     printf("\n Digite o preço: ");
     scanf("%f", &preco);
     //saldo = saldo - dinheiro;
     //scanf("%f", &saldo);
     //printf(" Você comprou um produto com codigo %d, com descricao %s, com preco %f", codigo, descricao, preco);
     dinheiroo = dinheiro;
     precoo = preco;
     saldoo = saldo(dinheiroo, precoo);
     printf("O saldo é %f", saldoo);
     
     return(0);
     system("PAUSE");	
}

Ele apresenta erro na variável dinheiroo:

 

In function `main':
incompatible types in assignment  

incompatible types in assignment 

 

Podem me ajudar, to iniciando em programação, Obrigado.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Uma struct é uma espécie de estrutura que agrupa varias outras variáveis de tipos diferentes(ou iguais tambem). quando você declara 

struct ficha 
{
       int codigo;
       float dinheiro;
       char descricao[50];
       float preco;
//       float saldoo;
};

você está creando uma estrutura que contem um int que representa um código, um float que representa um valor(dinheiro), um array de char de 50 posiçoes(descrição), e um float que representa um preço. Quando dentro de main eu criar algo como:
 

int main(){
struct ficha objeto;

...

Eu poderei acessar os dados internos do objeto usando o seletor de campo dessa forma:
objeto.dinheiro = 10.90;

Se tiver que usar scanf para ler o valor se faz tal como:
scanf("%f", &objeto.dinheiro);

objeto tem todas as variáveis que você declarou na estrutura. Algumas operações que você pode fazer são:
objeto.dinheiro = 10.90
strcpy(objeto.descricao, "isso é uma descrição");
objeto.preco = 100.50;

etc etc

  • Curtir 1
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!