Jump to content
Fórum Script Brasil

Misael

Membros
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

0 Neutro

About 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. Misael

    Urgente - Vetor

    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. Misael

    Urgente - Vetor

    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. Misael

    Exercicio C++ - Vetor

    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>"; } } } ?>
×
×
  • Create New...