Ir ao conteúdo
  • Cadastre-se

C++ tecnicas de pogramação c/c++


Posts recomendados

 

Em linguagens de programação estruturadas, tal como a linguagem C/C++ temos a possibilidade de organizar as informações a serem manipuladas sob dois aspectos: organização homogênea e organização heterogênea. No viés homogêneo, todas as informações, possuidoras de um único tipo de dados, estão dispostas em uma estrutura denominada vetor. E, por sua vez, no viés heterogêneo, as informações, podendo possuir tipagens distintas, estão armazenadas em estruturas de dados denominadas como “struct”.

Com base nisso, suponha que é necessário armazenar informações relacionadas à veículos, totalizando, no máximo, 10 veículos. Para cada veículo, deverão ser fornecidos os seguintes dados:

-1-marca do veículo

2-modelo - ano de fabricação

3-placa (formato XXX-YYYY; onde X denota as letras e Y denota os números da placa).

O sistema deverá oferecer, ao usuário, as seguintes funcionalidades:

4-Listar os veículos cadastrados;

5-Inserir um novo veículo;

6-Listar os veículos filtrando-se por ano de fabricação;

7-Listar os veículos com o ano de fabricação acima de um certo valor especificado pelo usuário

. 8-Listar os veículos filtrando-se pelo modelo.

O sistema deverá armazenar os veículos ordenados pelo ano de fabricação, ou seja, ao inserir um novo veículo, este deve ser inserido em ordem crescente de ano de fabricação.

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Crislaine Gomes Imamura disse:

linguagem C/C++ 

 

Não existe essa linguagem C/C++.

 

[off-topic] São linguagens bem distintas. Ou C, ou C++ ou C#, neste forum por exemplo, são diferentes animais. Tem trechos de programas em C++ que são idênticos a java, por exemplo. Tem trechos de C que compilam sem alteração em C++. C++ foi derivado de C, 40 anos atrás. C# tem muito de C++ e java e foi uma resposta do criador a problemas de licenciamento com a Sun, criadora ho java, décadas atrás. E a compatibilidade era proposital para facilitar a adoção de C++ como alternativa a C. Isso sem considerar que os criadores de uma e outra trabalhavam a algumas paredes de distância.

 

Qual linguagem vai usar?

 

2 horas atrás, Crislaine Gomes Imamura disse:

No viés homogêneo, todas as informações, possuidoras de um único tipo de dados, estão dispostas em uma estrutura denominada vetor. E, por sua vez, no viés heterogêneo, as informações, podendo possuir tipagens distintas, estão armazenadas em estruturas de dados denominadas como “struct”.

Com base nisso, suponha que é necessário armazenar informações relacionadas à veículos

 

