Ir ao conteúdo

Posts recomendados

Postado

Fala galera to com um probleminha aqui, tenho esse trabalho que e fazer um programinha em C que lê uma lista de 20 produtos e seus preços e armazena num vetor de struct, depois devo ordenar o vetor em ordem alfabética e ai meu problema inflacionar o preço dos produtos que custem menos de R$:100,00, eu fiz todo o progrma so falta isso na void atualiza, o prof deu a estrutura da main mas funçoes nos que fizemos, alguem me da um help nessa

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

#define TAM 5 

typedef struct {
char nome[80];
float preco;
} PROD;

void leitura_Produtos(PROD vet[]){
 int i;
 for (i=0;i<TAM;i++){
 	printf("\n Digite o NOME do produto da posicao %d: ",i+1);
 	fflush(stdin); 
    scanf("%[^\n]",&vet[i].nome); 
    printf("\n Digite o PRECO do produto da posicao %d: ",i+1);
    scanf("%f",&vet[i].preco); 
 }
 
}

void imprime(PROD vet[]){
 int i;
 for (i=0;i<TAM;i++){	
  printf("\n O nome do produto na posicao %d eh: %s",i+1,vet[i].nome);
  printf("\n O preco do produto na posicao %d eh: %.2f",i+1,vet[i].preco);
 }
}

void ordena_por_Nome(PROD vet[]){
 int i,j;
 char aux[80];
 float valor;
for(i=0;i<TAM;i++) 
 for(j=i+1;j<TAM;j++) 
   if (strcmp(vet[i].nome,vet[j].nome)>=1){ 
    strcpy(aux,vet[i].nome); 
    strcpy(vet[i].nome,vet[j].nome); 
    strcpy(vet[j].nome,aux); 
    
	valor = vet[i].preco; 
    vet[i].preco = vet[j].preco;
    vet[j].preco = valor;
	}
}

void atualiza (PROD vet[]){
	
}

int main(void){
	
 PROD itens[TAM]; 
 
 leitura_Produtos(itens); 
 printf("\n Os produtos lidos sao: \n");
 imprime(itens); 
 
 ordena_por_Nome(itens); 
 printf("\n\n Os produtos lidos e ordenados sao: \n");
 imprime(itens); 
 
 
	
}

 

  • Haha 1
Postado

você está usando a biblioteca string para que? presta atenção  para obter o nome você deve usar gets afinal o nome do produto não  é um inteiro

adicionado 0 minutos depois
9 horas atrás, Herbertbahia disse:

você está usando a biblioteca string para que? presta atenção  para obter o nome você deve usar gets afinal o nome do produto não  é um inteiro

@lucas.suanderhus

Postado

@lucas.suanderhus

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

typedef struct { /*//definindo a estrutura*/
	char nome[80];
	float preco;
} ficha_cadastral;

int main() {
	int i,j;
	ficha_cadastral vet_prudutos[6];

	for(i=1; i<6; i++){
	    printf("Digite nome do pruduto:\n");
	    fflush(stdin);
	    gets(vet_prudutos[i].nome);

	    printf("Digite o preco:\n");
	    fflush(stdin);
	    scanf("%d", &vet_prudutos[i].preco);


	}

	printf("\ordem alfabetica:\n");
	for(i=1; i<6; i++){
        for(j=i+1;j<6;j++){
	        if(strcoll(vet_prudutos[i].nome , vet_prudutos[j].nome) > 0 ){
                vet_prudutos[0]=vet_prudutos[i];
                vet_prudutos[i]=vet_prudutos[j];
                vet_prudutos[j]=vet_prudutos[0];
	        }
        }
	}
	for(i=1;i<6;i++){
        printf(" %s\n",vet_prudutos[i].nome);
	}
	return 0;
}

 

Postado
21 horas atrás, lucas.suanderhus disse:

e ai meu problema inflacionar o preço dos produtos que custem menos de R$:100,00

 

E o que seria? um percentual de aumento? 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!