c# – Meu código de calculadora em C não calcula números decimais, ao dividir 7/2 ele me retorna 3. E como faço para o código voltar ao menu escolha?

Já tentei usar alguns outros tópicos aqui mas infelizmente não resolveram meu problema. O máximo que consegui foi mostrar 3.00 usando float, mas acho que não o usei corretamente. Sempre que divido nunca me retorna numero decimal, por exemplo 7/2 = 3 ou 10/3 = 3.
E outro problema, como faço para que o meu código ao invés de encerrar a execução volte novamente ao menu “escolha uma operação”?

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include  <stdlib.h>
int soma (int s1, int s2)
{
int resultado;
resultado = s1+s2;
return(resultado);
}

int subtracao (int sub1, int sub2)
{
int resultado;
resultado = sub1-sub2;
return (resultado);
}

int multiplicacao (int m1, int m2)
{
int resultado;
resultado = m1*m2;
return (resultado);
}

int divisao (int d1, int d2)
{
int resultado;
if (d1==0 && d2==0){
printf ("Nao é possivel dividir por zero!");
}
else{
resultado = d1/d2;
}
return (resultado);
}

int fatorial (int numfat)
{
int resultado, fat;
resultado=1;
for (fat=1;fat<=numfat;fat++)
{
resultado=resultado*fat;
}
return (resultado);
}

int potencia (int base, int exp)
{
int resultado;
if (exp==0)
return 1;
else if (exp==1)
return base;

return resultado=base*potencia(base, exp-1);
}

int main (void)
{

int op, num1, num2, numfato, bas, expo, resultado;

printf ("n1 - Adicao (+)n");
printf ("2 - Subtracao (-)n");
printf ("3 - Multiplicacao (*)n");
printf ("4 - Divisao (/)n");
printf ("5 - Fatoral (!)n");
printf ("6 - Potenciacao (^)n");
printf ("nEscolha a operacao que sera realizada:n");

scanf ("%d", &op);
system("cls");

switch (op){
case 1:
printf ("Operacao escolhida > ADICAOn");
printf ("Insira o primeiro numero:n");
scanf ("%d", &num1);
printf ("Insira o segundo numero:n");
scanf ("%d", &num2);
resultado=soma(num1, num2);
printf ("Resultado da operacao: %dn", resultado);
break;

case 2:
printf ("O peracao escolhida > SUBTRACAOn");
printf ("Insira o primeiro numero:n");
scanf ("%d", &num1);
printf ("Insira o segundo numero:n");
scanf ("%d", &num2);
resultado=subtracao(num1, num2);
printf ("Resultado da operacao: %dn", resultado);
break;

case 3:
printf ("Operacao escolhida > MULTIPLICACAOn");
printf ("Insira o primeiro numero:n");
scanf ("%d", &num1);
printf ("Insira o segundo numero:n");
scanf ("%d", &num2);
resultado=multiplicacao(num1, num2);
printf ("Resultado da operacao: %dn", resultado);
break;

case 4:
printf ("Operacao escolhida > DIVISAOn");
printf ("Insira o primeiro numero:n");
scanf ("%d", &num1);
printf ("Insira o segundo numero:n");
scanf ("%d", &num2);
resultado=divisao(num1, num2);
printf ("Resultado da operacao: %dn", resultado);
break;

case 5:
printf ("Operacao escolhida > FATORIALn");
printf ("Insira o numero a ter sua fatorial calculada:n");
scanf("%d", &numfato);
resultado=fatorial(numfato);
printf ("Resultado da operacao: %dn", resultado);
break;

case 6:
printf ("Operacao escolhida > POTENCIACAOn");
printf ("Insira a base:n");
scanf ("%d", &bas);
printf ("Insira o expoente:n");
scanf ("%d", &expo);
resultado=potencia(bas,expo);
printf("Resultado da operacao: %dn", resultado);
break;

default:
printf ("OPCAO INVALIDAn");
}

getch();
return 0;
}

Apontem possíveis erros do meu código que está errado eu comecei a programar hoje

