Ir ao conteúdo

C Programa de stand de carros e motas


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Olá, 

precisava de ajuda neste programa de stand de carros e motas, é para um trabalho.

Exercício STAND: É pretendido criarem um programa com quatro funções a serem chamadas na função main(). O programa têm que ter 2 array’s de estruturas, cada um com pelo menos 5 estruturas. Devem fazer um menu de forma a tornar o programa dinâmico.

<Menu: - “1 - Carregar valores” // inicializa(); - “2 – Listar veículos” -“1 – Carros” // listar(1); -“2 – Motas” // listar(2); -“3 – Todos” // listar(3); -“4 – Voltar para trás” // menu(); / sair - “3 - Pesquisar um veiculo” // pesquisa(); - “4 – Atualizar um veiculo” // atualiza(); - “5 – Sair”

struct carros { int tipo; // obrigatoriamente = 1 int id; // exemplo: 1 / 2 / 3 / 4… char marca[30]; // exemplo: Audi char modelo[30]; // exemplo: A5 int peso_bruto; // exemplo: 1500 char caixa[30]; // exemplo: Automática / Manual int portas; // exemplo: 2 / 4 int cilindrada; // exemplo: 2698 int potência; // exemplo: 200 char cor [15]; // exemplo: amarelo / azul / preto / branco int lotacao; // exemplo: 2 / 4 data registo; };

struct motas { int tipo; // obrigatoriamente = 2 int id; // exemplo: 1 / 2 / 3 / 4…. char marca[30]; // exemplo: Yamaha char modelo[30]; // exemplo: MT09 int peso_bruto; // exemplo: 300 char caixa[30]; // exemplo: Automática / Manual int cilindrada; // exemplo: 900 int potência; // exemplo: 120 char cor [15]; // exemplo: amarelo / azul / preto / branco int lotacao; // exemplo: 1 / 2 data registo; // estrutura com a data do registo da moto exemplo: 01-10-2020 };

struct data { int dia, mes, ano; };

Funções: int inicializa(); // função para carregar os valores para dentro das estruturas de forma automática.

void listar(int tipo); // função que vai listar o conteúdo das estruturas. Caso seja do tipo ‘3‘ lista ambos os tipos de veículos.

Int pesquisa(); // função com o intuito de pesquisar um veiculo e imprimir no ecrã os seus detalhes.

int atualiza(); // atualizar um veiculo do stand.>

Até agora ainda só fiz um bocado.

  • Obrigado 1
Postado

Motas são motocicletas, "motorbikes" em inglês, em portugal chamamos de motas.

Eu mais logo já envio o código, agora não estou neste preciso momento em casa

  • Curtir 1
Postado

 

 

#include <stdio.h>
#include <stdlib.h>
struct data {
int dia, mes, ano;
};

typedef struct {

	int tipo; //obrigatoriamente =1
	int id; // exemplo:1,2,3,4
	char marca[30]; // exemplo : audi
	char modelo[30]; // exemplo: A5
	int peso_bruto; // exemplo: 1500
	char caixa[30]; // ex: Automática ou manual
	int portas; //ex: 2 ou 4
	int cilindrada; // ex: 2698
	int potencia; //ex: 200
	char cor[15]; // ex: amarelo, azul, preto ou branco
	int lotacao; // exemplo 2 ou 4

} carros;

typedef struct {

	int tipo; // obrigatoriamente = 2
	int id; // exemplo: 1 / 2 / 3 / 4….
	char marca[30]; // exemplo: Yamaha
	char modelo[30]; // exemplo: MT09
	int peso_bruto; // exemplo: 300
	char caixa[30]; // exemplo: Automática / Manual
	int cilindrada; // exemplo: 900
	int potencia; // exemplo: 120
	char cor [15]; // exemplo: amarelo / azul / preto / branco
	int lotacao; // exemplo: 1 / 2

} motas;

int inicializa() {
struct carros;
struct motas;

	carros agenda[] = {
{ "Porsche", "911", "2000", "manual", "2" (9, 10, 2000) },
{ "Mazda", "244655432", {15, 11, 2002} },
{ "Audi", "244655445", { 9, 5, 2016} },
{ "Mercedes", "244655490", {18, 3, 1968} },
{ "volkswagen", "golf",  "4", "12", "" (5, 06, 2017) }
};
return 0;
}

void listar(int tipo){
}

int pesquisa(){
}

int atualizar(){
}


void menu(){

  system("color 3");
printf("1-- Carregar valores \n"); //inicializa
printf("2-- Listar veiculos \n"); 
	printf("1-- Carros"); //listar(1)
	printf("2-- Motas"); //listar(2)
	printf("3-- Todos"); //listar(3)
	printf("4-- voltar para trás"); //menu(); /sair
printf(" 3 - Pesquisar um veiculo \n"); // pesquisa();
printf("4 – Atualizar um veiculo\n"); // atualiza();
printf("5-Sair\n\n"); 
printf("Insira a sua opção : ");
}

int main() {

	
	
	return 0;
}

 

