Ir para conteúdo
Fórum Script Brasil

Misael

Membros
  • Total de itens

    7
  • Registro em

  • Última visita

Posts postados por Misael

  1. Boa noite,

    preciso urgentemente de ajuda!!

    Tenho 3 exercicios de threds... em c++, so que rodam apenas em linux.

    Preciso mudar para que funcionem no windows... mas não sei como faço.

    Segue outro deles:

    3 - Para o mesmo exercício anterior (2), o que deveria ser feito para que a thread mais fosse encerrada e as threds "filhas" permanecessem em execução? Como se denomina essa situação indesejada?

    Código:

    #define _GNU_SOURCE // necessário porque getline() é extensão GNU

    #include <stdio.h>

    #include <stdlib.h>

    #include <unistd.h>

    #include <sys/wait.h>

    #include <sys/types.h>

    void *thread1() {

    sleep(5);

    int i=0;

    printf("[%d] sou a thread 1 \n", getpid());

    FILE *f= fopen("ARQ1.txt", "r");

    size_t len= 100; // valor arbitrário

    char *linha= malloc(len);

    if (!f)

    {

    perror("ARQ2.txt");

    exit(1);

    }

    while %2

  2. Boa noite,

    preciso urgentemente de ajuda!!

    Tenho 3 exercicios de threds... em c++, so que rodam apenas em linux.

    Preciso mudar para que funcionem no windows... mas não sei como faço.

    Segue outro deles:

    2 - Criar um aplicação que permita a 2 threads lerem 2 arquivos texto simultameamente e os apresentarem em tela.

    Para efetuar esse trabalho considere os seguintes casos de teste:

    - caso 1: Thread1 é mais rápida que Thread2

    - caso 2: Arquivo lido pela Thread 2 é mais extenso, com ambas as threds tendo as mesmas velocidades de acesso aos seus respectivos recursos.

    Código:

    #define _GNU_SOURCE // necessário porque getline() é extensão GNU

    #include <pthread.h>

    #include <stdio.h>

    #include <stdlib.h>

    void *thread1(){

    printf("sou a thread 1 \n");

    FILE *f= fopen("ARQ1.txt", "r");

    size_t len= 10; // valor arbitrário

    char *linha= malloc(len);

    if (!f)

    {

    perror("ARQ1.txt");

    exit(1);

    }

    while (getline(&linha, &len, f) > 0)

    {

    printf("%s", linha);

    }

    if (linha)

    free(linha);

    fclose(f);

    return 0;

    }

    void *thread2(){

    printf("sou a thread 2 \n");

    //sleep(2);

    FILE *f= fopen("ARQ2.txt", "r");

    size_t len= 100; // valor arbitrário

    char *linha= malloc(len);

    if (!f)

    {

    perror("ARQ2.txt");

    exit(1);

    }

    while (getline(&linha, &len, f) > 0)

    {

    printf("%s", linha);

    }

    if (linha)

    free(linha);

    fclose(f);

    return 0;

    }

    main(int argc, char *argv[]){

    pthread_t tid[2];

    pthread_create(&tid[0],NULL,thread1,NULL);

    pthread_join(tid[0], NULL);

    pthread_create(&tid[1],NULL,thread2,NULL);

    pthread_join(tid[1], NULL);

    }

  3. Boa noite,

    preciso urgentemente de ajuda!!

    Tenho 3 exercicios de threds... em c++, so que rodam apenas em linux.

    Preciso mudar para que funcionem no windows... mas não sei como faço.

    Segue um deles:

    - Escreva uma aplicação que gere 10 threads. Cada thread terá o mesmo comportamento: ao executar deve exibir a mensagem: "Sou a thread X... viverei enquanto meu mestre desejar". Este programa só pode terminar quando todas as threads exibirem essa mensagem.

    Código:

    #include <pthread.h>

    #include <stdio.h>

    #include <stdlib.h>

    void *thread(void* N){

    int i = (int)N;

    printf("sou a thread %d ,vivo enquanto meu mestre mandar\n", (i+1));

    };

    main(int argc, char *argv[]){

    pthread_t tid[10];

    int i;

    for(i = 0;i<10;i++){

    pthread_create(&tid,NULL,thread,(void *) i);

    }

    for(i = 0;i<10;i++){

    printf("joint %d thread\n", (i+1));

    pthread_join(tid, NULL);

    }

    }

    Por favor, preciso mudar para windows.

  4. esse é o problema...

    eu não sei como iniciar essa parte das datas...

    porq o programa ainda tem continuação, ainda precisa calcular média, achar o dia de menos faturamento e de mais faturamento. Isso é tranquilo, so não sei mesmo como iniciar.

  5. Boa tarde,

    sou iniciante e preciso muito saber como iniciar este programa.

    Não sei bem certo a lógica dele.

    O programa precisa armazenar em um vetor os dados sobre os valores das vendas

    diárias de um estabelecimento. O programa deverá solicitar do usuário o mês de lançamento dos

    dados (de 1 a 12) e em seguida ler o valor das vendas para cada dia do mês escolhido (obs: fazer a

    leitura conforme o número de dias do mês, ex: Junho = 30 dias, Julho = 31 dias...).

    Por favor.... me ajudem

    É urgente :S

  6. Boa tarde!

    Tenho este exercício para fazer de uma materia complementar, mas estou com dúvidas.

    Será que alguém poderia me ajudar a começar isto? :wacko:

    Crie um programa em C que permita armazenar em um vetor os dados sobre os valores das vendas

    diárias de um estabelecimento. O programa deverá solicitar do usuário o mês de lançamento dos

    dados (de 1 a 12) e em seguida ler o valor das vendas para cada dia do mês escolhido (obs: fazer a

    leitura conforme o número de dias do mês, ex: Junho = 30 dias, Julho = 31 dias...).

    Ao final da leitura o programa deverá apresentar:

    - O valor do faturamento mensal.

    - A média diária de vendas do mês.

    - O número de dias com vendas abaixo da média.

    - O dia com o maior valor de vendas

    Exemplo da tabela:

    Informe o mês desejado (1-12): 6

    Informe os valores das vendas para o mês de Junho:

    Dia 1: 80.0

    Dia 2: 250.0

    Dia 3: 175.0

    ....

    Dia 30: 210.0

    Faturamento do mês......: R$ 6000,00

    Média diária de vendas..: R$ 200,00

    Dias abaixo da media....: 13

    Dia com mais vendas.....: 20 – R$ 500,00

  7. No código seguinte, gera um relatório, preciso colocar atras do nome do computador o nome do usuario entre parentes.

    Mas usuario é outra tabela, creio eu que la na tabela na sql vou inserir cod_sup..... e aqui no codigo irei inserir a tabela : tbl_usuarios.

    Mas como faço isto?

    <?php
    include("conexao.php");
    echo "<center>";
    echo "<b>RELATÓRIO GERAL</b>";
    echo "<hr>";
    echo "<br>";
    echo "<table width='100%' style='font-family: Trebuchet MS; font-size: 12pt' border='0'>";
     echo "<tr>";
       echo "<td align='left'>";
         $cons = mysql_query ("SELECT * FROM tbl_compartilhadores WHERE Cod_Sup = '' ORDER BY Nome ASC") or die (mysql_error());
         if (mysql_num_rows($cons) > 0) {
          while ($row = mysql_fetch_array($cons)){
             echo '• <img src="./icones/412.gif"> <b>' . $row["Codigo"] . '</b>: ' . $row["Nome"] . ':<br>';
             $i_espaco = 1;
             echo imprime_sup($row["Codigo"], $i_espaco, true);
             echo imprime_sup_mic($row["Codigo"], $i_espaco, true);
             echo '<br>';
          }
         }
       echo "</td>";
     echo "</tr>";
    echo "</table>";
    echo "</center>";
    echo "<br>";
    echo "<hr>";
    echo "<font face='Trebuchet MS' size='2'>";
     echo "Data: " . date("d/m/Y") . ", hora: " . date("H:i");
    echo "</font>";
    function imprime_sup($cod_sup, $i_espaco, $lprimeiro){
     include("conexao.php");
     $i_espaco++;
     $cons = mysql_query ("SELECT * FROM tbl_compartilhadores WHERE Cod_Sup = '$cod_sup' ORDER BY Porta_Sup ASC") or die (mysql_error());
     if (mysql_num_rows($cons) > 0) {
      while ($row = mysql_fetch_array($cons)){
        for ($i = 1; $i <= $i_espaco; $i++) {
            if($lprimeiro){
              echo "&nbsp;&nbsp;&nbsp;&nbsp;";
            }else{
              echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
            }
        }
        echo "<img src='./icones/41.2.gif'>";
        echo '<img src="./icones/41.r.gif"> <img src="./icones/412.gif"> <b>'.$row["Codigo"].'</b> » '. $row["Nome"] . ':<br>';
        echo imprime_sup($row["Codigo"], $i_espaco, false);
        echo imprime_sup_mic($row["Codigo"], $i_espaco, false);
      }
     }
    }
    function imprime_sup_mic($cod_sup, $i_espaco, $lprimeiro){
     include("conexao.php");
     $i_espaco++;
     $cons = mysql_query ("SELECT * FROM tbl_micros WHERE Cod_Sup = '$cod_sup' ORDER BY Porta_Sup ASC") or die (mysql_error());
     if (mysql_num_rows($cons) > 0) {
      while ($row = mysql_fetch_array($cons)){
        for ($i = 1; $i <= $i_espaco; $i++) {
            if($lprimeiro){
              echo "&nbsp;&nbsp;&nbsp;&nbsp;";
            }else{
              echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
            }
        }
        echo "<img src='./icones/41.2.gif'>";
        echo "<img src='./icones/41.r.gif'> <img src='./imagens/cnt_home_ico_comp_offline.gif'> "   . $row["Nome_Micro"] . ".<br>";
    
    
      }
     }
    }
    ?>

×
×
  • Criar Novo...