folclórica essa introdução, dizendo que um vetor é homogêneo e estruturas são heterogêneas para depois propor um vetor (homogêneo) de 10 structs (heterogêneas). Genial :( . Podiam não ter escrito nada.

 

2 horas atrás, Crislaine Gomes Imamura disse:

-1-marca do veículo

2-modelo - ano de fabricação

3-placa (formato XXX-YYYY; onde X denota as letras e Y denota os números da placa).

 

Pois é: faça o simples: um vetor de 10 struct, em C ou uma classe em C++. Já tem os dados e as funções estão logo abaixo.

 

Qual a sua dúvida em relação a isso? Pode usar sort em C ou qsort em C++ e variar a rotina de comparação, usando...

 

2 horas atrás, Crislaine Gomes Imamura disse:

4-Listar os veículos cadastrados;

5-Inserir um novo veículo;

6-Listar os veículos filtrando-se por ano de fabricação;

7-Listar os veículos com o ano de fabricação acima de um certo valor especificado pelo usuário

 

 

ano ou modelo.

 

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
Em 09/08/2021 às 21:54, Crislaine Gomes Imamura disse:

 

Em linguagens de programação estruturadas, tal como a linguagem C/C++ temos a possibilidade de organizar as informações a serem manipuladas sob dois aspectos: organização homogênea e organização heterogênea. No viés homogêneo, todas as informações, possuidoras de um único tipo de dados, estão dispostas em uma estrutura denominada vetor. E, por sua vez, no viés heterogêneo, as informações, podendo possuir tipagens distintas, estão armazenadas em estruturas de dados denominadas como “struct”.

Com base nisso, suponha que é necessário armazenar informações relacionadas à veículos, totalizando, no máximo, 10 veículos. Para cada veículo, deverão ser fornecidos os seguintes dados:

-1-marca do veículo

2-modelo - ano de fabricação

3-placa (formato XXX-YYYY; onde X denota as letras e Y denota os números da placa).

O sistema deverá oferecer, ao usuário, as seguintes funcionalidades:

4-Listar os veículos cadastrados;

5-Inserir um novo veículo;

6-Listar os veículos filtrando-se por ano de fabricação;

7-Listar os veículos com o ano de fabricação acima de um certo valor especificado pelo usuário

. 8-Listar os veículos filtrando-se pelo modelo.

O sistema deverá armazenar os veículos ordenados pelo ano de fabricação, ou seja, ao inserir um novo veículo, este deve ser inserido em ordem crescente de ano de fabricação.

 

eu to perdido nessa tarefa pode me ajudar

Link para o comentário
Compartilhar em outros sites


 

int main(int argc, char *argv[]) {

        struct carro{
        
        
    char marca[10];
    char modelo[10];
    char placa[10];
    int ano;
    
    };
   
    struct carro carro;
    int i,j;
    int vetor[10];
    int aux;
        
    for(i=0;i<10;i++);{
    printf(" /n/n----carro----/n/n");
   
    printf(" digie a marca...:");
    fgets(carro.marca,10,stdin);
    
    printf("digite o modelo....:");
    fgets(carro.modelo,10,stdin);
    
    printf("digite a placa....:");
    fgets( carro.placa,10,stdin);
    
    print("digite o ano....:");
    scanf("%d",&vetor[i]);
    

Link para o comentário
Compartilhar em outros sites

image.png.8dcfcf463ce963ff32c91a5bacace418.png

Cuidado: um ';' indica o fim do comando. Tire isso daí.

 

Use o tal botão code... E inclua todos os cabeçaljhos.

 

Veja a diferença

 

#include <stdio.h>
int main(int argc, char *argv[])
{
    struct carro
    {
        char marca[10];
        char modelo[10];
        char placa[10];
        int  ano;
    };

    struct carro carro;
    int          i, j;
    int          vetor[10];
    int          aux;

    for (i = 0; i < 10; i++)
    {
        printf(" /n/n----carro----/n/n");

        printf(" digie a marca...:");
        fgets(carro.marca, 10, stdin);

        printf("digite o modelo....:");
        fgets(carro.modelo, 10, stdin);

        printf("digite a placa....:");
        fgets(carro.placa, 10, stdin);

        print("digite o ano....:");
        scanf("%d", &vetor[i]);

 

Link para o comentário
Compartilhar em outros sites

estou tentando fazer mais esta não esta dando
 int main ()

 

typedef struct carro

 

{

  int cod;

  char marca [20];

  char modelo [20];

  int ano;

  char placa[10];

 

carro car[10];

 

 

void menu();

void inicializar();

void imprimir();

void cadastrar();

 

 

int main(int argc, char** argv) {

               setlocale(LC_ALL,"portuguese");

               int i;

               int op;

               int ano;

               int z;

               char modelo[20];

               z=0;

               ano=0;

               i=0;

               car[i].cod = 0;

               

               strcpy(car[i].marca,"NULL");

               strcpy(car[i].modelo,"NULL");

               strcpy(car[i].placa,"NULL");

               car[i].ano = 0;

               

               do

               

               {

    printf("\n Opções:");

    printf("\n 1. CADASTRAR VEÍCULO");

   printf("\n 2. LISTAR VEÍCULOS");

    printf("\n 3. PESQUISAR UM MODELO");

    printf("\n 4. MOSTRAR VEÍCULOS A PARTIR DE UM ANO");

    printf("\n 5. SAIR");

    printf("\n \n DIGITE A OPÇÃO: ");

    scanf("%d",&op);

   switch(op)

                             
    {
    
    case 1:

    if (car[i].cod<=9)

    {

   car[i].cod=i;

   printf("\n Digite a marca do veículo:");
   scanf("%s",&car[i].marca);

    printf("\n Digite o modelo do veículo:");
    scanf("%s",&car[i].modelo);

    printf("\n Digite a placa do veículo:");
    scanf("%s",&car[i].placa);

    printf("\n Digite o ano do veículo:");
    scanf("%d",&car[i].ano);

    i=i+1;
                                                                             
                                                                                                                                                         
   }

                                                            
    else

                                                             
    {

    printf("\n Limite de cadastro é 10!");

    }

                                                            
    break;

    case 2:

    for(int x=0; x<i; x++)

                                                                             
    {

    printf("\n A marca do veículo é: %s",car[x].marca);

    printf("\n O modelo do veículo é: %s",car[x].modelo);

    printf("\n O ano do veículo é: %d",car[x].ano);

    printf("\n A placa do veículo é: %s",car[x].placa);

    printf("\n\n =================================== \n \n");

    }

    break;

    case 3:

    printf("\n   INSIRA O MODELO A SER PESQUISADO:");

    scanf("%s",&modelo);

    for (int x=0; x<i; x++)

    {

   if (strcmp(car[x].modelo,strlwr(modelo)) == 0)

    {

     printf("\n A marca do veículo é: %s",car[x].marca);

    printf("\n O modelo do veículo é: %s",car[x].modelo);

    printf("\n O ano do veículo é: %d",car[x].ano);

    printf("\n A placa do veículo é: %s",car[x].placa);

    printf("\n\n =================================== \n \n");

                                                                                                                             
    z++;

    }

                                                                                                             

    }

                                                                                             

    if (z==0)

                                                                                             

    {

    printf("\n NÃO FOI ENCONTRADO O MODELO %s \n\n",modelo);

    }

                                                                                             

    else

                                                                                             

    {

    z=0;

    }

                                                                             

    break;

                                                                             
    case 4:

    printf("\n     INSIRA O ANO A SER PESQUISADO:");

    scanf("%d",&ano);

                                                                                             

    for (int x=0; x<i; x++)

    {

    if (car[x].ano >= ano)

                                                                                                             
    {

    printf("\n A marca do veículo é: %s",car[x].marca);

    printf("\n O modelo do veículo é: %s",car[x].modelo);

    printf("\n O ano do veículo é: %d",car[x].ano);

    printf("\n A placa do veículo é: %s",car[x].placa);

    printf("\n\n =================================== \n \n");

                                                                                                                             

    z++;

    }

    }

                                                                                             

    if (z==0)

                                                                                            
    {

   printf("\n NÃO FOI ENCONTRADO VEÍCULOS ACIMA DE %d \n\n",ano);

    }

                                                                                             

    else

                                                                                            
    {

    z=0;

    }

    break;

                                                                             
    default:

    printf("\n Opção não existe");

                                                                                             

    break;

    }

    }

                             

    while (op!=5 && i<=9);

    if (i==9)

                             

    {

    printf("\n \n LIMITE DE VEÍCULOS ALCANÇADO! \n \n \n");

    }

    for (int y=0; y<i; y++)

                             

    {

    printf("\n A marca do veículo é: %s",car[y].marca);

    printf("\n O modelo do veículo é: %s",car[y].modelo);

    printf("\n O ano do veículo é: %d",car[y].ano);

    printf("\n A placa do veículo é: %s",car[y].placa);

    printf("\n\n =================================== \n \n");

    }
 

 

Link para o comentário
Compartilhar em outros sites

Seu programa parece incompleto.

Use o tal botão code como descrito no forum. Já mostrei isso acima.

 

Os typedef e os protótipos devem estar foram de main(), se possível em um arquivo separado.

 

Algo assim, com seu programa:

 

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

typedef struct
{
    int  cod;
    char marca[20];
    char modelo[20];
    int  ano;
    char placa[10];

}   Carro;

void menu();
void inicializar();
void imprimir();
void cadastrar();


int main(int argc, char** argv)
{
    Carro car[10];
    setlocale(LC_ALL, "portuguese");
    int  i;
    int  op;
    int  ano;
    int  z;
    char modelo[20];
    z          = 0;
    ano        = 0;
    i          = 0;
    car[i].cod = 0;

    strcpy(car[i].marca, "NULL");
    strcpy(car[i].modelo, "NULL");
    strcpy(car[i].placa, "NULL");
    car[i].ano = 0;

    do {
        printf("\n Opções:");
        printf("\n 1. CADASTRAR VEÍCULO");
        printf("\n 2. LISTAR VEÍCULOS");
        printf("\n 3. PESQUISAR UM MODELO");
        printf("\n 4. MOSTRAR VEÍCULOS A PARTIR DE UM ANO");
        printf("\n 5. SAIR");
        printf("\n \n DIGITE A OPÇÃO: ");
        scanf("%d", &op);
        switch (op)

        {
            case 1:
                if (car[i].cod <= 9)
                {
                    car[i].cod = i;
                    printf("\n Digite a marca do veículo:");
                    scanf("%s", &car[i].marca);
                    printf("\n Digite o modelo do veículo:");
                    scanf("%s", &car[i].modelo);
                    printf("\n Digite a placa do veículo:");
                    scanf("%s", &car[i].placa);
                    printf("\n Digite o ano do veículo:");
                    scanf("%d", &car[i].ano);
                    i = i + 1;
                }

                else

                {
                    printf("\n Limite de cadastro é 10!");
                }

                break;
            case 2:
                for (int x = 0; x < i; x++)

                {
                    printf("\n A marca do veículo é: %s", car[x].marca);
                    printf(
                        "\n O modelo do veículo é: %s", car[x].modelo);
                    printf("\n O ano do veículo é: %d", car[x].ano);
                    printf("\n A placa do veículo é: %s", car[x].placa);
                    printf(
                        "\n\n =================================== \n "
                        "\n");
                }
                break;
            case 3:
                printf("\n   INSIRA O MODELO A SER PESQUISADO:");
                scanf("%s", &modelo);
                for (int x = 0; x < i; x++)
                {
                    if (strcmp(car[x].modelo, strlwr(modelo)) == 0)
                    {
                        printf(
                            "\n A marca do veículo é: %s",
                            car[x].marca);
                        printf(
                            "\n O modelo do veículo é: %s",
                            car[x].modelo);
                        printf("\n O ano do veículo é: %d", car[x].ano);
                        printf(
                            "\n A placa do veículo é: %s",
                            car[x].placa);
                        printf(
                            "\n\n =================================== "
                            "\n \n");

                        z++;
                    }
                }

                if (z == 0)

                {
                    printf(
                        "\n NÃO FOI ENCONTRADO O MODELO %s \n\n",
                        modelo);
                }

                else

                {
                    z = 0;
                }

                break;

            case 4:
                printf("\n     INSIRA O ANO A SER PESQUISADO:");
                scanf("%d", &ano);

                for (int x = 0; x < i; x++)
                {
                    if (car[x].ano >= ano)

                    {
                        printf(
                            "\n A marca do veículo é: %s",
                            car[x].marca);
                        printf(
                            "\n O modelo do veículo é: %s",
                            car[x].modelo);
                        printf("\n O ano do veículo é: %d", car[x].ano);
                        printf(
                            "\n A placa do veículo é: %s",
                            car[x].placa);
                        printf(
                            "\n\n =================================== "
                            "\n \n");

                        z++;
                    }
                }

                if (z == 0)

                {
                    printf(
                        "\n NÃO FOI ENCONTRADO VEÍCULOS ACIMA DE %d "
                        "\n\n",
                        ano);
                }

                else

                {
                    z = 0;
                }
                break;

            default:
                printf("\n Opção não existe");

                break;
        }
    }

    while (op != 5 && i <= 9);
    if (i == 9)

    {
        printf("\n \n LIMITE DE VEÍCULOS ALCANÇADO! \n \n \n");
    }
    for (int y = 0; y < i; y++)

    {
        printf("\n A marca do veículo é: %s", car[y].marca);
        printf("\n O modelo do veículo é: %s", car[y].modelo);
        printf("\n O ano do veículo é: %d", car[y].ano);
        printf("\n A placa do veículo é: %s", car[y].placa);
        printf("\n\n =================================== \n \n");
    }
};  // main()

 

 

Link para o comentário
Compartilhar em outros sites

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