  • Amei 1
Postado

@Nevski7 Perceba que as informações são correlacionadas

1 hora atrás, Nevski7 disse:
typedef struct {

	int tipo; //obrigatoriamente =1
	int id; // exemplo:1,2,3,4
	char marca[30]; // exemplo : audi
	char modelo[30]; // exemplo: A5
	int peso_bruto; // exemplo: 1500
	char caixa[30]; // ex: Automática ou manual
	int portas; //ex: 2 ou 4
	int cilindrada; // ex: 2698
	int potencia; //ex: 200
	char cor[15]; // ex: amarelo, azul, preto ou branco
	int lotacao; // exemplo 2 ou 4

} carros;

e a mesma coisa as duas estruturas.

 

você pode fazer uma só

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

#define T_MARCA 30
#define T_MODELO 30
#define T_CAMBIO 20
#define T_COR 20

#define Q_CARROS 5
#define Q_MOTAS 5

enum tipo_veiculo
{
    CARRO = 1,
    MOTA
};

struct contentor_data
{
    int mes, dia, ano;
};

struct contentor_veiculo
{
    int tipo;
    int id;
    char marca[T_MARCA];
    char modelo[T_MODELO];
    int peso;
    char cambio[T_CAMBIO];
    int cilindrada;
    int potencia;
    char cor[T_COR];
    int lotacao;
    struct contentor_data data;
};

void
inicializa(struct contentor_veiculo *carros, struct contentor_veiculo *motas)
{
    struct contentor_veiculo in_carros[Q_CARROS] = {
        {
            CARRO,
            1,
            "Volkswagen",
            "Gol quadrado",
            1300,
            "Manual",
            1984,
            120,
            "Branco",
            5,
            {
                5, 3, 1994
            }
        },
        {
            CARRO,
            2,
            "Volkswagen",
            "Gol quadrado gti",
            1300,
            "Manual",
            1984,
            120,
            "Branco",
            5,
            {
                8, 2, 1996
            }
        }
    };
    
    carros[0] = in_carros[0];
    carros[1] = in_carros[1];
}

void
lista_veiculo(struct contentor_veiculo *veiculos)
{
    int contador;
    for (contador = 0; contador < Q_CARROS; contador++) {
        printf("Tipo de veiculo:");
        if (veiculos[contador].tipo == CARRO) {
            printf("Carro\n");
        } else {
            printf("Mota\n");
        }
        printf("id:%i\n", veiculos[contador].id);
        printf("modelo:%s\n", veiculos[contador].modelo);
        printf("peso:%i\n", veiculos[contador].peso);
        printf("tipo de cambio:%s\n", veiculos[contador].cambio);
        printf("cilindradas:%i\n", veiculos[contador].cilindrada);
        printf("potencia:%i\n", veiculos[contador].potencia);
        printf("cor:%s\n", veiculos[contador].cor);
        printf("lotacao:%i\n", veiculos[contador].lotacao);
        printf("Ano:%i\\%i\\%i\n", veiculos[contador].data.mes, veiculos[contador].data.dia, veiculos[contador].data.ano);
        printf("\n");
    }
}

int main(void)
{
    struct contentor_veiculo 
        carros[Q_CARROS] = {0},
        motas[Q_MOTAS] = {0};
    
    inicializa(carros, motas);
    lista_veiculo(carros);
    return(0);
}

 

