Ir ao conteúdo
  • Cadastre-se

Criação de Programa em C ++


Posts recomendados

Pessoal, boa tarde, 

Sou novo aqui no Clube, e também iniciante em programação.

Estou tendo dificuldade para criar o programa solicitado a seguir.

Já tentei de várias formas, usando listas, arvores. grafos. fila...

Ainda não achei uma solução para criar,

Minha dificuldade estrar em criar o : Carro e vincular a velocidade e a faixa.

E em como vou alterar a velocidade e a faixa. 

Ainda preciso listar os carros com suas devidas faixas e velocidades.

 

"Programe uma estrutura de dados criando funções para inserir um veículo, remover um veículo, verificar se a estrutura de dados está vazia ou cheia, procurar um veículo, alterar velocidade de um veículo, alterar faixa do veículo."

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

@Marcelo Jose Soares      você vai fazer usando ponteiro ou apenas struct ?   e quando você diz inserir um veículo, significa que você quer a marca do veículo e a velocidade desse veículo e o que seria a faixa do veículo ? seria a faixa de preço?

   não podemos te dar um código pronto, pois é contra as regras do fórum, então se você tiver um código, poste ele aqui para podermos ver como está e em que podemos ajudar .

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

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

Olá, a criação do programa é livre, pode ser por lista, arvore, ponteiros, só struct, depende de como aprendemos.

Sobre a faixa, é o local onde o carro vai andar, pista 1 ou pista 2

Seria assim, o Carro (aqui eu pensei em usar a placa ex: ) Em qual faixa ele irá andar e qual sua velocidade.

O que eu tenho criado é isso por enquanto.Porém, se testarem vão perceber que nem se quer ele está listando os itens. A lista sempre aparece vazia.

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

void carros();
char menu();
void titulo(char *);
void pausa();

void main()
{
    char op;
    do 
    {
        op = menu();
    }
    while (op != '0');
}

char menu()
{
    char op;
    titulo("MENU");
    printf("0 - Encerrar Programa\n");
    printf("1 - Iniciar Programa\n");
    printf("\nEscolha a opcao: ");
    op = _getche();
    switch (op)
    {
    case '0': break;
    case '1': carros(); break;
    default: printf("\nOpcao Invalida!"); break; pausa(); break;
    }
    return op;
}

void titulo(char * texto)
{
    system("cls");
    printf("------------------------------------\n");
    printf("Powerd by Marcelo J. Soares\n");
    printf("%s\n", texto);
    printf("------------------------------------\n");

}

void pausa()
{
    printf("\nTecle algo para sair\n");
    _getch();
}

void carros()
{
    struct carro
    {
        int placa;
        int velocidade;
        int faixa;
    };

    struct carro c[10];

    int i=0;
    int f;
    int t = 0;
    char op;
    titulo("CONTROLE DE TRAFEGO");
    printf("1 - Inserir Carros\n");
    printf("2 - Listar Carros\n");
    printf("3 - Excluir Carros\n");
    op = _getche();
    switch (op)
    {
    case '1':
        titulo("Inserir Carros");
        printf("Digite a Quantidade de carros: ");
        scanf_s("%d", &t);
        if (t < 10)
        {
            for (i = 0; i < t; i++)
            {
                printf("Informe os dados: %d\n", i + 1);
                printf("Numeral da Placa: ");
                scanf_s("%d", &c.placa);
                printf("KM: ");
                scanf_s("%d", &c.velocidade);
                printf("Escolha sua Pista [1] Faixa [2] Faixa: ");
                scanf_s("%d", &f);
                if (f >= 3)
                    i = t;
                else if (f == 1)
                    c.faixa = f;
                if (f == 2)
                    c.faixa = f;
                if (i == t)
                    printf("Pista Inexistente\n");
                else
                {
                    printf("\n\n");
                    printf("Os dados lidos foram: \n");
                    printf("Numeral da placa: %d\n", c.placa);
                    printf("Velocidade KM: %d\n", c.velocidade);
                    printf("Pista Escolhida: %d\n", c.faixa);
                    printf("----------------------------\n");
                }
            }
        }
        else if (t >= 10)
        {
            printf("Limite de carros atingindo!");
        }
        pausa();
        break;
    case '2':
        titulo("Listar Carros");
        if (t < 10)
        for (i = 0; i < t; i++)
        {
            printf("O carro %d esta trafegando na faixa %d ha %d km por hora\n", c.placa, c.faixa, c.velocidade);
        }
        pausa();
        break;
    }
} 

 

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

