Ir ao conteúdo
  • Cadastre-se

PereiraTiago

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

posts postados por PereiraTiago

  1. Eu tenho uma biblioteca que ordena por char, porém preciso alterar ela para ordenar por nome e ID

    Alguém pode me ajudar, comecei alterar só que não identifico o erro

     

    #include <string.h>
    #include <conio.h>
    #include <iostream>
    using namespace std;

     

    struct Cliente {
    char nomeCliente[30]; 
    int ordemChegada;
    };

     

    struct NoLO {
    Cliente cliente;
    };

     

    void criarLO (NoLO *&LO) {
        LO = NULL;
    }

    int loVazia(NoLO *LO) {
        return (LO == NULL);
    }

    //INSERIR

    void inserirNaLO (NoLO *&LO, Cliente c) {
        NoLO *aux = new (NoLO);
        strcpy(aux->nomeCliente,c.nomeCliente);
        aux->IDCliente=c.IDCliente;
        
        NoLO *vizE = NULL;
        NoLO *vizD = LO;
        
        while ((vizD != NULL) && (c > vizD->aux->nomeCliente)) {
            vizE = vizD;
            vizD = vizD->prox;
        }
        
        if (vizE == NULL) {
            LO = aux;
        }
        else {
            vizE->prox = aux;
        }
        aux->prox = vizD;    
    }

    //REMOVER

    void removerDaLO (NoLO *&LO, Cliente c) {
        
        NoLO *vizE = NULL;
        NoLO *vizD = LO;
        
        
        while ((vizD != NULL) && (c > vizD->info)) {
            vizE = vizD;
            vizD = vizD->prox;
        }
        
        if (vizD != NULL && vizE == NULL) {
            LO = LO->prox;
            delete(vizD);
            printf("%c removido!", c);
            return;
        }
        
        else if (vizD != NULL) {    
            NoLO *aux = vizD;
            vizD = vizD->prox;
            delete(aux);
        
            if (vizD != NULL) 
                vizE->prox = vizD;
            
            else {
                if (vizE == NULL) 
                    LO = vizD;                
                else
                    vizE->prox = vizD;
            }
            printf("%s removido!", c);
            return;
        }
        
        printf("%c nao localizado na lista!", c);
    }

    //IMPRIMIR

    void imprimirLO (NoLO *LO) {
        system("cls");
        if (!loVazia(LO)) {    
            NoLO *aux = new (NoLO);
            aux = LO;        
            while (aux != NULL) {
                printf(" %s, %i -> ", aux->cliente.nomeCliente, aux->cliente.ordemChegada);
                aux = aux->prox;
            }
        }
        else
            printf("Lista vazia!");
        printf("\n\n");
        system("pause");
    }

    • Curtir 1
  2. <>

    Olá, quando eu cadastro os dois vendedores, faço a a exibição dos vendedores cadastrados porém, não esta retornando o id e nome que passei.

    *** Cadastrar Vendedor ***

    Digite o ID do vendedor: 1

    Digite o nome do vendedor: s

    Digite o ID do vendedor: 2

    Digite o nome do vendedor: b

    *** Vendedor Cadastrado ***

    ID Vendedor:

    Nome Vendedor:

    ID Vendedor:

    Nome Vendedor:

    O que pode ser?

    ______________________________________________

    #include <iostream>

    #include <stdio.h>

    #include <string.h>

    #include "lo.h"

    struct Vendedor {

    int IDVendedor;

    char nomeVendedor[30];

    };

    struct Produto {

    int IDProduto;

    char descricao[30];

    float preco;

    };

    struct Cliente {

    int IDCliente;

    char nomeCliente[30];

    };

    struct Vendas {

    Vendedor vendedores[2];

    Produto produtos[2];

    Cliente clientes[2];

    };

    struct Vendas v;

    void CadastroVendedor(){

    printf("\n*** Cadastrar Vendedor ***\n");

    for(int i=0;i<2;i++){

    printf("Digite o ID do vendedor: "); fflush(stdin); scanf("%i", &v.vendedores.IDVendedor);

    printf("Digite o nome do vendedor: "); fflush(stdin); scanf("%c", &v.vendedores.nomeVendedor);

    }

    printf("\n*** Vendedor Cadastrado ***\n");

    for(int i=0;i<2;i++){

    printf("\nID Vendedor: ", &v.vendedores.IDVendedor);

    printf("\nNome Vendedor: ", &v.vendedores.nomeVendedor);

    }

    }

    int main(void) {

    int op;

    char opc;

    do{

    printf("\n ***** Lanchonete ***** \n\n");

    printf(" O que voce deseja fazer? \n");

    printf(" (1) Cadastrar Vendedor \n");

    printf(" (2) Cadastrar Produto \n");

    printf(" (3) Cadastrar Cliente \n");

    printf(" (4) Realizar uma Venda \n");

    printf(" (5) Exibir os Relatorios \n");

    printf("\nDigite o numero da opicao desejada: \n"); scanf(" %i", &op);

    switch(op){

    case 1:{

    CadastroVendedor();

    break;

    }

    case 2:{

    printf("\n*** Cadastrar Produto ***\n");

    break;

    }

    case 3:{

    printf("*** Cadastrar Cliente ***");

    break;

    }

    case 4:{

    printf("*** Realizar uma Venda ***");

    break;

    }

    case 5:{

    printf("*** Realizar uma Venda ***");

    break;

    }

    }

    printf("\nDeseja Retornar ao menu? S/N:"); fflush(stdin); scanf("%c",&opc);

    } while (toupper(op)!='N');

    return 0;

    }

  3. Alguém pode me ajudar a gravar os produtos em um arquivo e exibir a lista dos produtos cadastrados?

     

     

    #include <iostream>
    #include <iostream>

    using namespace std;


    struct Produto {
        char descricao[50];
        float valor;
        int unidade;
        int id;
    };
    struct Fornecedor {
        
        char nome[50];
        char ramo[50];
        long cnpj;
        Produto produtos;
    };

    int main() {
        
        char op;
        char ope;
        Fornecedor f;
        FILE *file;
        char caminho[100];

        
        do{

        printf("     *****    MANIPULACAO DE PRODUTOS    ***** \n\n");
        printf("     O que voce deseja fazer? \n");
        printf("     (1) Criar Arquivo \n");
        printf("     (2) Cadastrar Produtos \n");
        printf("     (3) Listar Produtos  \n");
        printf("     (4) Exibir produtos menor que 10 \n");
        printf("     (5) Sair \n");
        printf("Digite o numero da opicao desejada \n");
        scanf("%d",&op);
        

        switch(op){
     
            case 1:{
                 printf("Criar Arquivo\n\n");
                 printf("Onde esta o arquivo?");
                scanf("%s", &caminho);
                file = fopen(caminho, "w+b");
                if (file == NULL){
                    printf("Erro ao abrir o arquivo.");
                }else{
                    printf("Arquivo Criado!");
                }
            
                break;
                }
            case 2:{
                 printf("Cadastrar Fornecedor\n\n");
                 printf("Empresa: "); scanf("%s",&f.nome);
                printf("Ramo: ");    scanf("%s",&f.ramo);
                printf("CNPJ: ");    scanf(" %ld ", &f.cnpj);     
                do{
                    printf("Cadastrar Produtos\n\n ")
                    printf("ID: ");        fflush(stdin); scanf(" %i", &f.produtos.id);
                    printf("Descricao: "); fflush(stdin); scanf(" %s", &f.produtos.descricao);
                    printf("Unidades: ");  fflush(stdin); scanf(" %f", &f.produtos.unidade); 
                    printf("Valor: ");     fflush(stdin); scanf(" %f", &f.produtos.valor); 
                    fwrite(&f , sizeof(f) , 1 , file);
                    printf("Deseja cadastrar outro produto? S/N:");
                    scanf(" %c ",&ope);    
                }while(toupper(op)!='N' );
                rewind(file);
                break;
                }
            case 3:{
                printf("Lista de Produtos\n\n");
             
                break;
                }
            case 4:{
                 printf("Exibir produtos que a unidade e menor que 10\n\n");
                break;
                }
            default:
                printf("Saindo!\n");
            
        }
        
        printf("Deseja continuar? S/N:");
        scanf(" %c ",&op);
        
        }while(toupper(op)!='N' );
        

    system("PAUSE");
    return 0;
    }
     

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!