Ir ao conteúdo

Lista encadeada, Estrutura de dados.

Saudações,

Para não perder o costume, irei postar outro exercicio resolvido em uma aula. Dessa vez o exercicio é o seguinte:
– Implemenetar o sistema de contabilidade de um mafioso. (outros detalhes continue lendo o post)

O enunciado do mesmo se encontra no “read the rest of this entry” para não deixar o post muito extenso devido ao longo enunciado.

A resolução do mesmo você pode baixar aqui.

Você é um Mafioso informatizado.
Você vai criar um sistema para gerenciar os seus débitos e também as pessoas que devem a você.
Este sistema será baseado em duas listas encadeadas:

(Imagem de exemplo)

* Para isso você vai fazer um programa que manipula mais de uma lista;

* o programa fará isto com um único conjunto de funções e passagem das diversas listas como parâmetros;
* como aplicação imaginemos um sistema de contabilidade simples;
* você vai ter um Plano de Contas constituído por duas listas: débitos e créditos;
* o mesmo conjunto de funções (que você já implementou) vai poder ser utilizado para isso: você somente precisa ampliar o conjunto de parâmetros da função para passar por referência também a lista que você quer alterar.

A passagem de parâmetro da lista deve ser por referência porque você deseja que as alterações sejam persistentes.

Cada lista de débitos ou créditos é constituída por lançamentos. Cada lançamento possui:

* um valor real (positivo);
* um nome. Por exemplo, “Pagar proteção à Mafia”

Estrutura:
tipo tLançamento {
caracter *nome;
real valor;
};

A lista encadeada que conterá os lançamentos terá um elemento de lista definido da seguinte forma:
Estrutura:
tipo tLista {
tLancamento* info;
tLista* proximo;
};
A cabeça de lista de cada lista será uma variável global contendo uma estrutura como abaixo:
tipo cLista {
tLista* lista;
inteiro ultimo;
};

No programa principal você vai definir se vai realizar uma operação de débito ou de crédito e vai chamar as operações sobre listas necessárias, passando a lista correta como parâmetro (por referência) para a função que realiza a operação.

Além das operações básicas que a lIsta vai oferecer, você deve implementar uma operação adicional: totalização. Essa operação funciona assim:

* percorre a lista, escrevendo o nome e o valor correspondente a cada item (débito ou crédito)
* soma o valor em uma variável auxiliar
* escreve ao final o total de débitos ou de créditos, dependendo de qual lista você mandou totalizar.

Publicado emAprendendoCEstrutura de Dados

12.122 Comentários

  1. KevinMek KevinMek

    Вывод из запоя в Сочи требуется, когда человек не может самостоятельно прекратить употребление алкоголя, испытывает похмелья, признаки ломки, тревогу, бессонницу, рвоту, сильную слабость или резкое ухудшение самочувствие. Даже если запой длится несколько дней, риск осложнений остается высокий: страдают системы организма, печень, сердце, сосуды, нервная система, психика и общее состояние здоровья.
    Подробнее тут – вывод из запоя в стационаре сочи

  2. Москва, всем привет Близкий человек уже 10 дней в запое Жена рыдает Скорая не приедет на такой вызов Короче, единственные кто взялся за безнадёжный случай — госпитализация в наркологический стационар 24/7 Провели полную детоксикацию В общем, не потеряйте контакты — наркологические центры москвы цены https://narkologicheskij-staczionar-moskva-jmw.ru Не ждите пока станет хуже Это может спасти жизнь

  3. 888starz 888starz
    يستند 888starz إلى ترخيص Curaçao الرسمي عبر Bittech B.V. الذي يحفظ حقوق اللاعب.

    تتجاوز مكتبة 888starz أربعة آلاف عنوان سلوت في تحديث مستمر.

    تتوفر أسواق على البطولات الكبرى إلى جانب الدوري المصري.

    يستقبل الكازينو اللاعب الجديد بمكافأة تصل إلى 1500 يورو مع 150 لفة مجانية.

    يعمل فريق المساعدة طوال اليوم مع تطبيق محمول لأندرويد وآبل.

  4. Ruebengoalp Ruebengoalp

    Запоя вывод в клинике Сочи: лечение алкогольной интоксикации, капельница, детоксикация, помощь нарколога на дому, кодирование и реабилитация
    Узнать больше – скорая вывод из запоя в сочи

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *