Filas
Publicado por Rafael Dutra 28/05/2005
[ Hits: 7.719 ]
Homepage: www.du3x.com
Esse é um programinha que fiz para o meu curso, é um progrma de filas, a pessoa insere o trabalho a ser impresso e pode colocar mais quatro pra ficar na fila, tem muita bobagem junto no programa mas espero que gostem.
# include <stdio.h> # include <string.h> # include <stdlib.h> // Registro struct str_fila { char impressao[20]; struct str_fila *prox; }; typedef struct str_fila fila; fila *inicio, *fim, *primeiro, *ultimo, *aux; /* ----------------------------------- */ // Inicio de programa int main () { int opcao,x, mos, t=1; //t é contador char impressao [20]; printf("\n\n\t\t\t ************************************************ \n"); printf("\t\t\t ************************************************ \n\n"); printf ("\t\t\t PROGRAMA PARA CONTROLE DE IMPRESSÃO \n"); printf ("\t\t\t Programador Rafael Dutra \n"); printf ("\t\t\t Versão: Talvez a 0.78 \n"); printf ("\t\t\t Feito em Slackware 10.0 \n"); printf ("\t\t\t Free, Powerful and safe! \n"); printf ("\t\t\t Kernel 2.4.26 \n"); printf ("\t\t\t KDE 3.4.0 \n\n"); printf("\t\t\t ************************************************ \n"); printf("\t\t\t**************************************************\n\n"); while (opcao!=5) { printf("\n\t\t\tTrabalho sendo usado"); if(inicio==NULL) { printf("\t[ Nenhum trabalho no momento ]\n"); } else { printf("\t>>>> :: %s :: <<<<\n",inicio); } printf("\n\t\tStatus da fila da impressão\n"); printf("\t\tTrabalhos na fila de impressão"); if(inicio==NULL) { printf("\t[ Nenhum trabalho na fila de espera ]\n"); } else { mos=mostrar(); if(mos==1) { printf("\t[ Nada no momento ]\n"); } else { for(aux=inicio->prox;aux!=NULL;aux=aux->prox) { printf("\t[ %s ]\n\t\t\t\t\t",aux->impressao); } } } printf("\nEscolha uma das opções abaixo\n"); printf("1 - Inserir trabalho para imprimir\n"); printf("2 - Remover um trabalho da fila\n"); printf("3 - Chamar logotipo\n"); printf("4 - Sobre o autor\n"); printf("5 - Sair\n"); printf("Digite sua opcao:"); scanf ("%d",&opcao); if (opcao==1) { mos=mostrar (); if (t<=5) //t == contador { printf("Digite o trabalho a ser impresso:"); scanf ("%s", &impressao); enqueue (impressao); t++; x=1; } else { printf("\n\t\t\t\t >>> [ A lista de impressão está cheia ] <<<\n"); } } if (opcao==2) { dequeue (); t--; x=1; } if (opcao==3) { logotipo(); } if (opcao==4) { about(); } if (opcao==5) { printf ("\t\tVoce optou por sair do programa\n"); x=0; } } } /* ----------------------------------- */ dequeue() { int retorno=0; fila *aux; if(inicio==NULL) { printf("\nFila vazia\n"); } else { retorno=inicio->impressao; aux=inicio; inicio=inicio->prox; free(aux); } return; } /* ----------------------------------- */ enqueue(char impressao[]) //inserir { ultimo=malloc(sizeof(fila)); strcpy (ultimo->impressao,impressao); ultimo->prox=NULL; if(inicio==NULL) { inicio=ultimo; fim=ultimo; } else { fim->prox=ultimo; fim=ultimo; } } /* ----------------------------------- */ mostrar() { int t=0; for(aux=inicio;aux!=NULL;aux=aux->prox) { t ++; } return t; } /* ----------------------------------- */ logotipo () { printf("\t\t\t ************************************************ \n"); printf("\t\t\t ************************************************ \n\n"); printf ("\t\t\t PROGRAMA PARA CONTROLE DE IMPRESSÃO \n"); printf ("\t\t\t Programador Rafael Dutra \n"); printf ("\t\t\t Versão: Talvez a 0.78 \n"); printf ("\t\t\t Feito em Slackware 10.0 \n"); printf ("\t\t\t Free, Powerful and safe! \n"); printf ("\t\t\t Kernel 2.4.26 \n"); printf ("\t\t\t KDE 3.4.0 \n\n"); printf("\t\t\t ************************************************ \n"); printf("\t\t\t**************************************************\n\n"); } /* ----------------------------------- */ about () { printf ("\t\t\t E-mail: raffaeldutra@gmail.com\n"); printf ("\t\t\t Usuário no site vivaolinux: Law\n"); printf ("\t\t\t Linux User #376.904\n\n\n"); } // Fim de Programa
Teoria do Caos - (Equação Logística)
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)