  • Curtir 2
Postado

@kgin eu sei que posso fazer numa só estrutura, mas para o trabalho necessito fazer em duas.

Seria muito mais fácil numa só mas... infelizmente tenho que fazer em duas, mas já ajudou bastante.

 

  • Curtir 2
Postado

@kgin Não muitas, estive a tentar colocar a segunda estrutura, porque preciso disso para o meu trabalho, e a colocar o resto dos carros e as motas, mas ainda tem alguns erros.

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

#define T_MARCA 30
#define T_MODELO 30
#define T_CAIXA 20
#define T_COR 20

#define Q_CARROS 5
#define Q_MOTAS 5

enum tipo_veiculo
{
CARRO = 1,
MOTA
};

struct contentor_data
{
int mes, dia, ano;
};

typedef struct contentor_veiculo
{
int tipo;
int id;
char marca[T_MARCA];
char modelo[T_MODELO];
int peso;
char cambio[T_CAIXA];
int cilindrada;
int potencia;
char cor[T_COR];
int lotacao;
struct contentor_data data;
};

typedef struct contentor_mota
{
int tipo;
int id;
char marca[T_MARCA];
char modelo[T_MODELO];
int peso;
char cambio[T_CAIXA];
int cilindrada;
int potencia;
char cor[T_COR];
int lotacao; 
struct contentor_data data;
};

void
inicializa(struct contentor_veiculo *carros, struct contentor_mota *motas)
{
struct contentor_veiculo in_carros[Q_CARROS] = {
{
CARRO,
1,
"Volkswagen", "Golf", 1300, "Manual", 1390, 75, "Cinzento", 5, {28, 06, 2000}
},

{
CARRO,
2,
"Volkswagen", "Golf VII gti", 1307, "Manual", 1984, 228, "Branco", 5, {8, 2, 2017}
};
{
CARRO,
3,
"Porsche", "Panamera", 1835, "Automático", 2894, 330, "Preto", 5, {8, 2, 2021}
}
{
CARRO,
4,
"Porsche", "911", 1480, "Automático", 2894, 385, "Azul", 5, {8, 2, 2019}
}
    
CARRO,
5,
"Audi", "R8", 1635, "Manual", 2894, 243, "Laranja", 5, {8, 2, 2007}
};
    	   
    carros[0] = in_carros[0];
    carros[1] = in_carros[1];
    carros[2] = in_carros[2];
    carros[3] = in_carros[3];
    carros[4] = in_carros[4];


{	    
MOTA,
1,
"Yamaha", "R8", 1635, "Manual", 2894, 243, "Laranja", 5, {8, 2, 2007}
};
};	
//carros[0] = in_motas[0];  }

void
lista_veiculo(struct contentor_veiculo *veiculos)
{
    int contador;
    for (contador = 0; contador < Q_CARROS; contador++) {
        printf("Tipo de veiculo:");
        if (veiculos[contador].tipo == CARRO) {
            printf("Carro\n");
        } else {
            printf("Mota\n");
        }
        printf("id:%i\n", veiculos[contador].id);
        printf("modelo:%s\n", veiculos[contador].modelo);
        printf("peso:%i\n", veiculos[contador].peso);
        printf("tipo de cambio:%s\n", veiculos[contador].cambio);
        printf("cilindradas:%i\n", veiculos[contador].cilindrada);
        printf("potencia:%i\n", veiculos[contador].potencia);
        printf("cor:%s\n", veiculos[contador].cor);
        printf("lotacao:%i\n", veiculos[contador].lotacao);
printf("Ano:%i\\%i\\%i\n", veiculos[contador].data.mes, veiculos[contador].data.dia, veiculos[contador].data.ano);
printf("\n");
}
}

int main(void)
{
struct contentor_veiculo
carros[Q_CARROS] = {0},
motas[Q_MOTAS] = {0};

inicializa(carros, motas);
lista_veiculo(carros);
return(0);
}


 

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!