Filas
Publicado por Rafael Dutra 28/05/2005
[ Hits: 7.757 ]
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
Programa que Exibe centro da tela
Teoria do Caos - (Equação Logística)
[C] Decompositor de números em fatores primos
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Como abrir o pycharm no linux (2)
VMs e Interfaces de Rede desapareceram (12)