Filas
Publicado por Rafael Dutra 28/05/2005
[ Hits: 7.602 ]
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
Pedindo uma senha ao usuário!!!
Divisores de um inteiro positivo em C++
Função simples de criptografia em um vetor
Um algoritmo genético para o TSP (Travel Salesman Problem)
Nenhum comentário foi encontrado.
Qual seu hardware e distribuição estão rodando na sua máquina? (1)
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Criar uma base de reconhecimento de HW no VOL (4)
Como configurar o Openvpn do pfSense para entregar da memsa faixa de I... (0)
Criar link simbólico para cada linha de lista de arquivos (0)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba