Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- typedef struct _lista lista;
- struct _lista {
- int info;
- lista* prox;
- };
- lista* cria_lista() {
- return NULL;
- }
- int vazia(lista* fila) {
- return(fila == NULL);
- }
- lista* insere_fila(lista* fila, int info) {
- lista* novo = (lista*)malloc(sizeof(lista));
- lista* aux;
- aux = fila;
- novo->info = info;
- novo->prox = NULL;
- while (aux->prox != NULL) {
- aux = aux->prox;
- }
- aux->prox = novo;
- return fila;
- }
- void imprime_fila(lista* fila) {
- if(!vazia(fila)) {
- lista* aux;
- for (aux = fila; aux != NULL; aux = aux->prox) {
- printf("%d\n", aux->info);
- }
- }
- else {
- printf("Fila nao encontrada\n");
- }
- }
- lista* retira_fila(lista* fila) {
- lista* aux;
- aux = fila;
- fila = aux->prox;
- free(aux);
- return fila;
- }
- void leia_string(char *s) {
- char c;
- int i = 0;
- do {
- c = getchar();
- if(c != '\n')
- s[i] = c;
- i++;
- }while(c != '\n' && c != '\0');
- }
- int main(int argc, char const *argv[]) {
- char *menu;
- int i, j;
- int tamanho, numero = 0;
- menu = malloc(sizeof(char));
- lista* fila;
- fila = cria_lista();
- while (1) {
- leia_string(menu);
- if(toupper(menu[0]) == 'I') {
- tamanho = strlen(menu);
- for (i = 1; i < tamanho; i++) {
- if(i == 1) {
- numero += (((int)menu[i])-48)*100;
- }
- else if(i == 2) {
- numero += (((int)menu[i])-48)*10;
- }
- else if(i == 3){
- numero += ((int)menu[i])-48;
- }
- }
- printf("%d\n", numero);
- fila = insere_fila(fila, numero);
- }
- else if(toupper(menu[0]) == 'R') {
- fila = retira_fila(fila);
- }
- else if(toupper(menu[0]) == 'P') {
- imprime_fila(fila);
- }
- else if(toupper(menu[0]) == 'F') {
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement