Olá,
Você pode utilizar recursão para fazer esse loop e três arrays, um com os nomes dos itens (char) , um com os preços dos itens (float ou double) e outro com as quantidades de cada item (int).
No final, quando o usuário digitar "n", você faz um for(), imprimindo os elementos dos arrays. Caso a quantidade de alguma opção seja 0 você não imprime aquele item, só imprime os que forem maiores que 0 e multiplicando a quantidade pelo valor do item no array de preço. Abaixo está um pseudo-código, complete e teste.
void conta (char opcoes[][], double preco[], int quantidade[])
{