Skip to content

Commit

Permalink
Outros
Browse files Browse the repository at this point in the history
  • Loading branch information
eduschadesoares committed Sep 19, 2018
1 parent e5d7cce commit ed85dfb
Show file tree
Hide file tree
Showing 10 changed files with 963 additions and 0 deletions.
108 changes: 108 additions & 0 deletions Outros/Fila/FilaEficiente.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
#include <iostream>
#include <clocale>
#include <ctime>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <conio2.h>

const int TAM = 5;

int fila[TAM];
int inicio = 0;
int fim = 0;
int contador = 0;

using namespace std;

void menu();
void menuInsere();
void insereFila();
void removeFila();
void imprimeFila();

int main() {
menu();
return 0;
}

void insereFila(int valor) {
if(contador == TAM) {
cout << " Fila cheia\n";
return;
}
fila[fim] = valor;
if(fim == TAM-1)
fim = 0;
else
fim++;
contador++;
}

void menuInsere() {
int valor;
cout << " Insira um valor: ";
cin >> valor;
insereFila(valor);
}

void removeFila() {
if(contador == 0) {
cout << " Fila vazia\n";
return;
}
if(inicio == TAM-1)
inicio = 0;
else inicio=inicio + 1;
contador--;
}

void imprimeFila() {
int i, j;
if(contador == 0) {
printf(" Fila vazia\n");
return;
}
j=inicio;
for(i=0; i<contador; i++){
printf(" %d\t", fila[j]);
if(j == TAM-1)
j=0;
else j=j+1;
}
cout << "\n";
}

void menu () {
setlocale(LC_ALL, "portuguese");
char esc;
printf(" ----------------------------------\n");
printf(" - Para Inserir na fila, insira 1 -\n");
printf(" ----------------------------------\n");
printf(" - Para Remover da fila, insira 2 -\n");
printf(" ----------------------------------\n");
printf(" - Para sair insira 0 -\n");
printf(" ----------------------------------\n");
printf(" Valor: ");
esc = getch();
//scanf("%i", &esc);
fflush(stdin);
system("cls");
switch (esc) {
case '1':
menuInsere();
break;
case '2':
removeFila();
break;
case '0':
return;
break;
default:
printf(" VALOR INCORRETO, SEU ANIMAL.\n");
menu();
}
imprimeFila();
menu();
}

119 changes: 119 additions & 0 deletions Outros/Fila/FilaIneficiente.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
#include <iostream>
#include <clocale>
#include <ctime>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <conio2.h>

const int TAM = 5;

int fila[TAM];
int inicio = 0;
int fim = 0;
int contador = 0;

using namespace std;

void menu();
void inserefila();
void removefila();
void imprimefila();

int main() {
menu();
return 0;
}

void inserefila() {
int valor;

if(contador == TAM) {
printf(" |-----------------------|\n");
printf(" | FILA CHEIA |\n");
return;
}

cout << "Insira um valor: ";
cin >> valor;
system("cls");

fila[fim] = valor;

if(fim == TAM-1)
fim = 0;
else
fim++;

contador++;
system("cls");
}

void removefila() {
if(contador == 0) {
printf(" |-----------------------|\n");
printf(" | FILA VAZIA |\n");
return;
}
if(inicio == TAM-1)
inicio = 0;
else inicio = inicio + 1;
contador--;
if(contador == 0) {
printf(" |-----------------------|\n");
printf(" | FILA VAZIA |\n");
return;
}
}

void imprimefila() {
int i, j;
printf(" |-----------------------|\n");
printf(" | FILA | POSIÇÕES |\n");
printf(" |-----------------------|\n");
/* if(contador == 0) {
printf("\n\nFila vazia\n\n");
return;
} */
j=inicio;
for(i=0; i<contador; i++){
printf(" | %10i | %2i |\n", fila[j], i+1);
printf(" |-----------------------|\n");
if(j == TAM-1)
j=0;
else j=j+1;
}
cout << "\n";
}

void menu () {
setlocale(LC_ALL, "portuguese");
char esc;
printf(" ---------------------------------------\n");
printf(" - 1 | Para inserir na fila -\n");
printf(" ---------------------------------------\n");
printf(" - 2 | Para remover da fila -\n");
printf(" ---------------------------------------\n");
printf(" - 0 | Para sair -\n");
printf(" ---------------------------------------\n");
printf(" - Valor: ");
esc = getch();
fflush(stdin);
//system("clear");
switch (esc) {
case '1':
inserefila();
break;
case '2':
removefila();
break;
case '0':
return;
break;
default:
printf("VALOR INCORRETO, SEU ANIMAL.\n");
menu();
}
imprimefila();
menu();
}
Loading

0 comments on commit ed85dfb

Please sign in to comment.