Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define CAPACIDADE 10
- #define TAMANHO_NOME 6
- #define TAMANHO_DATA 8
- typedef struct pacote {
- int numero, cod, ano, ocupado;
- float peso;
- char nome[TAMANHO_NOME], data[TAMANHO_DATA];
- } pacote;
- void cadastra_pacote(pacote vet[]) // cadastra todos os pacotes gbl_15@hotmail.com
- {
- int num_pacote, i, opc;
- for(i=0; i<CAPACIDADE ; i++)
- {
- if(vet[i].ocupado==0)
- {
- num_pacote=i;
- i=CAPACIDADE;
- }
- }
- if(vet[num_pacote].ocupado == 0)
- {
- vet[num_pacote].ocupado = 1;
- printf("Insira o codigo do pacote:");
- scanf("%d", &opc);
- vet[num_pacote].cod=opc;
- //switch(opc)
- //{
- // case 1:
- // vet[num_pacote].nome="Milho";
- // break;
- // case 2:
- // vet[num_pacote].nome="Feijao";
- // break;
- // case 3:
- // vet[num_pacote].nome="Trigo";
- // break;
- // case 4:
- // vet[num_pacote].nome="Arroz";
- // break;
- // case 5:
- // vet[num_pacote].nome="Soja";
- // break;
- // }
- printf("Insira a data de validade do pacote:");
- scanf("%s", vet[num_pacote].data);
- printf("Insira o ano do pacote");
- scanf("%d", &vet[num_pacote].ano);
- printf("Insira o peso do pacote:");
- scanf("%f", &vet[num_pacote].peso);
- }
- printf("\n\n");
- }
- void localiza_pacote(pacote vet[])// localiza todos os pacotes
- {
- int i;
- printf("Entre com o numero do pacote:");
- scanf("%d", &i);
- if (vet[i].ocupado==1)
- {
- printf("\tTipo: %s\n", vet[i].nome);
- printf("\tCodigo do pacote: %d", vet[i].cod);
- printf("\tAno de producao: %d\n", vet[i].ano);
- printf("\tData de validade: %s\n", vet[i].data);
- printf("\tpeso: %f quilos\n", vet[i].peso);
- } else
- {
- printf("\tPacote nao cadastrado.\n");
- }
- }
- void cancela_pacote(pacote vet[])
- {
- int num_pacote;
- printf("Digite o numero do pacote: ");
- scanf("%d", &num_pacote);
- if(vet[num_pacote].ocupado == 1)
- {
- vet[num_pacote].ocupado = 0;
- printf("pacote excluido com sucesso.");
- }
- else
- {
- printf("O pacote nao existe.");
- }
- printf("\n\n");
- }
- void exibir_todos(pacote vet[])// exibe todos os pacotes
- {
- int i;
- for(i=0; i<CAPACIDADE; i++)
- {
- if(vet[i].ocupado==1)
- {
- printf("\tNumero do pacote: %d",vet[i].numero);
- printf("\tTipo: %s\n", vet[i].nome);
- printf("\tCodigo do pacote: %d", vet[i].cod);
- printf("\tAno de producao: %d\n", vet[i].ano);
- printf("\tData de validade: %s\n", vet[i].data);
- printf("\tpeso: %f quilos\n", vet[i].peso);
- }
- else
- {
- printf("\tNumero do pacote: %d",vet[i].numero);
- printf("\tVazio");
- }
- }
- }
- void ordenar_pacotes(pacote vet[] , pacote ord[]) // ordena pacote pelo codigo
- {
- int i, j, num_pacote;
- num_pacote=0;
- for(j=1; j<=5; j++)
- {
- for(i=0; i<CAPACIDADE; i++)
- {
- if(vet[i].ocupado == 1)
- {
- if(vet[i].cod == j)
- {
- ord[num_pacote].numero=vet[i].numero;
- //ord[num_pacote].nome=vet[i].nome;
- ord[num_pacote].ano=vet[i].ano;
- //ord[num_pacote].data=vet[i].data;
- ord[num_pacote].peso=vet[i].peso;
- num_pacote++;
- }
- }
- }
- }
- for(i=0; i<num_pacote; i++)
- {
- printf("\tNumero do pacote: %d",ord[i].numero);
- printf("\tTipo: %s\n", ord[i].nome);
- printf("\tCodigo do pacote: %d", ord[i].cod);
- printf("\tAno de producao: %d\n", ord[i].ano);
- printf("\tData de validade: %s\n", ord[i].data);
- printf("\tpeso: %f quilos\n", ord[i].peso);
- }
- }
- int main()
- {
- int i, opc;
- opc = 0;
- pacote suprimentos[CAPACIDADE], ord[CAPACIDADE];
- for (i = 0; i < CAPACIDADE; i++)
- {
- suprimentos[i].ocupado = 0;
- };
- do{
- printf("Favor digitar\n");
- printf("1 - cadastra pacote\n");
- printf("2 - localiza um pacote\n");
- printf("3 - excluir pacote\n");
- printf("4 - Exibir todos os pacotes\n");
- printf("5 - Exibe pacotes por tipo\n");
- printf("6 - Ordena os pacotes por peso\n");
- printf("7 - Sair\n");
- printf("Opcao: ");
- scanf("%d", &opc);
- switch(opc){
- case 1:
- cadastra_pacote(suprimentos);
- break;
- case 2:
- localiza_pacote(suprimentos);
- break;
- case 3:
- cancela_pacote(suprimentos);
- break;
- case 4:
- exibir_todos(suprimentos);
- break;
- case 5:
- ordenar_pacotes(suprimentos, ord);
- break;
- //case 6:
- //ordenar_peso(aviao);
- //break;
- }
- } while(opc!=7);
- return 0;
- }
Add Comment
Please, Sign In to add comment