@Marcelo Jose Soares      o struct precisa ficar no início antes da main pois se ele estiver dentro da main ele será zerado enquanto o programa estiver sendo executado e isso  causa erros,   e na hora que fizer referencia ao struct precisa colocar em qual posição está o dado,  [ i ]  ,  na hora do scanf e no printf , e o  scanf não tem um _s no final, é apenas scanf mesmo.   e na hora de listar a lista estava  vazia por o valor de   t  era zero e o for começava em zero e ia enquanto i menor que  t  , então de zero até zero não tinha nada mesmo , então cloque a variável de controle cont .

e você precisa de uma variável para controlar a quantidade de carros cadastrados, então coloquei essa  cont .

  seu código com algumas modificações ficaria assim :

#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <locale.h>
void carros();
char menu();
void titulo(char *);
void pausa();
struct carro
    {
        setlocale(LC_ALL,"");
        int placa;
        int velocidade;
        int faixa;
    };
    struct carro c[10];
int cont = 0;
int main()
{
    char op;
    do
    {
        op = menu();
    }
    while (op != '0');
}
char menu()
{
    char op;
    titulo("\n       MENU");
    printf("0 - Encerrar Programa\n");
    printf("1 - Iniciar Programa\n");
    printf("\nEscolha a opcao: ");
    do{
        op = _getche();
    }while(op<48||op>49);
    switch (op)
    {
    case '0': break;
    case '1': carros(); break;
    default: printf("\nOpcao Invalida!"); /*break;*/ pausa(); break;
    }
    return op;
}
void titulo(char * texto)
{
    system("cls");
    printf("------------------------------------\n");
    printf("Powered by Marcelo J. Soares\n");
    printf("%s\n", texto);
    printf("------------------------------------\n");
}
void pausa()
{
    fflush(stdin);
    printf("\nTecle algo para sair\n");
    _getch();
}
void carros()
{
    int i=0,t=0,j;
    int f,placa;
    char op;
    titulo("CONTROLE DE TRAFEGO");
    printf("1 - Inserir Carros\n");
    printf("2 - Listar Carros\n");
    printf("3 - Excluir Carros\n");
    op = _getche();
    switch (op)
    {
    case '1':
        titulo("Inserir Carros");
        printf("Digite a Quantidade de carros: ");
        scanf("%d", &t);
        if (t < 10)
        {
            for (i = 0; i < t; i++)
            {
                printf("Informe os dados: %d\n", i + 1);
                printf("Numeral da Placa: ");
                scanf("%d", &c[i].placa);
                printf("KM: ");
                scanf("%d", &c[i].velocidade);
                printf("Escolha sua Pista [1] Faixa [2] Faixa: ");
                scanf("%d", &f);
                if (f >= 3)
                    i = t;
                else if (f == 1)
                    c[i].faixa = f;
                if (f == 2)
                    c[i].faixa = f;
                if (i == t)
                    printf("Pista Inexistente\n");
                else
                {
                    printf("\n\n");
                    printf("Os dados lidos foram: \n");
                    printf("Numeral da placa: %d\n", c[i].placa);
                    printf("Velocidade KM: %d\n", c[i].velocidade);
                    printf("Pista Escolhida: %d\n", c[i].faixa);
                    printf("----------------------------\n");
                }
                cont++;
            }
        }
        else if (t >= 10)
        {
            printf("Limite de carros atingindo!");
        }
        pausa();
        break;
    case '2':
        titulo("Listar Carros");
        if (cont < 10){
            for (i = 0; i < cont; i++)
            {
                printf("O carro %d esta trafegando na faixa %d ha %d km por hora\n",c[i].placa,c[i].faixa,c[i].velocidade);
            }
        }
        pausa();
        break;
    case '3':
        titulo("Listar Carros");
        printf("Vamos Excluir Um Carro\n");
        printf("Informe O Numeral Da Placa: ");
        scanf("%d",&placa);
        for(i=0;i<cont;i++){
            if(placa==c[i].placa){
                for(j=i;j<cont;j++){
                    c[j] = c[j+1];
                }
                cont--;
                break;
            }
        }
        printf("Essa Placa Não Foi Cadastrada, Escolha Outra.   Tecle");getch();
        break;
    }
}

 

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