Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <iostream>
- const int MAXTAM=10;
- using namespace std;
- struct Fila{
- int ini;
- int fim;
- int nItens;
- };
- void Criafila(struct Fila *F){
- F->ini=0;
- F->fim=0;
- F->nItens=0;
- }
- int FilaVazia(struct Fila *F)
- {
- if(F->nItens==0)
- return 1;
- else
- return 0;
- }
- int FilaCheia(struct Fila *F)
- {
- if(F->nItens==MAXTAM)
- return 1;
- else
- return 0;
- }
- void QUEUE(struct Fila *F, int vlr){
- int i=0;
- if(F->nItens+vlr==MAXTAM+1){
- printf("Maquina nao suporta\n");
- system("pause");
- }
- else{
- for(i=0;i<vlr;i++){
- F->fim++;
- F->nItens++;
- printf("%d bola(s) na fila\n",F->nItens);
- if(F->fim==MAXTAM){
- F->fim=0;
- }
- }
- }
- }
- void DEQUEUE(struct Fila *F, int vlr){
- int i=0;
- if(F->nItens<vlr){
- printf("Quantidade maior que a disponivel\n");
- system("pause");
- }
- else{
- for(i=0;i<vlr;i++){
- F->ini++;
- F->nItens--;
- printf("%d bola(s) na fila\n",F->nItens);
- if(F->ini==MAXTAM){
- F->ini=0;
- }
- }
- }
- }
- void ModPro(struct Fila *F){
- int AUX=0;
- AUX=F->nItens-10;
- AUX=AUX*-1;
- QUEUE(F,AUX);
- AUX=10;
- DEQUEUE(F,AUX);
- }
- int menu(){
- int n;
- printf("|---------------------------|\n");
- printf("|1- Colocar 1 bola.........:|\n");
- printf("|2- Lancar 1 bola..........:|\n");
- printf("|3- Colocar varias bolas...:|\n");
- printf("|4- Lancar varias bolas....:|\n");
- printf("|5- Modo profissional......:|\n");
- printf("|---------------------------|\n");
- printf("Escoha uma opcao: ");
- scanf("%d", &n);
- printf("\n\n");
- system("cls");
- return n;
- }
- int main(int argc, char** argv){
- int n=1, bl=0;
- struct Fila Fila;
- Criafila(&Fila);
- while(n!=6){
- n=menu();
- if(n==1){
- if(FilaCheia(&Fila)){
- printf("Maquina cheia\n");
- }
- else{
- bl=1;
- QUEUE(&Fila,bl);
- }
- }
- else if(n==2){
- if(FilaVazia(&Fila)){
- printf("Maquina Vazia\n");
- }
- else{
- bl=1;
- DEQUEUE(&Fila,bl);
- }
- }
- else if(n==3){
- if(FilaCheia(&Fila)){
- printf("Maquina cheia\n");
- }
- else{
- printf("Quantidade de bolas para colocar na fila: ");
- scanf("%d", &bl);
- QUEUE(&Fila,bl);
- }
- }
- else if(n==4){
- if(FilaVazia(&Fila)){
- printf("Maquina Vazia\n");
- }
- else{
- printf("Quantidade de bolas para lancar: ");
- scanf("%d", &bl);
- DEQUEUE(&Fila,bl);
- }
- }
- else if(n==5){
- ModPro(&Fila);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement