Filas
Publicado por Rafael Dutra 28/05/2005
[ Hits: 7.968 ]
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
Jogo da cobrinha (Snake II) refeito em C e C++
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
É normal não gostar de KDE? (9)
Linux é a solução para o fim do Windows10? (2)
Problemas com Driver NVIDIA (4)









