Ir ao conteúdo
  • Cadastre-se

C Programa de stand de carros e motas


Nevski7
Ir à solução Resolvido por devair1010,

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

 

 

#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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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