<html>
    <head>
        <metacharset="utf-8">
        </metacharset>
        <title>
             Aprendendo html
        </title>
        <style>
           
        </style>


    </head>
    <body style="background-color:#ff7675">
        <script>
             function Verificar_Player(){
             player1 = document.getElementById("p1").value; 
             return player1;
             alert("player1")
                                        }
        </script>
        
       <input type="text"  id="p1" name="p1" id="p1" size= "40"/> <p></p>
       <input type="button" value="Confirmar" onclick="Verificar_Player"/>
        
    </body>
        


</html>

java – Meu método volta com resultado nulo toda vez que envio para um loop

import java.util.*;

class Main {
  public static void main(String() args) {
    Scanner leituraTeclado = new Scanner(System.in);
    int num = 0;

    System.out.println("nInsira um número:");
    num = leituraTeclado.nextInt();

    perfeito(num);
    int soma = perfeito(num);

    if(soma == num){
      System.out.println("nO número informado é perfeito!");
    }
    else{
      System.out.println("nO número informado não é perfeito!");
    }
  }

  public static int perfeito(int num) {
    int soma = 0;

    for(int n = 0;n < num;++n){
      if(num % 'n' == 0) {
        soma = (soma + num);
      }
    }
    return soma;
  }
}

Ele roda o programa normal, não dá nenhum erro, porém o valor só volta igual a ‘0’, o problema é no loop? O que posso fazer pra contornar esse erro?
Ah, além disso, todos os meus outros programas envolvendo métodos funcionaram normal, só os que envolvem o loop que tem dado esse problema.

Como faço para colocar um botão de fechar no meu arquivo python?

Estou começando em python e estou escrevendo um código, mas quando todas as ações acabam o programa fecha, como faço para colocar um comando onde clique por exemplo em ESC e ele feche? Quero que quando a pessoa não digite Youtube, ela possa escrever novamente, ao envés de fechar.

ver = input()
if ver == 'Youtube' :
        print('Abrindo youtube...')

        import webbrowser

        webbrowser.open('https://www.youtube.com/', new=2)

else:

        print('Desculpe, não entendi')

Adicionar uma classe dentro do meu header

Eu tenho o meu css todo formatado, mas eu preciso adicionar uma classe no meu Header que só apareça quando a página for diferente da HOME, será que alguém pode me ajudar

Eu preciso que o meu header fique assim
”’

”’
quando eu não estiver ná pagina home

Sistema de barra de busca para meu site com HTML, CSS, e JavaScript

Olá eu estou montando um site em html

e eu queria fazer um Sistema de busca

que quando a pessoa digitasse, a barra recomendassse os nome de itens da lista,

tbm com estilo em css

por exemplo, o usuário iria buscar por um jogo, ai essa barra iria retornar todos os itens que tivesse o que o usuário perguntou

css – Em font-family: o meu VS Code reconhece a fonte “cursive” mas não habilita ela para uso!

cursive não funcionando Já fiz uma leve pesquisa e vi que existem outros com o mesmo problema que eu, mas nenhuma resolução especifica, queria saber se é possível eu alterar o padrão da fonte cursive, para um padrão de fonte que eu queira que fique cursiva, ou uma resolução especifica !

php – exibir resultado de página externa dentro do meu site

Fala pessoal!
Tenho um formulário que possui uma action externa. Gostaria que, ao invés de carregar em uma página externa, que essa mesma carregasse dentro do meu próprio site, assim poderia personaliza-la via CSS.

<form id="crrntl-slider-form" action="https://efleet2.erental.com.br/etools/erental/ReservaWeb/grupo.asp" class="crrntl-main-form col-12 m-0 p-0 py-2 border-0 bg-transparent shadow-none" method="post">

Se alguém souber como me ajudar ficarei grato!

php – Como posso melhorar a segurança do meu sistema de manter o usuário conectado?

Partindo da ideia de que o usuário digitou o login e senha corretamente na página de login, irei salvar um cookie para autenticar o usuário para que o login permaneça ativo e o usuário consiga se conectar a outros dispositivos sem ser deslogado na sessão anterior.

Para isso comecei criando uma tabela no banco de dados com as seguintes características:

CREATE TABLE `manter_login` (
  `id` int(11) NOT NULL,
  `id_user` int(11) NOT NULL,
  `login_history` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`login_history`))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

