Queue with insertion of a String

0

I have seen several codes about creating a queue in C, but all use integers. I wanted to create a queue where I would insert a string, for example, nameAlumnus. This queue would have a maximum of 10 strings. My code is as follows.

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <malloc.h>
#include <string.h>

typedef struct Fila {
    int capacidade, tamanho, inicio, fim;
    char **nomes;
}Fila;

void inserir();
void excluir();
void exibir();

Fila *inicio = NULL;
Fila *fim = NULL;

int main(void) {

    setlocale(LC_ALL, ""); // Define os caracteres para exibir acento, por que pelo amor de Deus...

    char opcaoMenu;

    do {

        printf("\t\t\t\tExemplo de Queue/Fila\n\n");
        printf("\tPara continuar, selecione uma opção abaixo. \n\n");
        printf("\t(1) Inserir novo aluno na fila \n");
        printf("\t(2) Remover aluno da fila \n");
        printf("\t(3) Exibir todos os alunos da fila \n");
        printf("\t(4) Sair do programa. \n\n");
        printf("\tEscolha a sua opção agora, digitando apenas o número corresponde:");

        scanf("%c", &opcaoMenu);

        switch(opcaoMenu) {

            case '1': // Inserir novo aluno na fila
                inserir();
                break;
            case '2': // Removendo aluno da fila
                if(inicio != NULL){
                    excluir();
                } else {
                    printf("\n Não há nenhum aluno cadastrado na fila. Não há nada para exibir. \n");
                    printf("\t Aperte ENTER para voltar ao menu inicial \n");
                    getchar();
                }
                break;
            case '3': // Exibindo os alunos da lista
                if(inicio != NULL){
                    exibir();
                } else {
                    printf("\n Não há nenhum aluno cadastrado na fila. Não há nada para exibir. \n");
                    printf("\t Aperte ENTER para voltar ao menu inicial \n");
                    getchar();
                }
                break;
            case '4':
                printf("O aplicativo foi finalizado com sucesso. Aperte ENTER para fechar o console.");
                exit(0);
                break;
            default:
                printf("O número inserido não é válido. Verifique novamente o menu.");
                break;
            }
            getchar();
        }

        while (opcaoMenu > 0);

    return 0;
}

Fila * criarFila(int maxElementos) {
    Fila *Q;
    Q = (Fila *)malloc(sizeof(Fila));
    Q->elementos = (char**)malloc(sizeof(char*)*maxElementos);
    Q->tamanho = 0;
    Q->capacidade = maxElementos;
    Q->inicio = 0;
    Q->fim = 0;
    return Q;
}

void inserir() {
}

void excluir() {

}

void exibir() {
}

The problem is that: I do not know how to go from there. To mount a lita with integers is "easy", since there are several tutorials on this. However, I found none that taught how to build a list with strings. :

Despite having this question in StackOverflow English, I did not understand the logic behind .

By the way, I have seen that it is easier to do in C # or C ++, but as it is for a job that specifically requires it to be in "pure" C, I can not use the others:     

asked by anonymous 14.06.2018 / 19:43

0 answers