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

13.565 Comentários

  1. Russellspomb Russellspomb

    Врач учитывает симптомы, риски, анамнез и семейную ситуацию, чтобы предложить подходящую программу.
    Получить больше информации – https://4.narcolog-na-dom-krasnoyarsk0.ru/

  2. Danielkesty Danielkesty

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

  3. Качественное лечение начинается с обследования. Клиника собирает сведения о зависимости, анализирует соматические и психические проблемы, уточняет предыдущий опыт терапии. На основании данных диагностики строится программа лечения в соответствии с клиническими задачами. Очень важно оценить состояние комплексно, поскольку одинаковые жалобы могут иметь разные причины.
    Получить больше информации – https://4.narkologicheskaya-klinika-v-krasnoyarske17.ru/

  4. ChrisMut ChrisMut

    Клиника «Детокс» работает с проблемой алкогольной зависимости комплексно. Экстренное снятие интоксикации рассматривается как первый этап лечения алкоголизма, а не как замена полноценной работе с зависимостью. После стабилизации пациент может получить консультацию психиатра, психолога или психотерапевта, пройти диагностику, кодирование и реабилитационную программу. Специалисты помогают человеку понять причины повторных запоев, восстановить сон, снизить тревожность и сформировать устойчивую мотивацию к трезвости. Анонимность и конфиденциальность сохраняются на всех этапах обращения.
    Изучить вопрос подробнее – vyvod-iz-zapoya-deshev-reutove

  5. Travisgof Travisgof

    Ломка – это тяжелый синдром отмены, возникающий после длительного употребления алкоголя или наркотических веществ. При резком прекращении их приема нервная система и другие органы начинают страдать от недостатка необходимых веществ, что приводит к сильному дискомфорту, психоэмоциональным нарушениям и ухудшению общего состояния организма. В Новосибирске наркологическая клиника «Возрождение» оказывает экстренную помощь при снятии ломки, обеспечивая безопасное, круглосуточное и конфиденциальное лечение под наблюдением опытных специалистов.
    Детальнее – https://snyatie-lomki-novosibirsk8.ru/snyatie-lomki-na-domu-v-novosibirske/

  6. Melvinriz Melvinriz

    В этой публикации мы обсуждаем современные методы лечения различных заболеваний. Читатели узнают о новых медикаментах, терапиях и исследованиях, которые активно применяются для лечения. Мы нацелены на то, чтобы предоставить практические знания, которые могут помочь в борьбе с недугами.
    Жми сюда — получишь ответ – вызов нарколога

  7. Мы придерживаемся инженерной логики: цель > маркер > окно проверки > отключение модуля. Никаких «сильных коктейлей на всякий случай»: сначала один точный шаг, затем — проверка результата. Именно так формируется прозрачность и доверие: пациент видит причину каждого назначения и понимает момент его завершения. Это уменьшает тревогу, ускоряет восстановление и убирает «инерцию лечения», когда лишние вмешательства продолжаются просто по привычке.
    Подробнее тут – запой нарколог на дом самара

  8. До приезда специалиста не рекомендуется самостоятельно назначать сильнодействующие лекарства или проводить инфузионные процедуры. Наркологическая помощь должна оказываться квалифицированным медицинским специалистом.
    Подробнее – http://www.5.narcolog-na-dom-krasnoyarsk0.ru

Deixe um comentário

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