ALTER TABLE `manter_login`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_user` (`id_user`);

ALTER TABLE `manter_login`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
COMMIT;

E criando as seguintes funções:

define("USER2", 'root');
define("PASS2", '');
define("NAME2", 'users');

//conexão area de login
try {
    $db2 = new PDO("mysql:host=".HOST.";dbname=".NAME2.";charset=utf8", "".USER2."", "".PASS2."");
    $db2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db2->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    $db2->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch (PDOException $e2) {
    echo $e2->getMessage();
}

// Função basica para gerenciamento PDO
function sql2($db2, $q, $params, $return) {
  // Prepare statement
    $stmt = $db2->prepare($q);
  // Execute statement
    $stmt->execute($params);
  // Decida se deseja retornar as linhas ou apenas contar as linhas
    if ($return == "rows") {
        return $stmt->fetch();
    }elseif ($return == "rowsall") {
        return $stmt->fetchAll();
    }elseif ($return == "count") {
        return $stmt->rowCount();
    }elseif( $return == "lastid"){
        return $db2->lastInsertId();
    }elseif( $return == "fake"){
        //fake sem nada
    }
}

function salvarDadosLoginCookie($user_id, $removeSeletorLogin = 0){
    global $db2;

    $contar_registros = sql2($db2, "SELECT id FROM manter_login WHERE id_user = ?", array($user_id), "count");
    $pega_ip = filter_input(INPUT_SERVER, 'HTTP_CF_CONNECTING_IP', FILTER_VALIDATE_IP);
    $seletor = base64_encode(random_bytes(9));
    $autenticador = random_bytes(33);
    $meu_token = $seletor.':'.base64_encode($autenticador);
    
    //Array com as informações do usuario para podermos autenticar mais tarde
    $novoArray = (
        'ip' => $pega_ip,
        'seletor' => $seletor,
        'autenticador' => hash('sha256', $autenticador),
        'data' => date('Y-m-d h:i:s', time())
    );
    
    //Se a variavel removeSeletorLogin for diferente de zero, e porque a função foi chamada apos validar o hash_equals, então precisamos dar update no array e remover o seletor, para que não possa ser mais usado
    if($removeSeletorLogin !== 0){
        $lrdados = sql2($db2, "SELECT * FROM manter_login WHERE id_user = ?", array($user_id), "rows");
        $gerarNovoArrayRemovendoSeletor = removeArrayLogin($removeSeletorLogin, $lrdados('login_history'));

        sql2($db2, "UPDATE manter_login SET login_history = ? WHERE id_user = ?", array($gerarNovoArrayRemovendoSeletor, $user_id), "fake");
    }
    
    //Se não houver registros iremos inserir um novo com o array de informações, Se ja exister um registro, o mesmo será modificado e iremos acrescentar um novo indice de array a ele, Esse Array poderá ter ate 5 indices, ou seja iremos permitir o uso da conta de um usuario a 5 dispostivos
    if($contar_registros > 0){
        $ldados = sql2($db2, "SELECT * FROM manter_login WHERE id_user = ?", array($user_id), "rows");
        $gerarNovoArray = updateArrayLogin($ldados('login_history'), $novoArray);
        
        //Inciaremos esse session para poder fazer logout desse seletor mais tarde
        $_SESSION('seletor_login_atual') = $seletor;
        
        sql2($db2, "UPDATE manter_login SET login_history = ? WHERE id_user = ?", array($gerarNovoArray, $user_id), "fake");
    }else{
        //Array Inicial
        $novoArrayInsert = array($novoArray);
        sql2($db2, "INSERT INTO manter_login(id_user, login_history) VALUES (?, ?)", array($user_id, json_encode($novoArrayInsert)), "fake");
    }
    
    // Cookie com token e id do usuario, esse id será usado para validar se existe um seletor para um usuario, se houver um seletor pra ele, iremos permitir o login, se não houver o login e recusado
    setcookie('user_valid', json_encode(array( 'user_id' => $user_id, 'token' => $meu_token)), time() + (86400 * 7), "https://pt.stackoverflow.com/", null, true, true);
}

function autenticarLogin(){
    global $db2;

    // Verificamos se o cookie existe
    if (!isset($_COOKIE('user_valid')) || empty($_COOKIE('user_valid'))) {
        return false;
    }

    // Verificamos se o cookie e valido
    if(!$cookie_login = @json_decode($_COOKIE('user_valid'), true)) {
        return false;
    }

    // Verificamos se os parametros estão corretos
    if (!(isset($cookie_login('user_id')) || isset($cookie_login('token')))) {
        return false;
    }

    // Verificamos o tamanho do cookie 
    if(strlen($_COOKIE('user_valid')) > 1500){
        return false;
    }
    
    // Verificamos se o separador existe
    if ((strpos($cookie_login('token'), ':') !== false) === false) {
        return false;
    }
    
    $id_user_by_cookie = abs($cookie_login('user_id'));

    // Verificamos se existe algum registro com o id do usuario no banco de dados
    $contar_registros_user = sql2($db2, "SELECT * FROM manter_login WHERE id_user = ?", array($id_user_by_cookie), "count");

    if($contar_registros_user === 0){
        return false;
    }

    if (empty($_SESSION('user_logado_id')) && !empty($_COOKIE('user_valid'))) {
        list($seletor, $autenticador) = explode(':', $cookie_login('token'));
        
        $registro_atual = sql2($db2, "SELECT * FROM manter_login WHERE id_user = ?", array($id_user_by_cookie), "rows");
        $encoda_login_history = json_decode($registro_atual('login_history'), true);

        // definido inicialmente como 0, se no foreach houver um seletor igual ao cookie, iremos definir o valor pra 1
        $verifica_existencia_seletor = 0; 
        $captura_autenticador = '';
        $captura_ip = '';
        $captura_seletor = '';
        
        //Vamos descobrir se os seletores do usuario pesquisado e igual ao que está no cookie
        foreach($encoda_login_history as $hlogin => $data) {
            if($data('seletor') == $seletor){
                //Seletor Foi encontrado então iremos alterar o valor pra 1
                $verifica_existencia_seletor = 1;
                //Passamos o valor do token autenticador pra variavel
                $captura_autenticador = $data('autenticador');
                //Passamos o ip para uma variavel externa para podermos validar tbm
                $captura_ip = $data('ip');
                //Pegamos o seletor
                $captura_seletor = $data('seletor');
                
                //vou limitar a vida de um cookie a 7 dias, ja que geramos um novo sempre que o session leva update
                if(calculaDiferencaData($data('data')) >= 7){
                    //Removemos o Indice do array que tem o seletor gerado a mais de 7 dias
                    sql2($db2, "UPDATE manter_login SET login_history = ? WHERE id_user = ?", array(removeArrayLogin($seletor, $registro_atual('login_history')), $registro_atual('id_user')), "fake");

                    //Nesse caso o seletor deixou de existir, então voltaremos o valor dele para zero
                    $verifica_existencia_seletor = 0;
                }
            }
        }

        //Verificamos se o seletor foi encontrado
        if($verifica_existencia_seletor === 0){
            setcookie('user_valid', null);
            return false;
        }

        $pega_ip = filter_input(INPUT_SERVER, 'HTTP_CF_CONNECTING_IP', FILTER_VALIDATE_IP);
        
        //Se os ips do banco de dados e o ip da maquina do usuario forem diferentes não iniciaremos a sessao de login
        if($captura_ip !== $pega_ip){
            return false;
        }

        //Validamos o hash - se estiver tudo ok, podemos iniciar a session
        if (hash_equals($captura_autenticador, hash('sha256', base64_decode($autenticador)))) {
            //Inciaremos a session com id do usuario
            $_SESSION('user_logado_id') = $registro_atual('id_user');
            
            //Agora que o login foi bem sucessido, iremos re-criar o cookie e deletar o seletor do array, para que ele não possa ser utilizado novamente
            salvarDadosLoginCookie($registro_atual('id_user'), $captura_seletor);

            return true;
        }
    }

    if(isset($_SESSION('user_logado_id'))){
        return true;
    }
}

//Função destinada para deslogar o dispositivo que o usuario ta logado
function deslogarDispositivoAtual(){
    global $ta_logado, $db2;
    
    if($ta_logado === 1){
        $contar_registros_logout = sql2($db2, "SELECT * FROM manter_login WHERE id_user = ?", array($_SESSION('user_logado_id')), "count");
        
        if($contar_registros_logout > 0){
            $registros_logout = sql2($db2, "SELECT * FROM manter_login WHERE id_user = ?", array($_SESSION('user_logado_id')), "rows");

            sql2($db2, "UPDATE manter_login SET login_history = ? WHERE id_user = ?", array(removeArrayLogin($_SESSION('seletor_login_atual'), $registros_logout('login_history')), $_SESSION('user_logado_id')), "fake");
        }
    }
    
    session_destroy();
    setcookie('user_valid', null);
}

//Função para usar quando o usuario mudar a senha
function deslogarDeTodosDispositivos($id_deslogar){
    global $db2;
    
    sql2($db2, "DELETE FROM manter_login WHERE id_user = ?", array($id_deslogar), "fake");
    
    session_destroy();
    setcookie('user_valid', null);
}

function calculaDiferencaData($DataEvento){
    $hoje = new DateTime();
    $diferenca = $hoje->diff(new DateTime($DataEvento));
    return $diferenca->days;
}

function updateArrayLogin($arrayAtual, $novoArray){
    
    $arrayAtual = json_decode($arrayAtual, true);
    
    if(!is_array($arrayAtual)){
        $arrayAtual = array();
    }
    
    $arrayAtual() = $novoArray;
    
    $arrayNovo = array_filter($arrayAtual, function($value) {
        return is_array($value);
    });

    if(($quantidade = count($arrayNovo)) > 5){
        $arrayNovo = array_slice($arrayNovo, $quantidade - 5, 5);
    }
    
    return json_encode($arrayNovo);
}

function removeArrayLogin($seletor, $arrayEdit){
    
    $arrayEdit = json_decode($arrayEdit, true);

    if(!is_array($arrayEdit)){
        $arrayEdit = array();
    }
    
    foreach($arrayEdit as $arrayE => $data) {
        if($data('seletor') == $seletor){
            unset($arrayEdit($arrayE));
        }
    }
    
    return json_encode($arrayEdit);
}

e por fim iniciando as funções para verificar se o usuário está logado

$ta_logado = 0;

//Se o session user_logado_id não existe, iremos verificar se uma possivel sessão pode ser iniciada
if(!isset($_SESSION('user_logado_id')) || empty($_SESSION('user_logado_id'))){
    autenticarLogin();
}
//Se ja existir user_logado_id, iremos chamar os dados no banco de dados
if(isset($_SESSION('user_logado_id')) && !empty($_SESSION('user_logado_id'))){
    
    //Porem antes vamos validar e ver se o usuario não mudou a senha. Pois quando o usuario mudar a senha o registro no banco de dados e deletado.
    $contar_registros_user_atual = sql2($db2, "SELECT * FROM manter_login WHERE id_user = ?", array($_SESSION('user_logado_id')), "count");
    
    if($contar_registros_user_atual === 0){
        session_destroy();
        setcookie('user_valid', null);
    }else{
        $verificaDados = sql2($db2, "SELECT * from usuarios WHERE id = ?", array($_SESSION('user_logado_id')), "rows");
        if(isset($verificaDados('usuario')) && !empty($verificaDados('usuario'))) {
            $ta_logado = 1;
        }
    }
    
}

Como posso melhorar a segurança do meu sistema?

node.js – Preciso de um servidor dedicado para hospedar o meu serviço feito em node js que possua transferencia de dados ilimitados , alguma plataforma teste?

node.js – Preciso de um servidor dedicado para hospedar o meu serviço feito em node js que possua transferencia de dados ilimitados , alguma plataforma teste? – Stack Overflow em Português

DreamProxies - Cheapest USA Elite Private Proxies 100 Private Proxies 200 Private Proxies 400 Private Proxies 1000 Private Proxies 2000 Private Proxies 5000 Private Proxies ExtraProxies.com - Buy Cheap Private Proxies Buy 50 Private Proxies Buy 100 Private Proxies Buy 200 Private Proxies Buy 500 Private Proxies Buy 1000 Private Proxies Buy 2000 Private Proxies ProxiesLive.com Proxies-free.com New Proxy Lists Every Day Proxies123.com Buy Cheap Private Proxies; Best Quality USA Private Proxies