Ir ao conteúdo
  • Cadastre-se

Eduardo de Quadros

Membro Pleno
  • Posts

    435
  • Cadastrado em

  • Última visita

posts postados por Eduardo de Quadros

  1. Estou no 3º período e vou aprender isso no 7º período.

     

    Ao inserir um jogo em um console de videogame, olha a ordem:

     

    1. Desenvolvedora do Console (exemplo: Sony Computer Entertainment)
    2. Distribuidora do jogo (exemplo: Universal Studius, Activision, Eidos Interactive)
    3. Desenvolvedora do jogo (exemplo: Naughty Dog, Eurocom, Travellers Tales, Crystal Dynamics, Vicarius Visions)
    4. Tela inicial do jogo

     

    E se eu fosse sozinho sem nenhuma empresa, desenvolvedor e distribuidor, o que eu poderia colocar nessa ordem?

    • Curtir 1
  2. Estou no 3º dos 8 semestres de Ciência da Computação. Depois farei 10 semestres de Engenharia da Computação. Eu uso um notebook do Windows 10. Como jogaria PlayStation 1 atualmente filmando? Eu baixaria um programa que filmaria a tela com som interno do software e webcam com som externo do microfone. Eu compraria no mercado livre 4 controles, 1 multitap e 1 adaptador duplo para conectar o controle de PlayStation 1 no meu notebook do Windows 10 por USB. Eu baixaria o emulador ePSXe 2.0.5 e os arquivos dos jogos .ISO, .BIN e .CUE para usar no emulador. Manteria apertado a tecla Windows e teclaria G para projetar o Windows 10 à TV no modo duplicar. Eu compraria um cabo de USB 3.0 de 5 metros de comprimento no mercado livre, que uma ponta escreve USB e outra ponta do cabo lê USB. Eu não sei jogar no emulador usando o teclado do meu notebook. Eu consigo muito bem filmar minha voz quando fico muito perto do meu notebook. Mas quero saber como faço para aumentar muito o volume do microfone para eu filmar minha voz quando estou muito longe quando projetado à TV. É possível ou posso criar?

  3. program usoeletron;
    
    {$APPTYPE CONSOLE}
    
    {$R *.res}
    
    uses
      System.SysUtils;
    var
      idade_anos, tempo_max_uso_eletron: byte;
      permite1_10, permite1_12, permite1_14, permite1_16, permite1_18: string[3];
      permite2_10, permite2_12, permite2_14, permite2_16, permite2_18: boolean;
    begin
      try
        write('Qual é a idade do seu filho em anos? ');
        readln(idade_anos);
        writeln;
        if (idade_anos < 2) then
        begin
          tempo_max_uso_eletron := 2;
        end
        else if (idade_anos < 4) then
        begin
          tempo_max_uso_eletron := 4;
        end
        else
        begin
          tempo_max_uso_eletron := idade_anos;
          if (tempo_max_uso_eletron mod 2 = 1) then
          begin
            dec(tempo_max_uso_eletron);
          end;
          tempo_max_uso_eletron := tempo_max_uso_eletron * 2;
          if (tempo_max_uso_eletron > 60) then
          begin
            tempo_max_uso_eletron := 60;
          end;
        end;
        repeat
          write('Você permite que seu filho ouça músicas Funk Normal e use outras ');
          write('mídias não recomendadas para menores de 10 anos? ');
          readln(permite1_10);
          writeln;
        until (permite1_10 = 'sim') or (permite1_10 = 'não');
        if (permite1_10 = 'sim') then
        begin
          permite2_10 := true;
          repeat
            write('Você permite que seu filho ouça músicas Funk Carioca e use ');
            write('outras mídias não recomendadas para menores de 12 anos? ');
            readln(permite1_12);
            writeln;
          until (permite1_12 = 'sim') or (permite1_12 = 'não');
          if (permite1_12 = 'sim') then
          begin
            permite2_12 := true;
            repeat
              write('Você permite que seu filho ouça músicas Heavy Metal e use ');
              write('outras mídias não recomendadas para menores de 14 anos? ');
              readln(permite1_14);
              writeln;
            until (permite1_14 = 'sim') or (permite1_14 = 'não');
            if (permite1_14 = 'sim') then
            begin
              permite2_14 := true;
              repeat
                write('Você permite que seu filho ouça músicas Pouco Explícitas ');
                write('e use outras mídias não recomendadas para menores de 16 ');
                write('anos? ');
                readln(permite1_16);
                writeln;
              until (permite1_16 = 'sim') or (permite1_16 = 'não');
              if (permite1_16 = 'sim') then
              begin
                permite2_16 := true;
                repeat
                  write('Você permite que seu filho ouça músicas Muito ');
                  write('Explícitas e use outras mídias não recomendadas para ');
                  write('menores de 18 anos? ');
                  readln(permite1_18);
                  writeln;
                until (permite1_18 = 'sim') or (permite1_18 = 'não');
                if (permite1_18 = 'sim') then
                begin
                  permite2_18 := true;
                end;
              end;
            end;
          end;
        end;
        write('Então seu filho poderá usar eletrônicos no máximo ');
        write(tempo_max_uso_eletron, ' horas semanais, podendo ouvir músicas ');
        write('infantis');
        if (idade_anos >= 2) then
        begin
          write(', ouvir músicas livres não infantis, ouvir músicas de jogos ');
          write('eletrônicos, assistir filmes e séries livres de personagens ');
          write('fictícios dublados');
        end;
        if (idade_anos >= 4) then
        begin
          write(', jogar jogos eletrônicos livres, assistir filmes e séries ');
          write('livres de personagens reais interpretados, assistir ');
          write('teleprogramas livres de entrevistas e entretenimento, assistir ');
          write('teleprogramas livres de jornalismo');
        end;
        if (permite2_10) then
        begin
          write(', usar mídias não recomendadas para no mínimo 10');
          if (permite2_12) then
          begin
            write(', 12');
            if (permite2_14) then
            begin
              write(', 14');
              if (permite2_16) then
              begin
                write(', 16');
                if (permite2_18) then
                begin
                  write(', 18');
                end;
              end;
            end;
          end;
          write(' anos');
        end;
        writeln(' e só!');
        readln;
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
    end.

    Eu uso a IDE da Embarcadero.

    • Curtir 1
  4. program usoeletron;
    var
    	idade_anos, tempo_max_uso_eletron: byte;
    	permite1_10, permite1_12, permite1_14, permite1_16, permite1_18: string[3];
    	permite2_10, permite2_12, permite2_14, permite2_16, permite2_18: boolean;
    begin
    	write('Qual é a idade do seu filho em anos? ');
    	readln(idade_anos);
    	if (idade_anos < 2) then
    	begin
    		tempo_max_uso_eletron := 2;
    	end
    	else
    	begin
    		if (idade_anos < 4) then
    		begin
    			tempo_max_uso_eletron := 4;
    		end
    		else
    		begin
    			tempo_max_uso_eletron := idade_anos;
    			if (tempo_max_uso_eletron mod 2 = 1) then
    			begin
    				tempo_max_uso_eletron := tempo_max_uso_eletron - 1;
    			end;
    			tempo_max_uso_eletron := tempo_max_uso_eletron * 2;
    			if (tempo_max_uso_eletron > 60) then
    			begin
    				tempo_max_uso_eletron := 60;
    			end;
    		end;
    	end;
    	writeln;
    	repeat
    		write('Você permite que seu filho use mídias não recomendadas para menores de 10 anos [sim / não]? ');
    		readln(permite1_10);
    	until (permite1_10 = 'sim') or (permite1_10 = 'não');
    	if(permite1_10 = 'sim') then
    	begin
    		permite2_10 := true;
    		repeat
    			write('Você permite que seu filho use mídias não recomendadas para menores de 12 anos [sim / não]? ');
    			readln(permite1_12);
    		until (permite1_12 = 'sim') or (permite1_12 = 'não');
    		if(permite1_12 = 'sim') then
    		begin
    			permite2_12 := true;
    			repeat
    				write('Você permite que seu filho use mídias não recomendadas para menores de 14 anos [sim / não]? ');
    				readln(permite1_14);
    			until (permite1_14 = 'sim') or (permite1_14 = 'não');
    			if(permite1_14 = 'sim') then
    			begin
    				permite2_14 := true;
    				repeat
    					write('Você permite que seu filho use mídias não recomendadas para menores de 16 anos [sim / não]? ');
    					readln(permite1_16);
    				until (permite1_16 = 'sim') or (permite1_16 = 'não');
    				if(permite1_16 = 'sim') then
    				begin
    					permite2_16 := true;
    					repeat
    						write('Você permite que seu filho use mídias não recomendadas para menores de 18 anos [sim / não]? ');
    						readln(permite1_18);
    					until (permite1_18 = 'sim') or (permite1_18 = 'não');
    					if(permite1_18 = 'sim') then
    					begin
    						permite2_18 := true;
    					end;
    				end;
    			end;
    		end;
    	end;
    	writeln;
    	write('Então seu filho pode usar eletrônicos no máximo ', tempo_max_uso_eletron, ' horas semanais, podendo ouvir músicas infantis');
    	if (tempo_max_uso_eletron >= 4) then
    	begin
    		write(', ouvir músicas livres não infantis infantis, ouvir músicas de jogos eletrônicos, assistir filmes e séries livres de personagens fictícios dublados');
    	end;
    	if (tempo_max_uso_eletron >= 8) then
    	begin
    		write(', assistir programas de televisão livres de entrevistas e entretenimento, assistir programas livres de telejornalismo, jogar jogos eletrônicos livres, assistir filmes, séries e telenovelas livres de personagens reais interpretados');
    	end;
    	if (permite2_10) then
    		begin
    		write(', usar mídias para 10');
    		if (permite2_12) then
    		begin
    			write(', 12');
    			if (permite2_14) then
    			begin
    				write(', 14');
    				if (permite2_16) then
    				begin
    					write(', 16');
    					if (permite2_18) then
    					begin
    						write(', 18');
    					end;
    				end;
    			end;
    		end;
    		write(' anos');
    	end;
    	writeln(' e só!');
    	readln;
    end.
    Citação

    O Clube do Hardware não sugere a marcação de sintaxe Pascal.

    Citação

    O Pascalzim é uma IDE para o Windows 7, 8 ou 10.

     

    • Curtir 1
  5. A Netflix é uma streaming de filmes e séries de TV e a Spotify é uma streaming de músicas. Eu quero ser professor em vídeo, fora do YouTube, dando aula de muitos cursos na área de Informática, de modo que meus alunos deverão me pagar uma mensalidade transferindo mensalmente o dinheiro automaticamente da conta bancária deles para a minha conta bancária. Eu estagio em um Centro de Residência em Software, que os quem mandam lá dizem que poderei criar uma streaming de videocursos após terminar a residência, depois de 14/12/2018. Então como faço agora para começar a criar uma streaming de videocursos?

  6. Eu escrevi um arquivo com a extensão ".phtml". Olha o código que quero corrigir:

     

    <!DOCTYPE html>
    <html lang="pt-br">
        <head>
            <meta charset="utf-8">
            <title>Formulário CRS - 26/03/2018</title>
            <?php
              $nome = $_GET["name"];
              $email = $_GET["email"];
              do
              {
                $escolheSenha = $_GET["password_choose"];
                $confirmaSenha = $_GET["password_confirm"];
              }
              while($escolheSenha <> $confirmaSenha);
              $cancelar = $_GET["cancel"];
              if($cancelar)
              {
                $nome = "";
                $email = "";
                $escolheSenha = "";
                $confirmaSenha = "";
              }
            ?>
        </head>
        <body>
            <form method="get" action="dados.php">
                Nome:<input type="text" maxlength="50" name="name">
                Email:<input type="text" maxlength="35" name="email">
                Escolha uma Senha:<input type="password" maxlength="16" name="password_choose">
                Confirme a Senha:<input type="password" maxlength="16" name="password_confirm">
                <input type="submit" name="save" value="Salvar">
                <input type="button" name="cancel" value="Cancelar">
            </form>
        </body>
    </html>

     

  7. Depois de informar o valor de op[5] no método setDeficiente na classe Deficiente, o Windows 10 diz que o arquivo "*.exe" parou de funcionar. Então como se corrige esse problema?

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>
    #include <string.h>
    #include <locale.h>
    
    class Deficiente{
        protected:
            bool deficienteFisicoNulo, deficienteFisicoLeve, deficienteFisicoModerado, deficienteFisicoPesado;
            bool deficienteMentalNulo, deficienteMentalLeve, deficienteMentalModerado, deficienteMentalPesado;
            bool deficienteComportamentalNulo, deficienteComportamentalLeve;
            bool deficienteComportamentalModerado, deficienteComportamentalPesado;
            bool deficienteVocalNulo, deficienteVocalLeve, deficienteVocalModerado, deficienteVocalPesado;
            bool deficienteAuditivoNulo, deficienteAuditivoLeve;
            bool deficienteAuditivoModerado, deficienteAuditivoPesado;
            bool deficienteVisualNulo, deficienteVisualLeve, deficienteVisualModerado, deficienteVisualPesado;
            bool paiPaqueraHomemPermite; /// O pai de um homem solteiro permite que este paquere.
            bool paiPaqueraMulherPermite; /// O pai de uma mulher solteira permite que esta paquere.
            bool maePaqueraHomemPermite; /// A mãe de um homem solteiro permite que este paquere.
            bool maePaqueraMulherPermite; /// A mãe de uma mulher solteira permite que esta paquere.
            int idade, diaAtual, mesAtual, anoAtual;
        public:
            void setDeficiente(){
                int op[6], i, j;
                printf("Quais os 6 tipos de deficiente você é?\n");
                printf("\n1 - Deficiente Físico Nulo");
                printf("\n2 - Deficiente Físico Leve");
                printf("\n3 - Deficiente Físico Moderado");
                printf("\n4 - Deficiente Físico Pesado");
                printf("\n5 - Deficiente Mental Nulo");
                printf("\n6 - Deficiente Mental Leve");
                printf("\n7 - Deficiente Mental Moderado");
                printf("\n8 - Deficiente Mental Pesado");
                printf("\n9 - Deficiente Comportamental Nulo");
                printf("\n10 - Deficiente Comportamental Leve");
                printf("\n11 - Deficiente Comportamental Moderado");
                printf("\n12 - Deficiente Comportamental Pesado");
                printf("\n13 - Deficiente Vocal Nulo");
                printf("\n14 - Deficiente Vocal Leve");
                printf("\n15 - Deficiente Vocal Moderado");
                printf("\n16 - Deficiente Vocal Pesado");
                printf("\n17 - Deficiente Auditivo Nulo");
                printf("\n18 - Deficiente Auditivo Leve");
                printf("\n19 - Deficiente Auditivo Moderado");
                printf("\n20 - Deficiente Auditivo Pesado");
                printf("\n21 - Deficiente Visual Nulo");
                printf("\n22 - Deficiente Visual Leve");
                printf("\n23 - Deficiente Visual Moderado");
                printf("\n24 - Deficiente Visual Pesado\n\n");
                for(i = 0; i < 6; i++){
                    scanf("%d", op[i]);
                    if(op[i] == 1 || op[i] == 5 || op[i] == 9 || op[i] == 13 || op[i] == 17 || op[i] == 21) j = 0;
                    else if(op[i] == 2 || op[i] == 6 || op[i] == 10 || op[i] == 14 || op[i] == 18 || op[i] == 22) j = 1;
                    else if(op[i] == 3 || op[i] == 7 || op[i] == 11 || op[i] == 15 || op[i] == 19 || op[i] == 23) j = 2;
                    else if(op[i] == 4 || op[i] == 8 || op[i] == 12 || op[i] == 16 || op[i] == 20 || op[i] == 24) j = 3;
                    if(i == 0){
                        if(j == 0) this->deficienteFisicoNulo = true;
                        else if(j == 1) this->deficienteFisicoLeve = true;
                        else if(j == 2) this->deficienteFisicoModerado = true;
                        else if(j == 3) this->deficienteFisicoPesado = true;
                    }
                    else if(i == 1){
                        if(j == 0) this->deficienteMentalNulo = true;
                        else if(j == 1) this->deficienteMentalLeve = true;
                        else if(j == 2) this->deficienteMentalModerado = true;
                        else if(j == 3) this->deficienteMentalPesado = true;
                    }
                    else if(i == 2){
                        if(j == 0) this->deficienteComportamentalNulo = true;
                        else if(j == 1) this->deficienteComportamentalLeve = true;
                        else if(j == 2) this->deficienteComportamentalModerado = true;
                        else if(j == 3) this->deficienteComportamentalPesado = true;
                    }
                    else if(i == 3){
                        if(j == 0) this->deficienteVocalNulo = true;
                        else if(j == 1) this->deficienteVocalLeve = true;
                        else if(j == 2) this->deficienteVocalModerado = true;
                        else if(j == 3) this->deficienteVocalPesado = true;
                    }
                    else if(i == 4){
                        if(j == 0) this->deficienteAuditivoNulo = true;
                        else if(j == 1) this->deficienteAuditivoLeve = true;
                        else if(j == 2) this->deficienteAuditivoModerado = true;
                        else if(j == 3) this->deficienteAuditivoPesado = true;
                    }
                    else if(i == 5){
                        if(j == 0) this->deficienteVisualNulo = true;
                        else if(j == 1) this->deficienteVisualLeve = true;
                        else if(j == 2) this->deficienteVisualModerado = true;
                        else if(j == 3) this->deficienteVisualPesado = true;
                    }
                }
            }
            void setDataAtual(){
                printf("Em que ano nós estamos? ");
                scanf("%d", &this->anoAtual);
                printf("Em que mês nós estamos? ");
                scanf("%d", &this->mesAtual);
                printf("Em que dia nós estamos? ");
                scanf("%d", &this->diaAtual);
            }
            int __cdecl getDataAtual(){
                return ("%d/%d/%d", this->diaAtual, this->mesAtual, this->anoAtual);
            }
            void setPodePaquerar(){
                int genero;
                bool paiPermit, maePermit;
                do{
                    printf("Você é homem (1) ou mulher (2)? ");
                    scanf("%d", &genero);
                }
                while(genero < 1 || genero > 2);
                printf("Qual é a sua idade? ");
                scanf("%d", &this->idade);
                printf("Seu pai te permite paquerar? ");
                scanf("%d", &paiPermit);
                printf("Sua mãe te permite paquerar? ");
                scanf("%d", &maePermit);
                if(genero == 1){
                    if(paiPermit) this->paiPaqueraHomemPermite = true;
                    else this->paiPaqueraHomemPermite = false;
                    if(maePermit) this->maePaqueraHomemPermite = true;
                    else this->maePaqueraHomemPermite = false;
                }
                else if(genero == 2){
                    if(paiPermit) this->paiPaqueraMulherPermite = true;
                    else this->paiPaqueraMulherPermite = false;
                    if(maePermit) this->maePaqueraMulherPermite = true;
                    else this->maePaqueraMulherPermite = false;
                }
            }
            bool getPodePaquerar(){
                return ((this->paiPaqueraHomemPermite && this->maePaqueraHomemPermite) || (this->paiPaqueraMulherPermite && this->maePaqueraMulherPermite));
            }
    };
    
    class Paquera:public Deficiente{
        protected:
            int anoInicPaquera, mesInicPaquera, diaInicPaquera;
            bool paiNamoradoPermite; /// O pai de um homem paquera permite que este namore.
            bool paiNamoradaPermite; /// O pai de uma mulher paquera permite que esta namore.
            bool maeNamoradoPermite; /// A mãe de um homem paquera permite que este namore.
            bool maeNamoradaPermite; /// A mãe de uma mulher paquera permite que esta namore.
            bool separado, divorciado, viuvo;
        public:
            int getTempoMinMesesNamoro(){ /// Tempo mínimo em meses para paquerar antes de namorar
                if(this->deficienteFisicoNulo || this->deficienteMentalNulo || this->deficienteComportamentalNulo || this->deficienteVocalNulo || this->deficienteAuditivoNulo || this->deficienteVisualNulo) return 1;
                else if(this->deficienteFisicoLeve || this->deficienteMentalLeve || this->deficienteComportamentalLeve || this->deficienteVocalLeve || this->deficienteAuditivoLeve || this->deficienteVisualLeve) return 2;
                else if(this->deficienteFisicoModerado || this->deficienteMentalModerado || this->deficienteComportamentalModerado || this->deficienteVocalModerado || this->deficienteAuditivoModerado || this->deficienteVisualModerado) return 4;
                else if(this->deficienteFisicoPesado || this->deficienteMentalPesado || this->deficienteComportamentalPesado || this->deficienteVocalPesado || this->deficienteAuditivoPesado || this->deficienteVisualPesado) return 6;
            }
            void frequenciaEncontroPresencial(){
                printf("Vocês precisam se encontrar de 1, 2 ou 3 vezes por semana!");
            }
            void irCinema(){
                printf("Vocês precisam ir ao cinema no mínimo 2 vezes por mês!");
            }
            void fazerLanche(){
                printf("Vocês precisam fazer um lanche em lanchonetes no mínimo 2 vezes por mês!");
            }
            void visitarCasa(){
                printf("Tem que ser no mínimo 2 vezes por mês, tanto o paquera ir à casa da paquera, como a paquera ir à casa do paquera!");
            }
            void setDataInicPaquera(){
                printf("Em que ano você começou a paquerar? ");
                scanf("%d", &this->anoInicPaquera);
                printf("Em que mês você começou a paquerar? ");
                scanf("%d", &this->mesInicPaquera);
                printf("Em que dia você começou a paquerar? ");
                scanf("%d", &this->diaInicPaquera);
            }
            int __cdecl getDataInicPaquera(){
                return ("%d/%d/%d", this->diaInicPaquera, this->mesInicPaquera, this->anoInicPaquera);
            }
            int mesesPaquera(){
                int meses = this->mesAtual - this->mesInicPaquera;
                meses += (12 * (this->anoAtual - this->anoInicPaquera));
                return meses;
            }
            bool naoPodeMaisRelacionamento(){ /// Você não pode mais se relacionar com quem você estava.
                printf("Você já se separou terminando o relacionamento com o retorno da mesma pessoa um outro momento da sua vida? ");
                scanf("%d", &this->separado);
                printf("Você já se divorciou terminando o relacionamento não retornando com a mesma pessoa até sua morte? ");
                scanf("%d", &this->divorciado);
                printf("Você já se enviuvou terminando o relacionamento descobrindo que a pessoa já faleceu durante o relacionamento? ");
                scanf("%d", &this->viuvo);
                return (this->separado || this->divorciado || this->viuvo);
            }
            void setPodeNamorar(){
                int genero;
                bool paiPermit, maePermit;
                do{
                    printf("Você é homem (1) ou mulher (2)? ");
                    scanf("%d", &genero);
                }
                while(genero < 1 || genero > 2);
                printf("Qual é a sua idade? ");
                scanf("%d", &this->idade);
                printf("Seu pai te permite namorar (0 / 1)? ");
                scanf("%d", &paiPermit);
                printf("Sua mãe te permite namorar (0 / 1)? ");
                scanf("%d", &maePermit);
                if(genero == 1){
                    if(paiPermit) this->paiNamoradoPermite = true;
                    else this->paiNamoradoPermite = false;
                    if(maePermit) this->maeNamoradoPermite = true;
                    else this->maeNamoradoPermite = false;
                }
                if(genero == 2){
                    if(paiPermit) this->paiNamoradaPermite = true;
                    else this->paiNamoradaPermite = false;
                    if(maePermit) this->maeNamoradaPermite = true;
                    else this->maeNamoradaPermite = false;
                }
                if(this->paiNamoradoPermite) this->paiPaqueraHomemPermite = true;
                if(this->maeNamoradoPermite) this->maePaqueraHomemPermite = true;
                if(this->paiNamoradaPermite) this->paiPaqueraMulherPermite = true;
                if(this->maeNamoradaPermite) this->maePaqueraMulherPermite = true;
            }
            bool getPodeNamorar(){
                return (((this->paiNamoradoPermite && this->maeNamoradoPermite) || (this->paiNamoradaPermite && this->maeNamoradaPermite)) && mesesPaquera() >= getTempoMinMesesNamoro());
            }
    };
    
    class Namoro:public Paquera{
        protected:
            int anoInicNamoro, mesInicNamoro, diaInicNamoro;
            bool paiNoivoPermite; /// O pai de um homem namorado permite que este noive.
            bool paiNoivaPermite; /// O pai de uma mulher namorada permite que esta noive.
            bool maeNoivoPermite; /// A mãe de um homem namorado permite que este noive.
            bool maeNoivaPermite; /// A mãe de uma mulher namorada permite que esta noive.
            bool paiConviventeHomemPermite; /// O pai de um homem namorado permite que este conviva.
            bool paiConviventeMulherPermite; /// O pai de uma mulher namorada permite que esta conviva.
            bool maeConviventeHomemPermite; /// O pai de um homem namorado permite que este conviva.
            bool maeConviventeMulherPermite; /// O pai de uma mulher namorada permite que esta conviva.
        public:
            int getTempoMinMesesNoivado(){ /// Tempo mínimo em meses para namorar antes de noivar
                if(this->deficienteFisicoNulo || this->deficienteMentalNulo || this->deficienteComportamentalNulo || this->deficienteVocalNulo || this->deficienteAuditivoNulo || this->deficienteVisualNulo) return 12;
                else if(this->deficienteFisicoLeve || this->deficienteMentalLeve || this->deficienteComportamentalLeve || this->deficienteVocalLeve || this->deficienteAuditivoLeve || this->deficienteVisualLeve) return 16;
                else if(this->deficienteFisicoModerado || this->deficienteMentalModerado || this->deficienteComportamentalModerado || this->deficienteVocalModerado || this->deficienteAuditivoModerado || this->deficienteVisualModerado) return 20;
                else if(this->deficienteFisicoPesado || this->deficienteMentalPesado || this->deficienteComportamentalPesado || this->deficienteVocalPesado || this->deficienteAuditivoPesado || this->deficienteVisualPesado) return 24;
            }
            int getTempoMinMesesConvivencia(){ /// Tempo mínimo em meses para namorar antes de conviver
                return getTempoMinMesesNoivado();
            }
            int mesesNamoro(){
                int meses = this->mesAtual - this->mesInicNamoro;
                meses += (12 * (this->anoAtual - this->anoInicNamoro));
                return meses;
            }
            void setDataInicNamoro(){
                printf("Em que ano você começou a namorar? ");
                scanf("%d", &this->anoInicNamoro);
                printf("Em que mês você começou a namorar? ");
                scanf("%d", &this->mesInicNamoro);
                printf("Em que dia você começou a namorar? ");
                scanf("%d", &this->diaInicNamoro);
            }
            int __cdecl getDataInicNamoro(){
                return ("%d/%d/%d", this->diaInicNamoro, this->mesInicNamoro, this->anoInicNamoro);
            }
            void dormirCasaRelacionamento(){
                printf("Você pode dormir na casa de quem você está tendo o relacionamento!");
            }
            void viajarJunto(){
                printf("Você pode viajar junto com quem você está tendo o relacionamento!");
            }
            void viajarTodoFimSemana(){
                printf("Você pode viajar todo fim de semana para ver quem você está tendo o relacionamento, se ele mora em outra cidade!");
            }
            void beijarBoca(){
                printf("Você e quem você está tendo o relacionamento podem se beijar na boca!");
            }
            void alianca(){
                printf("Você pode ter o nome de quem você está tendo o relacionamento na sua aliança de prata no anelar direito!");
            }
            void setPodeNoivar(){
                int genero;
                bool paiPermit, maePermit;
                do{
                    printf("Você é homem (1) ou mulher (2)? ");
                    scanf("%d", &genero);
                }
                while(genero < 1 || genero > 2);
                printf("Qual é a sua idade? ");
                scanf("%d", &this->idade);
                printf("Seu pai te permite noivar (0 / 1)? ");
                scanf("%d", &paiPermit);
                printf("Sua mãe te permite noivar (0 / 1)? ");
                scanf("%d", &maePermit);
                if(genero == 1){
                    if(paiPermit) this->paiNoivoPermite = true;
                    else this->paiNoivoPermite = false;
                    if(maePermit) this->maeNoivoPermite = true;
                    else this->maeNoivoPermite = false;
                }
                else if(genero == 2){
                    if(paiPermit) this->paiNoivaPermite = true;
                    else this->paiNoivaPermite = false;
                    if(maePermit) this->maeNoivaPermite = true;
                    else this->maeNoivaPermite = false;
                }
                if(this->paiNoivoPermite) this->paiNamoradoPermite = true;
                if(this->maeNoivoPermite) this->maeNamoradoPermite = true;
                if(this->paiNoivaPermite) this->paiNamoradaPermite = true;
                if(this->maeNoivaPermite) this->maeNamoradaPermite = true;
            }
            bool getPodeNoivar(){
                return (((this->paiNoivoPermite && this->maeNoivoPermite) || (this->paiNoivaPermite && this->maeNoivaPermite)) && mesesNamoro() >= getTempoMinMesesNoivado());
            }
            void setPodeConviver(){
                int genero;
                bool paiPermit, maePermit;
                do{
                    printf("Você é homem (1) ou mulher (2)? ");
                    scanf("%d", &genero);
                }
                while(genero < 1 || genero > 2);
                printf("Qual é a sua idade? ");
                scanf("%d", &this->idade);
                printf("Seu pai te permite conviver (0 / 1)? ");
                scanf("%d", &paiPermit);
                printf("Sua mãe te permite conviver (0 / 1)? ");
                scanf("%d", &maePermit);
                if(genero == 1){
                    if(paiPermit) this->paiConviventeHomemPermite = true;
                    else this->paiConviventeHomemPermite = false;
                    if(maePermit) this->maeConviventeHomemPermite = true;
                    else this->maeConviventeHomemPermite = false;
                }
                else if(genero == 2){
                    if(paiPermit) this->paiConviventeMulherPermite = true;
                    else this->paiConviventeMulherPermite = false;
                    if(maePermit) this->maeConviventeMulherPermite = true;
                    else this->maeConviventeMulherPermite = false;
                }
                if(this->paiConviventeHomemPermite) this->paiNamoradoPermite = true;
                if(this->maeConviventeHomemPermite) this->maeNamoradoPermite = true;
                if(this->paiConviventeMulherPermite) this->paiNamoradoPermite = true;
                if(this->maeConviventeMulherPermite) this->maeNamoradoPermite = true;
            }
            bool getPodeConviver(){
                return (((this->paiConviventeHomemPermite && this->maeConviventeHomemPermite) || (this->paiConviventeMulherPermite && this->maeConviventeMulherPermite)) && mesesNamoro() >= getTempoMinMesesConvivencia());
            }
    };
    
    class Noivado:public Namoro{
        protected:
            int anoInicNoivado, mesInicNoivado, diaInicNoivado, numFilhos;
            bool temFilhos, temNetos, temBisnetos, temTrinetos, temTetranetos;
            bool paiCasadoCivilPermite; /// O pai de um homem noivo permite que este se case civilmente.
            bool paiCasadaCivilPermite; /// O pai de uma mulher noiva permite que esta se case civilmente.
            bool maeCasadoCivilPermite; /// A mãe de um homem noivo permite que este se case civilmente.
            bool maeCasadaCivilPermite; /// A mãe de uma mulher noiva permite que esta se case civilmente.
            bool paiCasadoReligiosoPermite; /// O pai de um homem noivo permite que este se case religiosamente.
            bool paiCasadaReligiosoPermite; /// O pai de uma mulher noiva permite que esta se case religiosamente.
            bool maeCasadoReligiosoPermite; /// A mãe de um homem noivo permite que este se case religiosamente.
            bool maeCasadaReligiosoPermite; /// A mãe de uma mulher noiva permite que esta se case religiosamente.
        public:
            int getTempoMinMesesCasamento(){ /// Tempo mínimo em meses para noivar antes de casar
                if(this->deficienteFisicoNulo || this->deficienteMentalNulo || this->deficienteComportamentalNulo || this->deficienteVocalNulo || this->deficienteAuditivoNulo || this->deficienteVisualNulo) return 4;
                else if(this->deficienteFisicoLeve || this->deficienteMentalLeve || this->deficienteComportamentalLeve || this->deficienteVocalLeve || this->deficienteAuditivoLeve || this->deficienteVisualLeve) return 8;
                else if(this->deficienteFisicoModerado || this->deficienteMentalModerado || this->deficienteComportamentalModerado || this->deficienteVocalModerado || this->deficienteAuditivoModerado || this->deficienteVisualModerado) return 12;
                else if(this->deficienteFisicoPesado || this->deficienteMentalPesado || this->deficienteComportamentalPesado || this->deficienteVocalPesado || this->deficienteAuditivoPesado || this->deficienteVisualPesado) return 16;
            }
            int mesesNoivado(){
                int meses = this->mesAtual - this->mesInicNoivado;
                meses += (12 * (this->anoAtual - this->anoInicNoivado));
                return meses;
            }
            void temHerdeiros(){
                this->temFilhos = false;
                this->temNetos = false;
                this->temBisnetos = false;
                this->temTrinetos = false;
                this->temTetranetos = false;
                printf("Você já teve filhos (0 / 1)? ");
                scanf("%d", &this->temFilhos);
                if(this->temFilhos){
                    printf("Você já teve netos (0 / 1)? ");
                    scanf("%d", &this->temNetos);
                    if(this->temNetos){
                        printf("Você já teve bisnetos (0 / 1)? ");
                        scanf("%d", &this->temBisnetos);
                        if(this->temBisnetos){
                            printf("Você já teve trinetos (0 / 1)? ");
                            scanf("%d", &this->temTrinetos);
                            if(this->temTrinetos){
                                printf("Você já teve tetranetos (0 / 1)? ");
                                scanf("%d", &this->temTetranetos);
                            }
                        }
                    }
                }
            }
            void numeroFilhos(){
                do{
                    printf("Quantos filhos você quer ter desde quando você começou a noivar até sua morte? ");
                    scanf("%d", &this->numFilhos);
                }
                while(this->numFilhos < 0);
            }
            void setDataInicNoivado(){
                printf("Em que ano você começou a noivar? ");
                scanf("%d", &this->anoInicNoivado);
                printf("Em que mês você começou a noivar? ");
                scanf("%d", &this->mesInicNoivado);
                printf("Em que dia você começou a noivar? ");
                scanf("%d", &this->diaInicNoivado);
            }
            int __cdecl getDataInicNoivado(){
                return ("%d/%d/%d", this->diaInicNoivado, this->mesInicNoivado, this->anoInicNoivado);
            }
            void festa(){
                printf("Você pode fazer uma festa no início do seu noivado!");
            }
            void setPodeCasar(){
                int genero;
                bool paiPermitCiv, maePermitCiv, paiPermitRel, maePermitRel;
                do{
                    printf("Você é homem (1) ou mulher (2)? ");
                    scanf("%d", &genero);
                }
                while(genero < 1 || genero > 2);
                printf("Qual é a sua idade? ");
                scanf("%d", &this->idade);
                printf("Seu pai te permite casar civilmente (0 / 1)? ");
                scanf("%d", &paiPermitCiv);
                printf("Sua mãe te permite casar civilmente (0 / 1)? ");
                scanf("%d", &maePermitCiv);
                printf("Seu pai te permite casar religiosamente (0 / 1)? ");
                scanf("%d", &paiPermitRel);
                printf("Sua mãe te permite casar religiosamente (0 / 1)? ");
                scanf("%d", &maePermitRel);
                if(genero == 1){
                    if(paiPermitCiv) this->paiCasadoCivilPermite = true;
                    else this->paiCasadoCivilPermite = false;
                    if(paiPermitRel) this->paiCasadoReligiosoPermite = true;
                    else this->paiCasadoReligiosoPermite = false;
                    if(maePermitCiv) this->maeCasadoCivilPermite = true;
                    else this->maeCasadoCivilPermite = false;
                    if(maePermitRel) this->maeCasadoReligiosoPermite = true;
                    else this->maeCasadoReligiosoPermite = false;
                }
                else if(genero == 2){
                    if(paiPermitCiv) this->paiCasadaCivilPermite = true;
                    else this->paiCasadaCivilPermite = false;
                    if(paiPermitRel) this->paiCasadaReligiosoPermite = true;
                    else this->paiCasadaReligiosoPermite = false;
                    if(maePermitCiv) this->maeCasadaCivilPermite = true;
                    else this->maeCasadaCivilPermite = false;
                    if(maePermitRel) this->maeCasadaReligiosoPermite = true;
                    else this->maeCasadaReligiosoPermite = false;
                }
                if(this->paiCasadoCivilPermite || this->paiCasadoReligiosoPermite) this->paiNoivoPermite = true;
                if(this->paiCasadaCivilPermite || this->paiCasadaReligiosoPermite) this->paiNoivaPermite = true;
                if(this->maeCasadoCivilPermite || this->maeCasadoReligiosoPermite) this->maeNoivoPermite = true;
                if(this->maeCasadaCivilPermite || this->maeCasadaReligiosoPermite) this->maeNoivaPermite = true;
            }
            bool getPodeCasar(){
                return ((((this->paiCasadoCivilPermite && this->maeCasadoCivilPermite) || (this->paiCasadoReligiosoPermite && this->maeCasadoReligiosoPermite)) || ((this->paiCasadaCivilPermite && this->maeCasadaCivilPermite) || (this->paiCasadaReligiosoPermite && this->maeCasadaReligiosoPermite))) && mesesNoivado() >= getTempoMinMesesCasamento());
            }
    };
    
    class Convivencia:public Namoro{
        protected:
            int anoInicConvivencia, mesInicConvivencia, diaInicConvivencia, numFilhos;
            bool temFilhos, temNetos, temBisnetos, temTrinetos, temTetranetos;
            bool paiCasadoCivilPermite; /// O pai de um homem convivente permite que este se case civilmente.
            bool paiCasadaCivilPermite; /// O pai de uma mulher convivente permite que esta se case civilmente.
            bool maeCasadoCivilPermite; /// A mãe de um homem convivente permite que este se case civilmente.
            bool maeCasadaCivilPermite; /// A mãe de uma mulher convivente permite que esta se case civilmente.
            bool paiCasadoReligiosoPermite; /// O pai de um homem convivente permite que este se case religiosamente.
            bool paiCasadaReligiosoPermite; /// O pai de uma mulher convivente permite que esta se case religiosamente.
            bool maeCasadoReligiosoPermite; /// A mãe de um homem convivente permite que este se case religiosamente.
            bool maeCasadaReligiosoPermite; /// A mãe de uma mulher convivente permite que esta se case religiosamente.
        public:
            int getTempoMinMesesCasamento(){ /// Tempo mínimo em meses para conviver antes de casar
                if(this->deficienteFisicoNulo || this->deficienteMentalNulo || this->deficienteComportamentalNulo || this->deficienteVocalNulo || this->deficienteAuditivoNulo || this->deficienteVisualNulo) return 6;
                else if(this->deficienteFisicoLeve || this->deficienteMentalLeve || this->deficienteComportamentalLeve || this->deficienteVocalLeve || this->deficienteAuditivoLeve || this->deficienteVisualLeve) return 9;
                else if(this->deficienteFisicoModerado || this->deficienteMentalModerado || this->deficienteComportamentalModerado || this->deficienteVocalModerado || this->deficienteAuditivoModerado || this->deficienteVisualModerado) return 12;
                else if(this->deficienteFisicoPesado || this->deficienteMentalPesado || this->deficienteComportamentalPesado || this->deficienteVocalPesado || this->deficienteAuditivoPesado || this->deficienteVisualPesado) return 15;
            }
            int mesesConvivencia(){
                int meses = this->mesAtual - this->mesInicConvivencia;
                meses += (12 * (this->anoAtual - this->anoInicConvivencia));
                return meses;
            }
            void temHerdeiros(){
                this->temFilhos = false;
                this->temNetos = false;
                this->temBisnetos = false;
                this->temTrinetos = false;
                this->temTetranetos = false;
                printf("Você já teve filhos (0 / 1)? ");
                scanf("%d", &this->temFilhos);
                if(this->temFilhos){
                    printf("Você já teve netos (0 / 1)? ");
                    scanf("%d", &this->temNetos);
                    if(this->temNetos){
                        printf("Você já teve bisnetos (0 / 1)? ");
                        scanf("%d", &this->temBisnetos);
                        if(this->temBisnetos){
                            printf("Você já teve trinetos (0 / 1)? ");
                            scanf("%d", &this->temTrinetos);
                            if(this->temTrinetos){
                                printf("Você já teve tetranetos (0 / 1)? ");
                                scanf("%d", &this->temTetranetos);
                            }
                        }
                    }
                }
            }
            void numeroFilhos(){
                do{
                    printf("Quantos filhos você quer ter desde quando você começou a noivar até sua morte? ");
                    scanf("%d", &this->numFilhos);
                }
                while(this->numFilhos < 0);
            }
            void setDataInicConvivencia(){
                printf("Em que ano você começou a conviver? ");
                scanf("%d", &this->anoInicConvivencia);
                printf("Em que mês você começou a conviver? ");
                scanf("%d", &this->mesInicConvivencia);
                printf("Em que dia você começou a conviver? ");
                scanf("%d", &this->diaInicConvivencia);
            }
            int __cdecl getDataInicConvivencia(){
                return ("%d/%d/%d", this->diaInicConvivencia, this->mesInicConvivencia, this->anoInicConvivencia);
            }
            void morarJunto(){
                printf("Você pode morar junto com quem você está tendo o relacionamento!");
            }
            void alianca(){
                printf("Você pode ter o nome de quem você está tendo o relacionamento na sua aliança de ouro no anelar direito!");
            }
            void setPodeCasar(){
                int genero;
                bool paiPermitCiv, maePermitCiv, paiPermitRel, maePermitRel;
                do{
                    printf("Você é homem (1) ou mulher (2)? ");
                    scanf("%d", &genero);
                }
                while(genero < 1 || genero > 2);
                printf("Qual é a sua idade? ");
                scanf("%d", &this->idade);
                printf("Seu pai te permite casar civilmente (0 / 1)? ");
                scanf("%d", &paiPermitCiv);
                printf("Sua mãe te permite casar civilmente (0 / 1)? ");
                scanf("%d", &maePermitCiv);
                printf("Seu pai te permite casar religiosamente (0 / 1)? ");
                scanf("%d", &paiPermitRel);
                printf("Sua mãe te permite casar religiosamente (0 / 1)? ");
                scanf("%d", &maePermitRel);
                if(genero == 1){
                    if(paiPermitCiv) this->paiCasadoCivilPermite = true;
                    else this->paiCasadoCivilPermite = false;
                    if(paiPermitRel) this->paiCasadoReligiosoPermite = true;
                    else this->paiCasadoReligiosoPermite = false;
                    if(maePermitCiv) this->maeCasadoCivilPermite = true;
                    else this->maeCasadoCivilPermite = false;
                    if(maePermitRel) this->maeCasadoReligiosoPermite = true;
                    else this->maeCasadoReligiosoPermite = false;
                }
                else if(genero == 2){
                    if(paiPermitCiv) this->paiCasadaCivilPermite = true;
                    else this->paiCasadaCivilPermite = false;
                    if(paiPermitRel) this->paiCasadaReligiosoPermite = true;
                    else this->paiCasadaReligiosoPermite = false;
                    if(maePermitCiv) this->maeCasadaCivilPermite = true;
                    else this->maeCasadaCivilPermite = false;
                    if(maePermitRel) this->maeCasadaReligiosoPermite = true;
                    else this->maeCasadaReligiosoPermite = false;
                }
                if(this->paiCasadoCivilPermite || this->paiCasadoReligiosoPermite) this->paiConviventeHomemPermite = true;
                if(this->paiCasadaCivilPermite || this->paiCasadaReligiosoPermite) this->paiConviventeMulherPermite = true;
                if(this->maeCasadoCivilPermite || this->maeCasadoReligiosoPermite) this->maeConviventeHomemPermite = true;
                if(this->maeCasadaCivilPermite || this->maeCasadaReligiosoPermite) this->maeConviventeMulherPermite = true;
            }
            bool getPodeCasar(){
                return ((((this->paiCasadoCivilPermite && this->maeCasadoCivilPermite) || (this->paiCasadoReligiosoPermite && this->maeCasadoReligiosoPermite)) || ((this->paiCasadaCivilPermite && this->maeCasadaCivilPermite) || (this->paiCasadaReligiosoPermite && this->maeCasadaReligiosoPermite))) && mesesConvivencia() >= getTempoMinMesesCasamento());
            }
    };
    
    class Casamento:public Noivado, public Convivencia{
        protected:
            int anoInicCasamento, mesInicCasamento, diaInicCasamento;
            bool civil, religioso;
        public:
            void setDataInicCasamento(){
                printf("Em que ano você começou a casar-se? ");
                scanf("%d", &this->anoInicCasamento);
                printf("Em que mês você começou a casar-se? ");
                scanf("%d", &this->mesInicCasamento);
                printf("Em que dia você começou a casar-se? ");
                scanf("%d", &this->diaInicCasamento);
            }
            int __cdecl getDataInicCasamento(){
                return ("%d/%d/%d", this->diaInicCasamento, this->mesInicCasamento, this->anoInicCasamento);
            }
            void setEhCasamento(){
                printf("Você já fez casamento civil (0 / 1)? ");
                scanf("%d", &this->civil);
                printf("Você já fez casamento religioso (0 / 1)? ");
                scanf("%d", &this->religioso);
            }
            bool getEhCasamento(){
                return (this->civil || this->religioso);
            }
            void alianca(){
                printf("Você pode ter o nome de quem você está tendo o relacionamento na sua aliança de ouro no anelar esquerdo!");
            }
            void festa(){
                printf("Você pode fazer uma festa no início do seu casamento!");
            }
    };
    
    int main(){
        int op;
        setlocale(LC_ALL, "Portuguese");
        Deficiente a;
        Paquera b;
        Namoro c;
        Noivado d;
        Convivencia e;
        Casamento f;
        a.setDeficiente();
        a.setDataAtual();
        bool pedeCasamento, ganhaCasamento;
        do{
            printf("Você é solteiro (1), paquera (2), namorado (3), noivo (4), convivente (5) ou casado (6)? ");
            scanf("%d", &op);
            switch(op){
                case 1:
                    bool procuraPaquera;
                    b.naoPodeMaisRelacionamento();
                    if(!b.naoPodeMaisRelacionamento()) printf("Você está procurando pela primeira vez alguém para paquerar (0 / 1)? ");
                    else printf("Você ainda está procurando outra pessoa para paquerar (0 / 1)? ");
                    scanf("%d", &procuraPaquera);
                    if(procuraPaquera){
                        a.setPodePaquerar();
                        if(a.getPodePaquerar()) printf("Então continue procurando!");
                        else printf("Agora você não pode paquerar!");
                    }
                    break;
                case 2:
                    bool pedeNamoro, ganhaNamoro;
                    b.setDataInicPaquera();
                    b.fazerLanche();
                    b.frequenciaEncontroPresencial();
                    b.irCinema();
                    printf("Você quer namorar quem você está paquerando (0 / 1)? ");
                    scanf("%d", &pedeNamoro);
                    if(pedeNamoro){
                        b.setPodeNamorar();
                        if(b.getPodeNamorar()){
                            printf("Quem você está paquerando quer te namorar (0 / 1)? ");
                            scanf("%d", &ganhaNamoro);
                            if(ganhaNamoro) printf("Então vocês podem namorar!");
                            else printf("Então continue paquerando!");
                        }
                        else printf("Então continue paquerando!");
                    }
                    break;
                case 3:
                    bool pedeNoivado, ganhaNoivado, pedeConvivencia, ganhaConvivencia;
                    c.alianca();
                    c.beijarBoca();
                    c.dormirCasaRelacionamento();
                    c.viajarJunto();
                    c.viajarTodoFimSemana();
                    c.setDataInicNamoro();
                    printf("Você quer noivar com quem você está namorando (0 / 1)? ");
                    scanf("%d", &pedeNoivado);
                    if(!pedeNoivado){
                        printf("Você quer conviver com quem você está namorando (0 / 1)? ");
                        scanf("%d", &pedeConvivencia);
                        if(pedeConvivencia){
                            c.setPodeConviver();
                            if(c.getPodeConviver()){
                                printf("Quem você está namorando quer conviver com você (0 / 1)? ");
                                scanf("%d", &ganhaConvivencia);
                                if(ganhaConvivencia) printf("Então vocês podem conviver!");
                                else printf("Então continue namorando!");
                            }
                            else printf("Então continue namorando!");
                        }
                    }
                    else{
                        c.setPodeNoivar();
                        if(c.getPodeNoivar()){
                            printf("Quem você está namorando quer noivar com você? (0 / 1)? ");
                            scanf("%d", &ganhaNoivado);
                            if(ganhaNoivado) printf("Então vocês podem conviver!");
                            else printf("Então continue namorando!");
                        }
                        else printf("Então continue namorando!");
                    }
                    break;
                case 4:
                    d.festa();
                    d.numeroFilhos();
                    d.temHerdeiros();
                    d.setDataInicNoivado();
                    d.alianca();
                    printf("Você quer se casar com quem você está noivando (0 / 1)? ");
                    scanf("%d", &pedeCasamento);
                    if(pedeCasamento){
                        d.setPodeCasar();
                        if(d.getPodeCasar()){
                            printf("Quem você está noivando quer se casar com você (0 / 1)? ");
                            scanf("%d", &ganhaCasamento);
                            if(ganhaCasamento) printf("Então vocês podem se casar!");
                            else printf("Então continue noivando!");
                        }
                        else printf("Então continue noivando!");
                    }
                    break;
                case 5:
                    e.alianca();
                    e.morarJunto();
                    e.numeroFilhos();
                    e.temHerdeiros();
                    printf("Você quer se casar com quem você está convivendo (0 / 1)? ");
                    scanf("%d", &pedeCasamento);
                    if(pedeCasamento){
                        d.setPodeCasar();
                        if(d.getPodeCasar()){
                            printf("Quem você está convivendo quer se casar com você (0 / 1)? ");
                            scanf("%d", &ganhaCasamento);
                            if(ganhaCasamento) printf("Então vocês podem se casar!");
                            else printf("Então continue convivendo!");
                        }
                        else printf("Então continue convivendo!");
                    }
                    break;
                case 6:
                    f.alianca();
                    f.setDataInicCasamento();
                    f.setEhCasamento();
                    if(!f.getEhCasamento()) printf("Então não é casamento!");
                    break;
            }
        }
        while(op < 1 || op > 6);
        return 0;
    }

     

    • Curtir 2
  8. Só pode ser em C++ se for orientado a objetos. Eu tenho um programa em C que, o funcionamento é que controla o uso de eletrônicos dos viciados, dizendo o número máximo de horas semanais que o controlado pode usar eletrônicos. 100 reais é um bom valor para vender esse programa com um código-fonte de 50 linhas. Então procuro algum funcionamento de programa em que 4 mil reais seja um bom valor para venda.

     

    Olha como é o código do programa de 100 reais:

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <stdbool.h>
    
    int main(){
        int op, idadeAnos, idadeMeses, tempoMaxUso;
        setlocale(LC_ALL, "Portuguese");
        do{
            printf("Você quer controlar o uso de eletrônicos seu (1) ou do seu filho (2)? ");
            scanf("%d", &op);
            switch(op){
                case 1:
                    printf("\nQual é a sua idade em anos? ");
                    scanf("%d", &idadeAnos);
                    if(idadeAnos < 20) printf("\nErro na idade!\n");
                    else{
                        tempoMaxUso = idadeAnos;
                        if(tempoMaxUso % 2 == 1) tempoMaxUso--;
                        tempoMaxUso *= 2;
                        if(tempoMaxUso > 60) tempoMaxUso = 60;
                        printf("\nEntão você poderá usar eletrônicos no máximo %d horas semanais!\n", tempoMaxUso);
                    }
                    break;
                case 2:
                    printf("\nQual é a idade do seu filho em meses? ");
                    scanf("%d", &idadeMeses);
                    if(idadeMeses < 0) printf("\nIdade não pode ser negativa!\n");
                    else if(idadeMeses < 6) printf("\nEntão seu filho não poderá usar eletrônicos a momento algum!\n");
                    else{
                        if(idadeMeses < 12 * 2) tempoMaxUso = 2;
                        else if(idadeMeses < 12 * 4) tempoMaxUso = 4;
                        else{
                            tempoMaxUso = idadeMeses;
                            tempoMaxUso = tempoMaxUso - (tempoMaxUso % 12);
                            tempoMaxUso /= 12;
                            if(tempoMaxUso % 2 == 1) tempoMaxUso--;
                            tempoMaxUso *= 2;
                            if(tempoMaxUso > 60) tempoMaxUso = 60;
                        }
                        printf("\nEntão seu filho poderá usar eletrônicos no máximo %d horas semanais!\n", tempoMaxUso);
                    }
                    break;
                default:
                    printf("\nOpção Inválida!\n\n");
            }
        }
        while(op < 1 || op > 2);
        return 0;
    }

     

    • Curtir 1
  9. Quando eu gravo um vídeo com o Samsung Galaxy A7 2017, de 4 a 6 minutos, o Google Fotos fica demorando demais para fazer o backup do vídeo. Nas lojas Americanas não tinha nenhum Android mais novo que esse no dia 15/02/2018. E só consigo passar o vídeo para meu notebook do Windows 10 quando o backup do vídeo no Google Fotos estiver concluído.

     

    Sendo assim gostaria da recomendação de um novo smartphone na faixa dos R$ 1.200,00.

    • Haha 1
  10. Será que todo programa compatível com o Linux Ubuntu 16.04.3 LTS (Xenial Xerus) de 64 bits é compatível com o Linux Ubuntu 17.04 (Zesty Zapus) de 64 bits? Essa é minha pergunta. Por quê? Olha quais programas eu quero instalar no Linux Ubuntu 17.04 (Zesty Zapus) de 64 bits:

     

    <

     

    Programa 1:

     

    "

    1. Terminal (ctrl + alt + T)
    2. sudo apt-get update
    3. sudo apt-get install clamav clamtk
    4. sudo freshclam

    "

     

    Programa 2:

     

    "

    1. Terminal (ctrl + alt + T)
    2. uname -m (saber se é 32 ou 64 bits)
    3. wget http://heanet.dl.sourceforge.net/project/peazip/6.4.1/peazip_6.4.1.LINUX.GTK2-2_i386.deb -O peazip.deb (se seu sistema é de 32 bits)
    4. wget http://heanet.dl.sourceforge.net/project/peazip/6.4.1/peazip_6.4.1.LINUX.GTK2-2_all.deb -O peazip.deb (se seu sistema é de 64 bits)
    5. sudo apt-get install libatk1.0-0:i386 libc6:i386 libcairo2:i386 libgdk-pixbuf2.0-0:i386 libglib2.0-0:i386 libgtk2.0-0:i386 libpango1.0-0:i386 libx11-6:i386 libcanberra-gtk-module:i386
    6. sudo dpkg -i peazip.deb
    7. sudo apt-get install -f

    "

     

    Programa 3:

     

    "

    1. Terminal (ctrl + alt + T)
    2. uname -m (saber se é 32 ou 64 bits)
    3. wget http://tdf.c3sl.ufpr.br/libreoffice/stable/5.4.3/rpm/x86/LibreOffice_5.4.3_Linux_x86_rpm.tar.gz -O libeoffice.tar.gz (se seu sistema é de 32 bits)
    4. wget http://tdf.c3sl.ufpr.br/libreoffice/stable/5.4.3/rpm/x86/LibreOffice_5.4.3_Linux_x86_rpm_langpack_pt-BR.tar.gz -O libreOffice-pt-br.tar.gz (se seu sistema é de 32 bits)
    5. wget http://tdf.c3sl.ufpr.br/libreoffice/stable/5.4.3/rpm/x86_64/LibreOffice_5.4.3_Linux_x86-64_rpm.tar.gz -O libreOffice.tar.gz (se seu sistema é de 64 bits)
    6. wget http://tdf.c3sl.ufpr.br/libreoffice/stable/5.4.3/rpm/x86_64/LibreOffice_5.4.3_Linux_x86-64_rpm_langpack_pt-BR.tar.gz -O libreOffice-pt-br.tar.gz (se seu sistema é de 64 bits)
    7. tar -vzxf libreOffice.tar.gz
    8. tar -vzxf libreOffice-pt-br.tar.gz
    9. cd LibreOffice_*
    10. cd RPMS
    11. sudo rpm -i *.rpm
    12. cd

    "

     

    Programa 4:

     

    "

    1. Terminal (ctrl + alt + T)
    2. sudo add-apt-repository "deb http://archive.canonical.com/ precise partner"
    3. sudo apt-get update
    4. sudo apt-get install adobereader-enu
    5. sudo add-apt-repository -r "deb http://archive.canonical.com/ precise partner"
    6. sudo apt-get update

    "

     

    Programa 5: "bleachbit_1.12_all_ubuntu1604.deb"

     

    Programa 6: Adobe Flash Player

     

    Programa 7: Java Plugin

     

    >

     

    Isso é possível?

  11. Oi! É para eu entregar até dia 6. Todo resumo de todos esses trabalhos abaixo deverá ter no mínimo 10 linhas. Então me ajudem a corrigir e a completar.

     

    ·        Álgebra booleana: É a álgebra criada pelo matemático britânico George Boole (nasceu em Lincoln, 2 de novembro de 1815 e faleceu em Ballintemple, 8 de dezembro de 1964). A álgebra booleana tem muito a ver com a lógica proposicional e é fundamental para o desenvolvimento da computação moderna. Usa-se nos algoritmos, nos bancos de dados e nos circuitos digitais. Dá para usar com o método da tabela-verdade, método dos argumentos, método dedutivo, método dos circuitos ou mapa de Karnaugh.

    ·        Sistemas de Numeração: O sistema de numeração decimal, posicional na base 10, é o mais utilizado no mundo e é um dos mais utilizados na Informática. Os outros sistemas de numeração mais utilizados na Informática são o binário, posicional na base 2, o octal, posicional na base 8 e o hexadecimal, posicional na base 16. Os outros sistemas de numeração posicionais são usados por um império antigo, que são o maia, vigesimal na base 20 e o babilônico, sexagesimal na base 60. Os outros sistemas de numeração são usados por uma cidade, um estado ou um país, como o egípcio, que seus algarismos têm seu valor decimal, potências de base 10 e expoentes de 0 a 6 e o romano, que têm as letras I, V, X, L, C, D e M.

    ·        Tabela ASCII: É uma tabela com os caracteres com código decimal de 0 a 127, criada por Robert Bemer. Por exemplo, LIVRO (76, 73, 86, 82, 79). O código decimal das letras minúsculas é a soma entre o código decimal da letra maiúscula idêntica e 32. Os caracteres também têm um código hexadecimal.

    ·        Pipeline: Técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções. Aumenta o número de instruções executadas simultaneamente e a taxa de instruções iniciadas e terminadas por unidade de tempo. O pipeline não reduz o tempo gasto para completar cada instrução individualmente.

    ·        Flip Flop: Pode ser usado para armazenamento de um bit, ou um algarismo binário. Trata-se do bloco primário utilizado na construção de unidades de armazenamento de dados dispositivos eletrônicos, sendo o componente principal da memória mais rápida encontrada em aparelhos computacionais. Flip Flops são compostos apenas de circuitos lógicos e podem fazer o mesmo trabalho muito mais rápido.

    ·        Multiplexadores: São portas lógicas, diferentes da NOT, que possuem mais de 2 entradas. É um dispositivo que seleciona dados de várias fontes em um mesmo canal. São usados em situações onde o preço de implementação de canais não juntos para cada fonte de dados é maior que o da inconveniência de usar as funções de multiplexação.

    ·        Famílias de Circuitos Lógicos: As características construtivas dos circuitos integrados permitem a divisão em categorias chamadas de famílias. Atuais famílias são CMOS e TTL. As tensões, as correntes mínimas, as correntes máximas e os tempos de atraso compõem uma família lógica. Os níveis de tensão são, VIL, VIH, VOL e VOH. Os níveis de corrente são, IIL, IIH, IOL e IOH. Entre IL, IH, OL e OH, I significa entrada, O significa saída, L significa nível baixo e H significa nível alto. No Fan-Out, a saída de uma porta é conectável a um número limitado de entradas de outras portas, pois as entradas das portas lógicas consomem corrente. Sobre o atraso de propagação, depois de uma alteração em uma entrada de um bloco lógico, é o tempo que sua saída leva para mudar de estado.

    ·        Memórias: A Memória de Armazenamento aleatório (RAM) é memória de leitura e escrita e a única volátil. A dinâmica (DRAM) é usada na memória principal, com a carga de capacitores os dados são armazenados pelas células e é a única RAM que precisa de um circuito de regeneração. A estática (SRAM) é usada na memória cache, e com portas lógicas, usando configurações de flip-flops, valores são armazenados. A Memória Somente de Leitura (ROM) é aplicada em bibliotecas de funções de uso frequente, programas do sistema e tabelas de função. A ROM tem tamanho moderado, pois não precisa ter armazenamento de dados em dispositivos secundários. Um dos tipos de ROM é programável (PROM), que é mais barata que a ROM, é escritível apenas uma vez e o processo de escrita precisa de um equipamento especial. Um dos tipos de PROM é apagável (EPROM), que é mais cara que mais cara que a PROM, faz a leitura e a escrita em modo elétrico e antes da escrita todas as células de armazenamento são apagados através da exposição à luz ultravioleta intensa. Um dos tipos de EPROM é eletrônico (EEPROM), que é mais cara e menos densa que EPROM. A EEPROM, somente nos bytes endereçados, pode-se fazer a escrita, sem que os demais sejam modificados.

    ·        CPU e GPU: CPU (Unidade Central de Processamento) é o processador do computador, que é encontrada dentro do gabinete. Geralmente as funções, basicamente influenciam em todos os recursos do aparelho eletrônico, desde o processamento de dados, a memória cache e os cálculos de seus eletrônicos. GPU (Unidade de Processamento Gráfico) ou VPU (Unidade de Processamento Visual) é o processador de sua placa de vídeo, mas fazem mais do que somente processar a placa de vídeo.

    ·        CUDA: O preço de barato e a crescente capacidade de alteração de programação das placas visuais, usualmente conhecidas como VPU, têm contribuído sobrejeito para os programadores comuns levares mais próximo da realidade o processamento paralelo. Atualmente acessível pelo custo de um computador popular, a uma parte física que vê a favor de algumas centenas de processadores.

    ·        HTCondor: O HTCondor é instaurado como um cluster de nós, com um nó que gerencia centralmente, que atua com os recursos combinando-se, pelo menos um host de envio, pelos quais podem ser enviados pelos usuários, jobs através de um programador, e um número arbitrário de nós computacionais que recuperam e a partir da fila de jobs, trabalhos são executados.

    ·        Processadores Quânticos: Os qubits na CPU são a parte mais importante, que precisam agir como supercondutores, para acontecer o fenômeno da superposição. O PMM é o circuito de memória. Os couplers fazem a interconexão com os qubits, como a programação desejada diz. Os processadores quânticos são capazes de calcular números muito grandes. Os computadores quânticos estão incluídos no Brasil. Na computação clássica o computador é baseado na arquitetura de Von Neumann que distingue claramente entre elementos de processamento e armazenamento de dados, que tem um destaque no processador e na memória por um barramento de comunicação, sendo uma sequência de seu processamento.

  12. #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>
    #include <locale.h>

    struct ArvoreBinaria{
       int raiz;
       struct ArvoreBinaria *esq;
       struct ArvoreBinaria *dir;
    };

    void criar(struct ArvoreBinaria **arv){
       *arv = NULL;
    }

    bool vazia(struct ArvoreBinaria *arv){
       if(arv == NULL) return true;
       else return false;
    }

    void inserir(struct ArvoreBinaria **nodo, int num){
       if(vazia(*nodo)){
          *nodo = (struct ArvoreBinaria*) malloc(sizeof(struct ArvoreBinaria));
          (*nodo)->esq = NULL;
          (*nodo)->dir = NULL;
          (*nodo)->raiz = num;
       }
       else if(num < (*nodo)->raiz) inserir(&(*nodo)->esq, num);
       else if(num > (*nodo)->raiz) inserir(&(*nodo)->dir, num);
    }

    void mostrarPrefixado(struct ArvoreBinaria *arv){
       if(vazia(&arv)) printf("\nÁrvore vazia impossível de mostrá-la!\n");
       else{
          printf("%d\t", arv->raiz);
          mostrarPrefixado(arv->esq);
          mostrarPrefixado(arv->dir);
       }
    }

    void mostrarInfixado(struct ArvoreBinaria *arv){
       if(vazia(&arv)) printf("\nÁrvore vazia impossível de mostrá-la!\n");
       else{
          mostrarInfixado(arv->esq);
          printf("%d\t", arv->raiz);
          mostrarInfixado(arv->dir);
       }
    }

    void mostrarSufixado(struct ArvoreBinaria *arv){
       if(vazia(&arv)) printf("\nÁrvore vazia impossível de mostrá-la!\n");
       else{
          mostrarSufixado(arv->esq);
          mostrarSufixado(arv->dir);
          printf("%d\t", arv->raiz);
       }
    }

    bool buscaElem(struct ArvoreBinaria **arv, int elem){
       if(vazia(&(*arv))) return false;
       else if((*arv)->esq == NULL && (*arv)->dir == NULL){
          if((*arv)->raiz == elem) return true;
          else return false;
       }
       else if((*arv)->raiz == elem) return true;
       else{
          if((*arv)->raiz < elem){
             if((*arv)->esq == NULL){
                if((*arv)->raiz == elem) return true;
                else return false;
             }
             else{
                *arv = (*arv)->esq;
                if((*arv)->raiz == elem) return true;
             }
          }
          else if((*arv)->raiz > elem){
             if((*arv)->dir == NULL){
                if((*arv)->raiz == elem) return true;
                else return false;
             }
             else{
                *arv = (*arv)->dir;
                if((*arv)->raiz == elem) return true;
             }
          }
       }
    }

    struct ArvoreBinaria* maiorDireita(struct ArvoreBinaria **no){
       if((*no)->dir != NULL) return maiorDireita(&(*no)->dir);
       else{
          struct ArvoreBinaria *aux = *no;
          if((*no)->esq != NULL) *no = (*no)->esq;
          else *no = NULL;
          return aux;
       }
    }

    struct ArvoreBinaria* menorEsquerda(struct ArvoreBinaria **no){
       if((*no)->esq != NULL) return menorEsquerda(&(*no)->esq);
       else{
          struct ArvoreBinaria *aux = *no;
          if((*no)->dir != NULL) *no = (*no)->dir;
          else *no = NULL;
          return aux;
       }
    }

    void remover(struct ArvoreBinaria **arv, int num){
       if(vazia(&(*arv))) printf("Árvore vazia impossível de excluir qualquer nó!");
       else if(!(buscaElem(&(*arv), num))) printf("Elemento não encontrado!");
       else if(num < (*arv)->raiz) remover(&(*arv)->esq, num);
       else if(num > (*arv)->raiz) remover(&(*arv)->dir, num);
       else{
          struct ArvoreBinaria *aux = *arv;
          if(((*arv)->esq == NULL) && ((*arv)->dir == NULL)){
             free(aux);
             *arv = NULL;
          }
          else if((*arv)->esq != NULL){
             *arv = (*arv)->esq;
             aux->esq = NULL;
             free(aux);
             aux = NULL;
          }
          else if((*arv)->dir != NULL){
             *arv = (*arv)->dir;
             aux->dir = NULL;
             free(aux);
             aux = NULL;
          }
          else{
             int op;
             for(;;){
                printf("\n\nEscolha uma das opções abaixo:\n");
                printf("\nDigite 1 para remover o maior elemento à direita na sub-árvore à esquerda");
                printf("\nDigite 2 para remover o menor elemento à esquerda na sub-árvore à direita");
                printf("\n\n");
                scanf("%d", &op);
                switch(op){
                   case 1:
                      aux = maiorDireita(&(*arv)->esq);
                      break;
                   case 2:
                      aux = menorEsquerda(&(*arv)->dir);
                      break;
                   default:
                      printf("\nOpção Inválida!\n");
                }
             }
             if(op == 1){
                aux->esq = (*arv)->esq;
                aux->dir = (*arv)->dir;
                (*arv)->esq = (*arv)->dir;
                (*arv)->dir = NULL;
                free(*arv);
                *arv = aux;
                aux = NULL;
             }
             if(op == 2){
                aux->esq = (*arv)->esq;
                aux->dir = (*arv)->dir;
                (*arv)->dir = (*arv)->esq;
                (*arv)->esq = NULL;
                free(*arv);
                *arv = aux;
                aux = NULL;
             }
          }
       }
    }

    int contaNos(struct ArvoreBinaria *arv){
       if(vazia(&arv)) return 0;
       else return contaNos(arv->esq) + contaNos(arv->dir) + 1;
    }

    int maiorElem(int a, int b){
       if(a > B) return a;
       else return b;
    }

    int altura(struct ArvoreBinaria *arv){
       if(contaNos(&arv) >= 0 && contaNos(&arv) <= 1) return contaNos(&arv);
       else return maiorElem(altura(arv->esq), altura(arv->dir)) + 1;
    }

    int main(){
       setlocale(LC_ALL, "portuguese");
       struct ArvoreBinaria arv;
       int op, valor;
       criar(&arv);
       for(;;){
          printf("\n\nEscolha uma das opções abaixo:\n");
          printf("\n0: Sair do Sistema");
          printf("\n1: Inserir um nó");
          printf("\n2: Remover um nó");
          printf("\n3: Mostrar caminhamento prefixado");
          printf("\n4: Mostrar caminhamento infixado");
          printf("\n5: Mostrar caminhamento sufixado");
          printf("\n6: Contar o número de nós");
          printf("\n7: Descobrir a altura da árvore");
          printf("\n8: Buscar um elemento");
          printf("\n\n");
          scanf("%d", &op);
          switch(op){
             case 0:  printf("\n");
                      return 0;
             case 1:  printf("Qual valor você deseja inserir? ");
                      inserir(&arv, scanf("%d", &valor));
                      break;
             case 2:  printf("Qual valor você deseja remover? ");
                      remover(&arv, scanf("%d", &valor));
                      break;
             case 3:  mostrarPrefixado(&arv);
                      break;
             case 4:  mostrarInfixado(&arv);
                      break;
             case 5:  mostrarSufixado(&arv);
                      break;
             case 6:  printf("O número de nós na árvore é %d!", contaNos(&arv));
                      break;
             case 7:  printf("A altura da árvore é %d!", altura(&arv));
                      break;
             case 8:  printf("Informe o elemento a ser buscado: ");
                      buscaElem(&arv, scanf("%d", &valor));
                      break;
             default: printf("\nOpção Inválida!\n\n");
          }
       }
    }

     

     

     

    Quando escolhi a opção 6, deu erro no arquivo com extensão ".exe".

    • Curtir 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!