Ir ao conteúdo
  • Cadastre-se

Contar variavel utilizando uma struct


tiscomen

Posts recomendados

Ola pessoal, Sou novato aqui no forum, gostaria de pedir ajuda num programa que estou desenvolvendo para um trabalho academico, portanto o contador da variavel "s" não está funcionando, segue o enunciado do exercicio: 

Crie um programa que contenha uma struct doceira que contém os seguintes atributos:

tipo de doce

preço

marca

dietético (aceita os valores: sim ou não)

 

"O programa deverá ler 5 doceiras e contar quantos são dietéticos."

 

Codigo C++

 

#include <stdio.h>
#include <string.h>
struct doceira
{
char tipo[20], marca[20], dietetico[5];
float preco, soma;
};
int main ()
{
doceira doc[5];
int i;
int soma=0;
for (i = 0; i < 5; i++)
{
printf("\nInforme o tipo de doce: ");
fflush(stdin);
fgets(doc.tipo,20,stdin);
printf("Informe seu preco: ");
scanf("%f",&doc.preco);
printf("Informe sua marca: ");
fflush(stdin);
fgets(doc.marca,20,stdin);
printf("Informe se é dietetico: ");
fflush(stdin);
scanf(doc.dietetico,5,stdin);
if (doce.dietetico == 's')
{
soma=soma+1;

}
}
printf ("%d, Quantidade dieteticos: ",soma);
return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Agora funcionou, So não estou conseguindo fazer contar os dieteticos "s", ele conta todos os valores informados. 

 

#include <stdio.h>
#include <string.h>
struct doceira
{
char tipo[20], marca[20], dietetico[5];
float preco, soma;
};
int main ()
{
doceira doc[2];
int i;
int soma=0;
for (i = 0; i < 2; i++)
{
printf("\nInforme o tipo de doce: ");
fflush(stdin);
fgets(doc.tipo,20,stdin);
printf("Informe seu preco: ");
scanf("%f",&doc.preco);
printf("Informe sua marca: ");
fflush(stdin);
fgets(doc.marca,20,stdin);
printf("Informe se é dietetico: ");
fflush(stdin);
scanf("%c", &doc.dietetico,5,stdin);
if (doc.dietetico == "%d",'s')
{
soma=soma+1;
}
}
printf ("Quantidade dieteticos: %d",soma);
return 0;
}

Link para o comentário
Compartilhar em outros sites

Teste e compra com o código abaixo:

#include <stdio.h>
#include <string.h>
struct doceira
{
    char tipo[ 20 ], marca[ 20 ], dietetico;
    float preco, soma;
};
int main ( void )
{
    struct doceira doc[ 2 ];
    int i;
    int soma = 0;
    for ( i = 0; i < 2; i++ )
        {
            printf( "\nInforme o tipo de doce: " );
            fgets( doc[ i ].tipo,20,stdin );
            
            printf( "Informe seu preco: " );
            scanf( "%f",&doc[ i ].preco );
            
            fflush( stdin );
            
            printf( "Informe sua marca: " );
            fgets( doc[ i ].marca,20,stdin );
            
            fflush( stdin );
            
            printf( "Informe se é dietetico: " );
            char chChoose = '\0';
            while( (chChoose = getchar()) != 's' && chChoose != 'n' )
            	printf( "\rEntre s- Sim, n- Nao: " );
          	while( '\n' != getchar() )continue;
            doc[ i ].dietetico = chChoose;

            if ( doc[ i ].dietetico == 's' )
                {
                    soma = soma + 1;
                }
        }
    printf ( "Quantidade dieteticos: %d",soma );
    return 0;
}

 

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...