Jump to content

Search the Community

Showing results for tags 'c++'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Visual Basic Clássico
    • Visual Basic for Applications (VBA)
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 1,809 results

  1. gheorghe100

    preciso de um programa para a escola.

    Pretende-se que construa um programa que permita fazer a gestão de reservas de uma sala de espetáculos com registo do nome do evento, data, hora, duração e nome de cliente. 1) Deverá incluir: a) O programa deverá ser estruturado usando programação modular, sempre que esta for aplicável (funções e procedimentos); b) Comentários e parâmetros; c) Pelo menos um ficheiro de texto; d) Um controlo que verifique se os ficheiros já existem no disco e mensagem em caso de erro; e) Permita a inserção, consulta e alteração dos dados dos ficheiros; f) Contenha um sistema de menus que permita a navegação por todo o projeto; g) Permita pesquisar e consultar os dados do ficheiro por um campo (por exemplo por data) . h) Possibilite a visualização no monitor do último registo.
  2. Pedro

    Perguntas e Respostas c++

    Boas, Precisava que alguem me guiasse nesta parte especifica do código, estou a algum tempo aqui a testar e não me está a ocorrer nada. Tenho 5 arrays ( Basico,Facil,Medio,Dificil,Extremo ) cada um deles tem (id_pergunta,pergunta,op1,op2,op3,op4,opcorreta,valor) eu estou a correr o array com: //Faz perguntas do nivel básico for (int i = 0; i < 5; i++) { if (!Basico[i].FazPergunta()) { system("cls"); cout << "\n"; cout << "Infelizmente não acertou na resposta." << "\n"; cout << "A sua Pontuação foi: " << total << "."; cout << "\n"; //Escreve para o ficheiro o nome e a pontuação do utilizador. EscreverParaFicheiros(); break; } } O meu problema é que eu tenho de percorrer os 5 indices do array e após ele percorrer os 5 passar para o array da dificuldade seguinte. Usando outro for por baixo desse funciona mas caso a pergunta falhe ele passa para dentro do if e apresenta a mensagem de erro juntamente com o for a seguir. (Não posso utilizar goto)
  3. Boa tarde, Estou programando um rpg em c++ no visual studio. Para a ação do personagem atacar um inimigo fiz o seguindo método: void atacar(Inimigo *i, int g); quando uso o método passo o array de inimigos, e no .cpp coloquei um for passando pelo array, tudo isso funcionou, o ataque funciona! Porém aparece que tem erro nessa linha do .h: Error C2061 syntax error: identifier 'Inimigo' Gostaria de entregar o trabalho funcional e sem erros, é claro, podem me ajudar?
  4. Raquel Leal

    Guardar disciplinas e calcular médias

    Preciso de criar um programa mas estou com dificuldades em faze lo!! O programa é o seguinte, Crie um programa em c++ que mantenha as suas notas nos vários módulos das diferentes disciplinas com as seguintes características: - Peça a utilizador o nome de 5 disciplinas e quantos módulos tem cada disciplina e a respectiva classificação de cada módulo; - Guarde a informação num ficheiro (texto ou binário); - Crie uma função que calcule a média de cada disciplina (tendo em conta o número de módulos) e a média total do curso com os dados fornecidos; - Escreva no ecrã de saída uma tabela com as disciplinas, classificações e respectivas médias, no fim da tabela deverá aparecer um nome, numero e curso e a respectiva média. Agradecia toda a ajuda possível porque eu nunca fui muito boa a programar e este programa esta a dar cabe de mim!! Fico a aguardar as vossas ajudas, obrigada!
  5. caio_leme

    CONTROLE DE ESTOQUE

    alguém pode me ajudar fazer esse código não estou conseguindo e é para entregar hoje Obrigado. http://www-di.inf.puc-rio.br/~bfeijo//prog2/FRIDAYs_Class_3_Ponteiros.pdf 2.Uma loja que comercializa peças de automóvel possui as seguintes informações de cada peça: código e classificação da peça. As peças são classificadas de acordo com a tabela abaixo que não deverá ser lida: Classificação Quantidade mínima em estoque Quantidade máxima em estoque 1 100 120 2 150 180 3 200 250 4 250 300 Faça um programa para processar as 100 peças comercializadas. Para cada peça, o programa deverá ler suas informações e exibir o seu código, a quantidade mínima e a quantidade máxima em estoque. Faça as seguintes funções: ✓ função classe ( ) → recebe como parâmetros a classificação da peça e guarda as quantidades mínima e máxima em estoque nas variáveis cujos endereços são fornecidos na chamada da função. ✓ função leitura ( ) → obtenção dos dados de uma peça. A função irá guardar os dados nas variáveis cujos endereços são fornecidos na chamada da função.
  6. Raquel Leal

    AJUDA

    Preciso de criar um programa mas estou com dificuldades em faze lo!! O programa é o seguinte, Crie um programa em c++ que mantenha as suas notas nos vários módulos das diferentes disciplinas com as seguintes características: - Peça a utilizador o nome de 5 disciplinas e quantos módulos tem cada disciplina e a respectiva classificação de cada módulo; - Guarde a informação num ficheiro (texto ou binário); - Crie uma função que calcule a média de cada disciplina (tendo em conta o número de módulos) e a média total do curso com os dados fornecidos; - Escreva no ecrã de saída uma tabela com as disciplinas, classificações e respectivas médias, no fim da tabela deverá aparecer um nome, numero e curso e a respectiva média. Agradecia toda a ajuda possível porque eu nunca fui muito boa a programar e este programa esta a dar cabe de mim!! Fico a aguardar as vossas ajudas, obrigada!
  7. Hedson

    Algoritmo de Cadastro e Busca

    Pessoal, saudações.... estou estudando C++ na faculdade e estou com muitos problemas pra conseguir executar um exercício que o professor me passou e que vale 20 % da minha nota... me ajudem, vejam só... eu tenho esse código que desenvolvi na aula e ele me falou que tenho que adaptar ele pra fazer funcionar como um emulador de player de música... desde já agradeço a atenção e dedicação de cada um que me ajudar #include<stdio.h> #include<stdlib.h> /*Com base no seu algoritmo em linguagem C, desenvolva um código que emule as características de um player de músicas sendo executado em modo texto, via prompt de comando. 1. Deve-se criar uma playlist das músicas utilizando uma lista encadeada. A lista encadeada poderá ser simples ou dupla, circular ou não circular. Fica a critério do aluno decidir. 2. Deve-se armazenar o nome de cada música, do artista/banda e a duração da faixa. Para o armazenamento utilize uma estrutura heterogênea de dados. 3. Para inserção dos dados, você pode criar uma leitura dos dados através de um menu na tela ou já deixá-los armazenados em um arquivo texto no seu computador e só carregar este arquivo ao executar o programa. Ou ambas soluções. Decida também como você irá implementar a inserção (no início, no fim ou no meio da lista encadeada); 4. Deve existir um menu na tela. Este menu deve permitir a inserção de novas músicas (caso optado pela inserção manual de dados), deve ter a opção de listar todas as músicas da playlist (listagem de uma lista encadeada) na tela e encerrar o programa; */ int menu(); void InserirInicio(int num); void InserirFim(int num); void InserirMeio(int num, int posicao); int Remover(int num); void Listar(); struct ElementoDaLista_Simples { int dado; struct ElementoDaLista_Simples *prox; } *Head; int main() { int op, num, pos, c; Head = NULL; while (1) { op = menu(); switch (op) { case 1: printf("Digite o numero desejado: "); scanf_s("%d", &num); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. InserirInicio(num); break; case 2: printf("Digite o numero desejado: "); scanf_s("%d", &num); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. InserirFim(num); break; case 3: printf("Digite o numero desejado: "); scanf_s("%d", &num); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. printf("Digite a posicao que deseja inserir: "); scanf_s("%d", &pos); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. InserirMeio(num, pos); break; case 4: int res; printf("Digite o numero a ser removido: "); scanf_s("%d", &num); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. res = Remover(num); if (res == 1) printf("Numero removido."); else printf("Numero nao encontrado."); break; case 5: Listar(); break; case 6: return 0; default: printf("Invalido\n"); } } return 0; } int menu() { int op, c; system("Cls"); printf("1.Inserir no inicio da lista encadeada simples\n"); printf("2.Inserir no fim da lista encadeada simples\n"); printf("3.Inserir no meio da lista encadeada simples\n"); printf("4.Remover da lista encadeada simples\n"); printf("5.Listar a lista encadeada simples\n"); printf("6.Sair\n"); printf("Digite sua escolha: "); scanf_s("%d", &op); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. system("Cls"); return op; } void InserirInicio(int num) { ElementoDaLista_Simples *NovoElemento; NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); NovoElemento->dado = num; if (Head == NULL) { Head = NovoElemento; Head->prox = NULL; } else { NovoElemento->prox = Head; Head = NovoElemento; } } void InserirFim(int num) { ElementoDaLista_Simples *NovoElemento; NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoDaLista_Simples *ElementoVarredura; ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); NovoElemento->dado = num; if (Head == NULL) { Head = NovoElemento; Head->prox = NULL; } else { ElementoVarredura = Head; while (ElementoVarredura->prox != NULL) ElementoVarredura = ElementoVarredura->prox; ElementoVarredura->prox = NovoElemento; NovoElemento->prox = NULL; } } void InserirMeio(int num, int posicao) { ElementoDaLista_Simples *NovoElemento; NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoDaLista_Simples *ElementoVarredura; ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoDaLista_Simples *ElementoAuxiliar; ElementoAuxiliar = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); NovoElemento->dado = num; if (posicao == 0) { Head = NovoElemento; Head->prox = NULL; } else { ElementoVarredura = Head; for (int i = 0; i < posicao - 1; i++) ElementoVarredura = ElementoVarredura->prox; ElementoAuxiliar = ElementoVarredura->prox; ElementoVarredura->prox = NovoElemento; NovoElemento->prox = ElementoAuxiliar; } } int Remover(int num) { ElementoDaLista_Simples *ElementoVarredura; ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoDaLista_Simples *Anterior; Anterior = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoVarredura = Head; while (ElementoVarredura != NULL) { if (ElementoVarredura->dado == num) { if (ElementoVarredura == Head) { Head = ElementoVarredura->prox; free(ElementoVarredura); return 1; } else { Anterior->prox = ElementoVarredura->prox ; free(ElementoVarredura); return 1; } } else { Anterior = ElementoVarredura; ElementoVarredura = ElementoVarredura->prox; } } return 0; } void Listar() { ElementoDaLista_Simples *ElementoVarredura; ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoVarredura = Head; if (ElementoVarredura == NULL) { return; } while (ElementoVarredura != NULL) { printf("%d ", ElementoVarredura->dado); ElementoVarredura = ElementoVarredura->prox; } printf("\n"); system("pause"); return; }
  8. Ola Malta! Sou nova na programação em POO e estou com um problema ha dias e não consigo resolver. Tenho um projecto da faculdade em POO e tanto o Codeblocks quanto o VS Code não reconhecem a classe que criei. Testei programas feitos pelo professor e também ocorre o mesmo erro. Será que alguém poderia ajudar-me sff? //DEFINIÇÃO MAIN() #include "M.h" #include "M.cpp" #include<stdio.h> int main() { int n,m,k,p; Matriz mat_a,mat_b,mat_c; printf("Introduza as dimensoes da matriz A",n,m); scanf("%d %d",&n,&m); printf("Introduza as dimensoes da matriz B",k,p); scanf("%d %d",&k,&p); //construção de objetos do tipo Matriz m_a=Matriz(n,m); m_b=Matriz(k,p); m_a.Leitura(); m_a.Leitura(); m_c=m_a; //possibilidade de somar if(mat_a.PodeSomar(&mat_b)) { mat_a += mat_b; printf("A matriz da soma [A] + [B] = \n"); mat_a.Escrita(); } else printf("Não é possível somar essas duas matrizes"); //possibilidade de multiplicar if(mat_c.PodeMultiplicar(&mat_b)) { mat_c *= mat_b; printf("O produto de [A] * [B] = \n"); mat_c.Escrita(); } else printf("Não é possível multiplicar essas duas matrizes"); } /**************************************************************************************************************************/ //DEFINIÇÃO DO FICHEIRO DA CLASSE.cpp #pragma once #include "M.h" #include <stdio.h> #define M_H_INCLUDED #ifndef M_H Matriz :: Matriz(int nLinhas, int nColunas) { Iniciar(nLinhas,nColunas); } Matriz::Matriz() { Iniciar(0,0); } Matriz::~Matriz() { Apagar(); } #endif /**************************************************************************************************************************/ //DEFINIÇÃO CLASSE MATRIZ COM AS OPERAÇÕES EM M_A E M_B #pragma once #include "M.cpp" #include "M.h" #define M_H_INCLUDED #ifndef M_H class Matriz{ private: int **matriz; int linhas; int colunas; void Apagar(); void Iniciar(int nLinhas, int nColunas); public: Matriz(); Matriz(int nLinhas,int NColunas); ~Matriz(); bool PodeMultiplicar(const Matriz*pm); bool PodeSomar(const Matriz*pm); const Matriz& operator =(const Matriz& m1); const Matriz& operator +=(const Matriz& m1); const Matriz& operator *=(const Matriz& m1); void Leitura(); void Escrita(); }; #endif O erro que ocorre é como se a Classe Matriz não representasse um tipo. Como se não tivesse definida então não há reconhecimento dos objectos criados. Tentei outros fóruns e um colega indicou-me este. Caso alguém possa ajudar-me agradeço imensamente.
  9. Olá amigos! Bom dia a todos! Eu preciso fazer um programa no qual estou com bastante dificuldade para fazê-lo. É o seguinte: Preciso elaborar um algoritmo em C++ par fazer a calibração da temperatura do equipamento conforme a espessura da chapa (aço carbono) que será cortada. O algoritmo precisa solicitar a temperatura desejada pelo operador da máquina e aplicar essa configuração pro equipamento. A temperatura dependerá da espessura da chapa de aço carbono que vai ser cortada. Eu necessito utilizar estruturas IF e CASE pra fazer esse programa. Também necessito colocar configuração da temperatura em looping para que o operador não tenha a necessidade de reiniciar o programa a cada nova temperatura fornecida. Alguém pode me ajudar? Desde já, agradeço-lhes!
  10. NPires

    Help a um NOOB

    Boas noites a todos. Antes do mais queria dar os meu parabens pela optima informação existente neste forum. A minha questão é a seguinte: Tenho a necessidade de criar um soft em linux para leitura de matriculas com uma camara IP e com o apoio de uma base de dados MySql entre outros requisitos. O que já tenho ou já fiz: - Já criei a DB e um portal para consulta e introdução de dados. - Já tenho parte ( muito pouco ) do codigo em C++ para a ligação à CAM - ambos os testes a correr em Linux O que me falta: - fazer o stream de video passar pelo OCR (openCV) e fazer o reconhecimento de crateres - comparar o output com os valores da DB e mostra uma MSGBOX em caso de valor TRUE Gostava que me podessem ajudar. Volto a chamar à atenção que não sei programar em C++ e o que já fiz foi em QT Designer com apoio de alguns livros, videos de youtube, google e com alguns exemplos de download de outros programadores. Um muito obrigado Nuno Pires
  11. RuiCorreia

    Não consigo adiconar o nome na struct

    //NÃO ESTOU A CONSEGUIR O NOME À STRUCT , ALGUEM ME CONSEGUE AJUDAR? typedef struct Pessoa { int id_pessoa; char nome[100]; int idade; float peso; }PESSOA; //FUNÇÃO PARA PEDIR OS DADOS DA PESSOA PESSOA DadosPessoa(int nrpessoas) { PESSOA *pessoa = (PESSOA *)malloc(sizeof(struct Pessoa)); printf("\nID? "); scanf_s(" %d", &pessoa->id_pessoa); //printf("Nome? "); //scanf_s(" %s", pessoa->nome); //NÃO ESTÁ A ADICIONAR NA ESTRUTURA O NOME printf("Idade? "); scanf_s(" %d", &pessoa->idade); printf("Peso? "); scanf_s(" %f", &pessoa->peso); printf("-------------||------------||--------------\n"); return *pessoa; } void AdicionarPessoa(PESSOA *pessoa, int nrpessoas) { for (int i = 0; i < nrpessoas; i++) { *(pessoa + i) = DadosPessoa(nrpessoas); } } void MostrarPessoa(PESSOA *pessoa, int nrpessoas) { if (nrpessoas == 0) { printf("\nNao existe nenhuma pessoa inserida"); } else { int nrdapessoa; printf("\nID'S EXISTENTES: \n"); for (int i = 0; i < nrpessoas; i++) { printf("ID: %d |", (pessoa + i)->id_pessoa); } printf("\n-------------||------------||--------------"); printf("\nQual e o ID que deseja consultar?\n"); scanf_s("%d", &nrdapessoa); for (int i = 0; i < nrpessoas; i++) { if ((pessoa + i)->id_pessoa == nrdapessoa) { printf("ID: %d\n", (pessoa + i)->id_pessoa); //printf("NOME: %s \n", (pessoa + i)->nome); // NÃO ESTÁ A INSERIR LOGO NÃO MOSTRA printf("IDADE: %d anos\n", (pessoa + i)->idade); printf("PESO: %.2f Kg", (pessoa + i)->peso); } } } } void EditarPeso(PESSOA *pessoa,int nrpessoas){ //NÃO SEI SE É O MODO CORRETO , NEM SEI SE ASSIM FUNCIONA /* int nrdapessoa; float novopeso; printf("\nID'S EXISTENTES: \n"); for (int i = 0; i < nrpessoas; i++) { printf("ID: %d |", (pessoa + i)->id_pessoa); } printf("\nQual e o ID que deseja consultar?\n"); scanf_s("%d", &nrdapessoa); printf("Qual é o novo peso?"); scanf_s("%f", &novopeso); for (int i = 0; i < nrpessoas; i++) { if ((pessoa + i)->id_pessoa == nrdapessoa) { novopeso == (pessoa + i)->peso; } } */ } char Menu() { char opcao; do { printf("\n-------------||------------||--------------"); printf("\n1 - Adicionar Pessoa"); printf("\n2 - Editar Pessoa"); printf("\n3 - Apagar Pessoa"); printf("\n4 - Mostrar Pessoa"); printf("\n0 - Sair"); printf("\nOpcao?-> "); scanf_s(" %c", &opcao); printf("-------------||------------||--------------"); } while (opcao <'0' || opcao >'4'); return opcao; } int main() { PESSOA *pessoa = (PESSOA *)malloc(sizeof(struct Pessoa)); int nrpessoas=0; char opcao; do { opcao = Menu(); switch (opcao) { case '1': printf("\nNumero de pessoas? "); scanf_s("%d", &nrpessoas); printf("-------------||------------||--------------"); AdicionarPessoa(pessoa, nrpessoas); break; case '2': //EditarPeso(pessoa, nrpessoas); break; case '3': break; case '4': MostrarPessoa(pessoa, nrpessoas); break; } } while (opcao != '0'); return 0; }
  12. Boa tarde, estou a fazer um trabalho para a escola, que é para desenvolver um "site" escolar, onde crie unidades curriculares, cursos e o seu respetivo plano de estudo, criação de salas, e marcação de exames. Mas, O meu problema é o seguinte, tenho de escolher um dia e uma sala e ver a disponibilidade dessa sala durante o dia. Como faço isso? E também quero saber como procuro uma determinada palavra/string num documneto de texto através do dev c++ ??? Agradeço a vossa ajuda...
  13. NPires

    Como comparar value com BD MySQL

    Boas noites Gostava de vos colocar uma questão: Alguem sabe como posso comparar um valor de uma txtBox contra uma base de dados em mysql? txtBox(valor teste) -> comparar com uma base de dados -> if true -> msgBox information (valor txtBox ja existe ) obrigado NP
  14. Metalhead

    Ficheiros - Ignorar Linhas

    Boa tarde, Existe alguma forma específica de ignorar linhas num ficheiro usando o getline?
  15. Guilherme Zanette

    Fazer um injetor dll com windows form

    Olá Gostaria de um tutorial de como fazer um injetor De dll em c++, só que não em console, e sim em windows form com botões, listaBox, textBox e etc.. Mas não acho nada na internet. álguem poderia me falar os códigos e os componentes para min fazer agradeço a ajuda. eu quero fazer um injetor Bom mas infelismente só acho em console.
  16. Ola, gostaria de saber como posso fazer em linux, o servidor e o cliente comunicarem,para depois o cliente enviar dados para o server, e o server saber distinguir esses dados, de modo a puderem ser tratados para depois voltarem a ser enviados para o cliente. Na qual os dados são as distâncias de Manhattan e de Hamming, eu comecei por fazer por fazer o server e o client que estão aqui mas não sei como implementar estas distâncias no código. Obrigada // Server #include <unistd.h> #include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <netinet/in.h> #include <string.h> #define PORT 8080 int main(int argc, char const *argv[]) { int server_fd, new_socket, valread; struct sockaddr_in address; int opt = 1; int addrlen = sizeof(address); char buffer[1024] = {0}; char *hello = "Hello from server"; // Creating socket file descriptor if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) { perror("socket failed"); exit(EXIT_FAILURE); } // Forcefully attaching socket to the port 65432 if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT,&opt, sizeof(opt))) { perror("setsockopt"); exit(EXIT_FAILURE); } address.sin_family = AF_INET; address.sin_addr.s_addr = INADDR_ANY; address.sin_port = htons( PORT ); // Forcefully attaching socket to the port 65432 if (bind(server_fd, (struct sockaddr *)&address,sizeof(address))<0) { perror("bind failed"); exit(EXIT_FAILURE); } if (listen(server_fd, 3) < 0) { perror("listen"); exit(EXIT_FAILURE); }//9 if ((new_socket = accept(server_fd, (struct sockaddr *)&address,(socklen_t*)&addrlen))<0) { perror("accept"); exit(EXIT_FAILURE); } while(1){ valread = read( new_socket , buffer, 1024); printf("%s\n",buffer );// é isto que recebe } send(new_socket , hello , strlen(hello) , 0 ); printf("Hello message sent\n"); return 0; } // Client #include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <netinet/in.h> #include <string.h> #define PORT 8080 int main(int argc, char const *argv[]) { struct sockaddr_in address; int sock = 0, valread; struct sockaddr_in serv_addr; char *hello = "Hello from client"; char buffer[1024] = {0}; if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("\n Socket creation error \n"); return -1; } memset(&serv_addr, '0', sizeof(serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_port = htons(PORT); // Convert IPv4 and IPv6 addresses from text to binary form if(inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr)<=0) { printf("\nInvalid address/ Address not supported \n"); return -1; } if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) { printf("\nConnection Failed \n"); return -1; } send(sock , hello , strlen(hello) , 0 ); printf("Hello message sent\n"); valread = read( sock , buffer, 1024); printf("%s\n",buffer ); return 0; }
  17. Metalhead

    Converter string para inteiro

    Boa tarde, A minha dúvida é a seguinte, estou a utilizar a função stoi() para me converter uma string para inteiros, no entanto, está-me a dar erro e não faço ideia. Estou a usar listas para esse efeito, quero passar os dados para uma string e dois inteiros. Aqui vai o meu código: while (getline(file1, line)) { stringstream ss(line); //getline(ss, a->setNome, ';'); a->setNome(line); a->setMercadoria(stoi(line)); a->setNFronteira(stoi(line)); //cout << a->setNome << endl; P.push_back(a); }
  18. Fred

    Voltar ao início do programa

    Boas, estou no momento a fazer o 10º ano em programação e tenho um projeto de criar uma calculadora com um menu e queria colocar uma opção de voltar ao menu de escolha após realizar algum calculo, mas não estou a conseguir, aqui está o código que fiz até agora, se alguém puder ajudar? #include <math.h> #include <stdio.h> #include <stdlib.h> #include <conio.c> #include <locale.h> int main() { int op; int num1,num2; float total,inicio; setlocale(LC_ALL, "Portuguese"); textbackground(GREEN); clrscr(); gotoxy(39, 5); printf("Menu"); gotoxy(20, 6); printf("Escolha uma opção"); gotoxy (20, 8); printf("1-Soma"); gotoxy (20, 10); printf("2-Subtração"); gotoxy (20, 12); printf("3-Multiplicação"); gotoxy(20, 14); printf("4-Divisão"); gotoxy(20, 16); printf("5-Sair\n"); gotoxy(20, 18); printf("Opção:"); scanf("%i" , &op); switch(op) { case 1: clrscr(); gotoxy(1,2); printf("Diga 2 valores\n"); scanf("%d",&num1); scanf("%d",&num2); printf("O resultado é %d\n",num1+num2); printf("Deseja efetuar mais cálculos?(s/n) \n"); getch(); case 2: clrscr(); gotoxy(1,2); printf("Diga 2 valores\n"); scanf("%d",&num1); scanf("%d",&num2); printf("O resultado é %d\n",num1+num2); printf("Deseja efetuar mais cálculos?(s/n) \n"); getch(); case 3: clrscr(); gotoxy(1,2); printf("Diga 2 valores\n"); scanf("%d",&num1); scanf("%d",&num2); printf("O resultado é %d\n",num1*num2); printf("Deseja efetuar mais cálculos?(s/n)\n"); getch(); case 4: clrscr(); gotoxy(1,2); printf("Diga 2 valores\n"); scanf("%d",&num1); scanf("%d",&num2); printf("O resultado é %d\n",num1/num2); printf("Deseja efetuar mais cálculos?(s/n)\n"); getch(); } }
  19. Metalhead

    Carregar ficheiro para memória

    Boa tarde, Aqui vai a minha dúvida, tenho dois ficheiros que pretendo carregar para a memória, no entanto, tenho de confirmar através de true ou false, se de facto conseguiu carregar para a memória e os ficheiros existem! Alguém que me possa demonstrar alguma ideia, e dar a opinião se estou a fazer da forma correta!? bool Ficheiros::Load(const string & file_a, const string & file_b) { if ((file_a) && (file_b)) { ifstream file1(fich_a); ifstream file2(fich_b); string content1((istreambuf_iterator<char>(file1)), istreambuf_iterator<char>()); string content2((istreambuf_iterator<char>(file2)), istreambuf_iterator<char>()); return true; } else return false; }
  20. carcleo

    Retirar repetições no laço for

    Preciso de um função em C++ que faça o mesmo que Array.prototype.includes, no JavaScript var e = Array (10,20,30,40, 50); for (j = 0; j < 50; j++) { if (e.includes(j)) document.write ("O numero escolhido é: " + j + "<br />"); else document.write ("O numero NÃO escolhido é: " + j + "<br />"); } OU IN no PHP $e = {10,20,30,40, 50}; for (j = 0; j < 50; j++) { if (j IN e) echo "O numero escolhido é: " + j + "<br />"; else echo O numero NÃO escolhido é: " + j + "<br />"; } O objetivo aqui é retirar as repetições. Necessito de um código em C++ que me retorne da seguinte forma: O numero NÃO escolhido é: 0 O numero NÃO escolhido é: 1 O numero NÃO escolhido é: 2 O numero NÃO escolhido é: 3 O numero NÃO escolhido é: 4 O numero NÃO escolhido é: 5 O numero NÃO escolhido é: 6 O numero NÃO escolhido é: 7 O numero NÃO escolhido é: 8 O numero NÃO escolhido é: 9 O numero escolhido é: 10 O numero NÃO escolhido é: 11 O numero NÃO escolhido é: 12 O numero NÃO escolhido é: 13 O numero NÃO escolhido é: 14 O numero NÃO escolhido é: 15 O numero NÃO escolhido é: 16 O numero NÃO escolhido é: 17 O numero NÃO escolhido é: 18 O numero NÃO escolhido é: 19 O numero escolhido é: 20 O numero NÃO escolhido é: 21 O numero NÃO escolhido é: 22 O numero NÃO escolhido é: 23 O numero NÃO escolhido é: 24 O numero NÃO escolhido é: 25 O numero NÃO escolhido é: 26 O numero NÃO escolhido é: 27 O numero NÃO escolhido é: 28 O numero NÃO escolhido é: 29 O numero escolhido é: 30 O numero NÃO escolhido é: 31 O numero NÃO escolhido é: 32 O numero NÃO escolhido é: 33 O numero NÃO escolhido é: 34 O numero NÃO escolhido é: 35 O numero NÃO escolhido é: 36 O numero NÃO escolhido é: 37 O numero NÃO escolhido é: 38 O numero NÃO escolhido é: 39 O numero escolhido é: 40 O numero NÃO escolhido é: 41 O numero NÃO escolhido é: 42 O numero NÃO escolhido é: 43 O numero NÃO escolhido é: 44 O numero NÃO escolhido é: 45 O numero NÃO escolhido é: 46 O numero NÃO escolhido é: 47 O numero NÃO escolhido é: 48 O numero NÃO escolhido é: 49 Obrigado
  21. Camila Oliveira

    Sorteio de valores de um array

    Bom dia, Fiz um código para sorteio de 50 Pokemons, mas ele escolhe apenas o primeiro nome do array. Como posso deixar aleatório? Eis o código: #include <stdlib.h> #include <stdio.h> int main() { char pokemon[51][15] = {"Bulbasaur","Venusaur","Charmander","Charmeleon","Charizard","Pidgey","Pidgeotto","Pidgeot","Pikachu","Raichu","Clefairy","Vulpix","Ninetales","Meowth","Psyduck","Golduck","Mankey","Primeape","Growlithe","Arcanine","Abra","Kadabra","Alakazam","Magnemite","Magneton","Onix","Cubone","Marowak","Staryu","Starmie","MrMime","Jynx","Magikarp","Gyarados","Lapras","Ditto","Eevee","Vaporeon","Porygon","Snorlax","Dragonair","Dragonite","Mewtwo","Mew","Chikorita","Sentret","Furret","Hoothoot","Lanturn","Pichu"}; int i; srand(time(NULL)); i = (rand() >> 11) % 3; printf ("%s",pokemon[i]); system ("Pause"); return 0; }
  22. ttduty

    Repetir o programa

    Olá pessoal Eu comecei a fazer uma a calculadora em c++ apresento-vos o código #include <iostream> using namespace std; int main () { int a,b,c,op; char d; cout <<"Digite o 1º valor \n" ; cin >> a ; cout <<"Digite o 2º valor \n" ; cin >> b ; cout <<"Escolha a Operação que deseja realizar \n"; cout <<" 1.Soma \n 2.Subtracção \n 3.Mutiplicação \n 4.Divisor \n"; cin >> op ; system("cls"); switch(op) { case 1: c = a+b; cout <<c<<"\n"; break; case 2: c = a-b; cout <<c<<"\n"; break; case 3: c = a * b; cout <<c<<"\n"; break; case 4: c = a / b; cout <<c<<"\n"; break; } system("pause"); } Agora a minha dúvida.. era com este código como posso fazer repetir o programa novamente, tipo executo a calculadora, faço uma soma e quero voltar a utilizar a calculadora novamente... é a minha dúvida Agradeço muito e desculpem o spam
  23. koyote31

    Bitwise- interpretação do código

    Boa tarde, Queria pedir ajuda na interpretação de um código em C++, que me chegou às mãos. #define bit(b) (1 << (b)) #define contains(n, b) ((n) & bit(b)) //..... int main() { int tc = 0; string line; while(getline(cin, line)) { if(tc++) cout << endl; vars.clear(); for( int i = 0 ; i < (int) line.length() ; i += 2 ) { vars.push_back( line[i] - 'a' ); deps[ line[i] - 'a' ] = 0; } sort( vars.begin(), vars.end() ); getline(cin, line); for( int i = 0 ; i < (int) line.length() ; i += 4 ) deps[ line[ i + 2 ] - 'a' ] |= bit( line[ i ] - 'a' ); } return 0; } Para um problema onde o input seria algo do tipo: a b f g a b b f v w x y z v y x v z v w v Não consigo perceber qual é o funcionamento dos Defines (bit, contains) que usam bitwise. E a leitura dos caracteres que transformam num inteiro com a operação: - 'a'. Conseguem-me dar uma ajuda a clarificar o funcionamento do excerto de código? Obrigado.
  24. Americo Pereira

    C++ porquê Segmentation fault?

    #include <iostream> #include <string> #include <fstream> #include <sstream> using namespace std; class ola{ private: int a; int b; string str; public: void atribui(int,int,string); void le(void); }; void ola::atribui(int A, int B, string str){ this->a=A; this->b=B; this->str=str; } void ola::le(){ //Porquê que dá Erro de 'Segmentation fault // se mandar escrever str ou mesmo quando evoco a variabel str cout << a <<","<< b<<" " <<str<< endl; } main(){ ofstream fout; ifstream fin; ola a; string o; fout.open("bem.dat",ios::app|ios::binary); if(fout.fail()){ fout<< "erro abertura de ficheiro"; }else cout << "ficheiro aberto\n"; a.atribui(4,2,"ola"); //fout.seekp(0*sizeof(ola),ios::end); fout.write((char*)&a,sizeof(ola)); if(fout.fail()) cout<< "erro escrita"<<endl; else cout <<"escreveu"<<endl; a.atribui(4,2,"Prof"); //fout.seekp(1*sizeof(ola),ios::end); fout.write((char*)&a,sizeof(ola)); if(fout.fail()) cout<< "erro escrita"<<endl; else cout <<"escreveu"<<endl; fout.close(); fin.open("bem.dat",ios::in|ios::binary); while(!fin.eof()){ fin.read((char*)&a,sizeof(ola)); if(fin.fail()){ cout<< "erro Leitura"; break; } else a.le(); fin.peek(); } fin.close(); } Bom dia companheiros, alguém me sabe explicar como posso resolver o problema de segmentation fault quando o metodo le() manda escrever a variavel privada str do tipo string? Ou não posso guardar em ficheiro dados que contenham objectos nos dados privados? Terei que substituir string str pro char str[250 ?]
  25. Sou iniciante e não sei fazer muito, queria apenas ultilizar o básico (IF, IF Else,while, do while ou for).
×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.