Search the Community

Showing results for tags 'c++'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Blogs

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

Forums

  • Bem-vindos ao Portugal-a-Programar
    • 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 / XHTML
    • 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
    • SharePoint
    • Apresentação de Software
  • Informática Extra-Programação
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Matemática
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
    • Arquivo Morto

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

Found 114 results

  1. Boas, Estou a tentar criar um documento word através do meu código de c++, criar o documento não está a ser o problema, o problema neste momento é que precisava de criar uma tabela no word através do c++ e não estou a conseguir, alguém aqui me podia dar uma ajudinha ou um exemplo?
  2. [Nota: para além destes recursos externos, podem também encontrar conteúdos úteis no portal de downloads e no wiki.] Introduções, Tutoriais e Outras Documentações Learn C++ (Inglês) C++ Language Tutorial (Inglês) C++ Made Easy: Learning to Program in C++ (Inglês) The Function Pointer Tutorials (Inglês) 20 aulas sobre programação de jogos em C++ (Português) Apostilando - Programação em C++ (Português) Livros (disponíveis gratuitamente) Thinking in C++ Volume 1 / Thinking in C++ Volume 2 de Bruce Eckel (Inglês) The Boost C++ Libraries de Boris Schäling (Inglês) C++ Programming (Inglês) (outros) The C++ Programming Language de Bjarne Stroustrup (em Inglês) A Tour of C++ de Bjarne Stroustrup (em Inglês) The C++ Standard Library: A Tutorial and Reference de Nicolai M. Josuttis (em Inglês) C++ Primer de Stanley B. Lippman, Josée Lajoie, e Barbara E. Moo (Inglês) C++: A Beginner's Guide, Second Edition de Herbert Schildt (Inglês) OpenGL OpenGL Programming Guide (Inglês) OpenGL Reference Manual (Inglês) OpenGL Online Manual (Inglês) GL UI Manual v2 beta [PDF] (Inglês) GL UT 3 Specifications [PDF] (Inglês) Novas sugestões, assim como comentários sobre as existentes, são bem-vindas.
  3. Boa tarde, Comecei à pouco tempo a aprender c++ e neste momento a minha professora deu-me um exercício para resolver que consiste em fazer um jogo da forca. A dúvida que tenho é na parte em que temos que organizar as palavras do jogo por temas e o utilizador deve ser capaz de criar um número variado de temas, que por sua vez, contêm um número variado de palavras (p. ex., tema “Frutas”, conterá as palavras, “banana”, “maça”, “laranja” e “limão”). Deve ser possível consultar a lista de temas e palavras, além de adicionar ou eliminar temas ou palavras. A minha dúvida é como fazer uma lista de temas e dentro de cada tema tenho palavras... Lembrei-me de fazer uma lista de temas, e em cada tema ma lista de palavras, ou então uma lista de temas e cada tema é constituído por um vector multidimensional que irá conter as palavras. Será que estou a pensar bem? Será que me podem dar umas luzes de como resolvo esta situação? Ainda estou numa fase inicial do exercício, mas o resto já consegui estruturar mais ou menos. Obrigada pela atenção
  4. Galera, por favor, me ajudem aqui nessa questão O código é de uma mini agenda telefonica certo O código é este. Program Pzim ; const quant = 5; type vnome = array[1..quant] of string[30]; vidade = array[1..quant] of integer; valtura = array[1..quant] of real; vsexo = array[1..quant] of char; var //posicao: integer; opcao: char; nomes: vnome; idades: vidade; alturas: valtura; sexos: vsexo; procedure menu(var op: char); begin clrscr; writeln('menu'); writeln('1 - listar todos'); writeln('2 - cadastrar'); writeln('3 - procurar'); writeln('4 - modificar'); writeln('5 - excluir'); writeln('6 - resetar'); writeln('7 - sair'); writeln('qual a sua opção?'); op:=readkey; end; procedure limpar_ns(var ns: vnome); var cont: integer; begin for cont:= 1 to quant do ns[cont]:='XXX'; end; procedure limpar_is(var is: vidade); var cont: integer; begin for cont:= 1 to quant do is[cont]:=0; end; procedure limpar_as(var as: valtura); var cont: integer; begin for cont:= 1 to quant do as[cont]:=0; end; procedure limpar_ss(var ss: vsexo); var cont: integer; begin for cont:= 1 to quant do ss[cont]:='X'; end; procedure limpar(var ns: vnome; var is: vidade; var as: valtura; var ss: vsexo); begin limpar_ns(ns); limpar_is(is); limpar_as(as); limpar_ss(ss); end; procedure exibir_ns(ns: vnome; c: integer); begin writeln('nome[',c,']=',ns[c]); end; procedure exibir_is(is: vidade; c: integer); begin writeln('idade[',c,']=',is[c]); end; procedure exibir_as(as: valtura; c: integer); begin writeln('altura[',c,']=',as[c]:4:2); end; procedure exibir_ss(ss: vsexo; c: integer); begin writeln('sexo[',c,']=',ss[c]); end; procedure exibir(ns: vnome; is: vidade; as: valtura; ss: vsexo; c: integer); begin exibir_ns(ns,c); exibir_is(is,c); exibir_as(as,c); exibir_ss(ss,c); end; procedure cadastrar_ns(var ns: vnome; p: integer); begin writeln('informe nome[',p,']='); readln(ns[p]); end; procedure cadastrar_is(var is: vidade; p: integer); begin writeln('informe idade[',p,']='); readln(is[p]); end; procedure cadastrar_as(var as: valtura; p: integer); begin writeln('informe altura[',p,']='); readln(as[p]); end; procedure cadastrar_ss(var ss: vsexo; p: integer); begin writeln('informe sexo[',p,']='); readln(ss[p]); end; procedure cadastrar(var ns: vnome; var is: vidade; var as: valtura; var ss: vsexo; var p: integer); begin cadastrar_ns(ns,p); cadastrar_is(is,p); cadastrar_as(as,p); cadastrar_ss(ss,p); //p:= p + 1; end; procedure executar(var op: char; var ns: vnome; var is: vidade; var as: valtura; var ss: vsexo); var posicao, cont, achou, atual: integer; chave: string[30]; begin limpar(ns,is,as,ss); posicao:=1; repeat menu(op); case (op) of '1':begin if (posicao = 1) then begin writeln('agenda vazia!'); readln; end else begin writeln('lista das pessoas'); for cont:=1 to (posicao-1) do begin exibir(ns,is,as,ss,cont); readln; end; end; end; '2':begin if (posicao > quant) then begin writeln('agenda cheia!'); readln; end else begin cadastrar(ns,is,as,ss,posicao); posicao:= posicao + 1; end; end; '3':begin if (posicao = 1) then begin writeln('agenda vazia! não posso procurar...'); readln; end else begin writeln('qual a pessoa a ser procurada:'); readln(chave); achou:=0; atual:=1; repeat if (chave = ns[atual]) then achou:= atual else atual:= atual + 1; until (achou<>0) or (atual = posicao); if (achou = 0) then begin writeln(chave,' não encotrada na agenda!'); readln; end else begin exibir(ns,is,as,ss,achou); readln; end; end; end; '4':begin if (posicao = 1) then begin writeln('agenda vazia! não posso modificar...'); readln; end else begin writeln('qual a pessoa a ser modificada:'); readln(chave); achou:=0; atual:=1; repeat if (chave = ns[atual]) then achou:= atual else atual:= atual + 1; until (achou<>0) or (atual = posicao); if (achou = 0) then begin writeln(chave,' não encotrada na agenda, logo não posso modificar!'); readln; end else begin writeln('dados antigos'); exibir(ns,is,as,ss,achou); readln; cadastrar(ns,is,as,ss,achou); writeln('dados novos'); exibir(ns,is,as,ss,achou); readln; end; end; end; '5':begin if (posicao = 1) then begin writeln('agenda vazia! não posso excluir...'); readln; end else begin writeln('qual a pessoa a ser excluída:'); readln(chave); achou:=0; atual:=1; repeat if (chave = ns[atual]) then achou:= atual else atual:= atual + 1; until (achou<>0) or (atual = posicao); if (achou = 0) then begin writeln(chave,' não encotrada na agenda! não posso excluir...'); readln; end else begin for cont:= (achou + 1) to (posicao - 1) do begin ns[cont-1]:=ns[cont]; as[cont-1]:=as[cont]; is[cont-1]:=is[cont]; ss[cont-1]:=ss[cont]; end; posicao:= posicao - 1; end; end; end; '6':begin //limpar(ns,is,as,ss); posicao:=1; writeln('agenda resetada...!'); readln; end else begin if (op = '7') then begin writeln('bye bye!'); readln; end else begin writeln('opção inválida!'); readln; end; end; end; until (op = '7'); end; Begin //posicao:=1; executar(opcao,nomes,idades,alturas,sexos); End. Só que que esse trecho aqui, se repete várias vezes no código, preciso transforma-lo em função e procedimento, só que não estou conseguindo raciocinar, como farei, isso, por favor alguém sabe me ajudar? O trecho é este. if (posicao = 1) then begin writeln('agenda vazia! não posso excluir...'); readln; end else begin writeln('qual a pessoa a ser excluída:'); readln(chave); achou:=0; atual:=1; repeat if (chave = ns[atual]) then achou:= atual else atual:= atual + 1; until (achou<>0) or (atual = posicao); if (achou = 0) por favor
  5. Boa tarde, Segue o seguinte código: test.cpp #include "MyClass.h" #include "MyClass.cpp" #include <iostream> int main(){ MyClass a; } Cria o objecto "a" referente há classe MyClass. Output: Constr Dest MyClass.h onde está declarado a função do construtor e destrutor #ifndef MYCLASS_H #define MYCLASS_H class MyClass { public: MyClass(); ~MyClass(); protected: private: }; #endif // MYCLASS_H MyClass.cpp função do construtor e destrutor #include "MyClass.h" #include <iostream> using namespace std; MyClass::MyClass() { cout << "constr" << endl; } MyClass::~MyClass() { cout << "Dest" << endl; } Tenho declarado MyClass.cpp em test.cpp e só assim é que funciona. Caso comente a linha que faz " #include "MyClass.cpp" " e fique apenas incluído o MyClass.h ocorre o seguinte erro: /home/user/Documents/workspace/test.o||In function `main':| test.cpp|| undefined reference to `MyClass::MyClass()'| test.cpp|| undefined reference to `MyClass::~MyClass()'| ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===| Caso inclua só o MyClass.cpp o programa também executa sem erros. Não deveria executar normalmente só incluindo o Header? Desde já obrigado
  6. Boa noite, preciso de uma ajudinha no código que tenho estado a fazer para um trabalho em que está armazenado num ficheiro txt registos referentes a produtos farmacêuticos desta maneira: Código: 0 Nome: ben-u-rum Quantidade: 20 Preço de Compra: 12.5 Preço de Venda: 15.5 Validade: 10/04/2016 ---------------------------------- Código: 1 Nome: Brufen Quantidade: 20 Preço de Compra: 9.9 Preço de Venda: 10.9 Validade: 12/09/2016 ---------------------------------- e o que pretendo é passar os valores que estão a direita dos ':' para as variáveis que tenho na struct... Tenho feito experiências com (if, swich e for) mas não tou a conseguir chegar lá , se alguém me pudesse dár uma ajuda sff! int c=0; string aux; line=""; doc_in.open("Base_Dados/Produtos.txt", ios::in); if(doc_in.is_open()) { while(getline(doc_in, line, ':')) { for(c=0; c<=1; c++) { if(line == "Código") { aux = line; cout << "\nValor é: " << aux; } else // cout << "\nn/a"; if(c==0) { if(line == "Código") { //aux = line; cout << "\nValor de 0:" << line; aux=1; } } else if(c==1) { if(aux==1) { cout << "\nValor de 1:" << line; } } } }
  7. Boas pessoal, Gostaria se possível que alguém me ajuda-se numa situação. Estou a fazer um programa da recebe entrada de ips. No momento recebo 4 octetos de forma separada no-entanto gostaria de saber se é possível fazêlo de outra forma. Ou seja , ex 192.168.0.1 O utilizador insere por extenso o ip completo e o programa vai memorizando o batimento das teclas até ser colocado um ponto. Nesse momento é passado o primeiro octeto para a variável oct1, e por aí fora... o ultimo octeto seria colocado na variavel oct4 mediante o ENTER. Seria possivel fazer algo do genero? Obrigado.
  8. galera é o seguinte, tenho esse códigozinho ai, que é uma calculadora de áreas, que usa o comando de repetição " repeat " fiquei enrolado, e nao consegui fazer esse mesmo código usando a repetição " while " , e com ' for " voces poderiam me ajudar por favor? agradeço Program qc; var opcao:integer; a1,a2,a3:real; lado:real; base, altura:real; Begin repeat clrscr; writeln('MENU'); writeln('1: PARA CALCULAR A AREA DO QUADRADO'); writeln('2: PARA CALCULAR A AREA DO RETANGULO'); writeln('3: PARA CALCULAR A AREA DO TRIANGULO'); writeln('4: PARA SAIR'); writeln(' QUAL SUA OPCAO ?'); readln (opcao); case (opcao) of 1: begin writeln('VOCE ESCOLHEU A AREA DO QUADRADO'); writeln('POR FAVOR INFORME UM DOS LADOS DO QUADRADO'); readln (lado); writeln ('A ÁREA DO SEU QUADRADO É : ', lado*lado :4:2); end; 2: begin writeln ('VOCE ESCOLHEU CALCULARMOS A ÁREA DO RETANGULO'); writeln ('VAMOS ME AJUDE, INFORME A BASE E A ALTURA DO MESMO'); readln (base,altura); writeln ('A BASE DO SEU RETANGULO É ', base*altura :4:2); end; 3: begin writeln ('VOCEE ESCOLHEU CALCULARMOS A AREA DO TRIANGULO'); writeln ('POR FAVOR INFORME A BASE A ALTURA'); readln (base, altura); writeln ('A AREA DO SEU TRIANGULO É' , ((base*altura) /2):4:2); end else begin if(opcao=4) then begin writeln ('VOCE OPTOU POR SAIR, BYE BYE'); end else begin writeln ('VOCE DIGITOU UMA OPCAO INVÁLIDA'); end; end; end; readln; until (opcao=4); End.
  9. Boas malta, preciso de uma sugestão da vossa parte. Tenho um trabalho da universidade que se está a aproximar a entrega, e as nossas aulas práticas estão um bocado apertadas na matéria, e não queria deixar tudo para fazer em cima da hora uma vez que estamos a dar coisas relativamente básicas. O nosso trabalho é relativamente simples nesta primeira fase. Temos que fazer um gerador de figuras, e um leitor das figuras geradas. O exemplo dado no enunciado para o gerador é algo como executar o comando gerador esfera 1 10 10 output.3d em que "gerador" é o nome do programa gerador de figuras, "esfera" é a figura que queremos gerar, "1 10 10" é o raio, fatias e filas que queremos na esfera, e o "output.3d" é um ficheiro em que queremos guardar os dados da figura para depois ser lida. É dito pelo enunciado, que o ficheiro de output deve ser definido por nós, e como sugestão diz que devemos usar por exemplo o número de vértices da figura, para facilitar o processo de leitura. O programa leitura, simplesmente é escolher o ficheiro output que queremos, e desenhar a cena. A minha dúvida é face ao programa gerador. Eu para desenhar uma esfera, estava simplesmente a pensar utilizar a função para o exemplo em cima: glutWireSphere(1,10,10); E isto foi o que demos para desenhar uma figura deste género. Mas eu não precisaria de saber o número de vertices para este caso, o que me leva a pensar que o uso desta função para desenhar a cena em si, não seria muito correcto. Neste momento(esta semana) só ainda estamos a dar desenho de triângulos simples, com rotações e translações, e este trabalho já é para entregar para a semana. Calculo que para a semana já aprendamos a fazer isto, mas eu queria adiantar trabalho. Como é que eu poderia por exemplo guardar todos os triângulos gerados na cena, para os poder guardar num ficheiro e posteriormente fazer o display?
  10. Toolkits gráficos: (para janelas) GTK wxWidgets Qt FLTK (Fast Light Toolkit) (para aplicações multimedia/jogos) Allegro DirectX OpenGL SDL (Simple DirectMedia Layer) ClanLib Bibliotecas de suporte: libglade - gera as janelas através de um ficheiro .XML gerado pelo Glade gtkmm - bindings de C++ para GTK Bakery - framework que facilita a criação de aplicações de janelas em GNOME/gtkmm sdlmm - bindings de C++ para SDL OpenML - framework que facilita sincronização de audio/vídeo Editores de GUIs grátis/open-source: Glade - editor oficial para toolkit GTK wxGlade - editor de GUIs para toolkit wxWidgets wxFormBuilder - editor de GUIs para toolkit wxWidgets VisualWX - editor de GUIs para toolkit wxWidgets Editores de GUIs pagos/proprietários: wxDesigner - editor de GUIs para toolkit wxWidgets DialogBlocks - editor de GUIs para toolkit wxWidgets IDEs com editores GUI integrados: Anjuta - solução completa com debugger, profiler, integração SVN e designer de GUI em toolkit GTK (usa o Glade) KDevelop - solução completa semelhante ao Anjuta mas para Qt wxDev-C++ - solução completa mas para wxWidgets - só funciona em ambiente Windows IDEs free/open-source: Code::Blocks - não tem nenhum editor de GUIs nativo; é possível integrar o wxSmith através de um plugin Netbeans + C/C++ pack - IDE em Java, não traz qualquer suporte para editores de GUI Eclipse + C/C++ (CDT) - IDE em Java, também não traz um editor de GUIs IDEs pagos/proprietários: C++ Builder - IDE pago, só permite criar aplicações de janelas para Windows Microsoft Visual C++ - existe uma versão Express grátis, só permite criar aplicações de janelas para Windows
  11. Olá malta estou aqui a fazer um mini projecto de c++, onde estou a criar um bloco de notas, e mais tarde vou usar para programar(ideia maluca mas pronto), e queria que o utilizador no inicio coloca-se no inicio o caminho e o nome do ficheiro exemplo : /home/fmc/ficheiro.txt Como faço?E ste código está a criar um ficheiro como default, e não inserido pelo utilizador! #include <iostream> #include <fstream> using namespace std; bool e_letra(char a) //confirma se é letra { bool saida; if ((a>='a' && a<='z') || (a>='A' && a<='Z') ) //Se for alguma letra saida=true; else saida=false; return saida; } bool e_numero(char a) //confirma se é numero { bool saida; if (a>='1' && a<='9') //se for algum numero saida=true; else saida=false; return saida; } bool e_espaco(char a) { bool saida; if (a == ' ' || a=='\t' || a== '\r' || a == '\n') //se for algum tipo de espaço saida=true; else saida=false; return saida; } void texto(){ //variáveis char entrada; unsigned numero_letras=0,numero_numeros=0,numero_outros=0,numero_espacos; ofstream esc; esc.open("saida.txt"); //Texto inicial cout << "Escreve, para parar *" << endl; do{ entrada = (char) cin.get(); //Para recolher espaços esc << entrada; if (e_letra(entrada)) //Se for letra, adiciona uma na variavel letra numero_letras++; else if (e_numero(entrada)) //Se não for letra e se for numero adc uma a variavel num numero_numeros++; else if (e_espaco(entrada)) numero_espacos++; else //Se não for nenhuma das anteriores é caracter especial numero_outros++; } while(entrada!='*'); // repetir até chegar o caracter * esc.close(); cout << "Saiu porcausa que escrever o caracter '*', e esse foi ignorado" << endl; //Mensagem de aviso cout << numero_letras << " letra" << (numero_letras!=1 ? "s":"") << endl; cout << numero_numeros << " numero" << (numero_numeros!=1 ? "s":"") << endl; cout << numero_espacos << " espaço" << (numero_espacos!=1 ? "s":"") << endl; cout << numero_outros << " outro" << (numero_outros!=1 ? "s":"") << " caracter" << (numero_outros!=1 ? "es":"") << endl; } int main() { texto(); return 0; }
  12. Eu estou interessado em aprender a programar, mas sem nenhum conhecimento, procurei algumas linguagens e as que mais gostei foram: C(tenho um livro, se for importante),C++ ,C#, Python e Java. A minha questão é, destas cinco linguagens, qual será melhor para desenvolver programas úteis?
  13. Boas, sou novo aqui no fórum e estou a precisar de uma ajudita. Eu sou programador de C mas queria mudar para c++. Eu gostava de saber como é que, utilizando C++ como linguagem orientada a objetos, consigo fazer com que os objetos sejam independentes, por exemplo, enquanto estou a escrever numa textbox estou a receber numa listbox. Por exemplo o msn, eu estou a escrever na textbox. mas ao mesmo tempo estou a receber de outra pessoa. Isso é com tempo ou é possível enquanto estou a escrever, um objeto completamente diferente está sempre a receber de outro utilizador? Se precisarem que seja mais específico digam sff..
  14. Titulo do Projecto: Glitcher Última Versão: 1.1 Site Oficial: https://sourceforge.net/projects/glitcher/ Licença: GPL Screenshots: Descrição do Projecto: Programa de edição de imagem com alguns efeitos gráficos 2D. Feito com C++ e Qt. Agradeço feedback.
  15. Como faço para exibir as letras nesse jogo? #include <iostream> // Biblioteca que define o espaço de nomes; #include <string> // Biblioteca que permite o uso de cadeia de caracteres; #include <cstdlib> // Biblioteca que permine o sorteio das palavras aleatórias; #include <ctime> // Biblioteca que permine o sorteio das palavras aleatórias; #include <stdio.h> // Biblioteca que permine o uso do printf; using namespace std; // define constantes para desenho da forca #define CHANCES 6 #define EMPTY_WORD 45 #define PIPE 124 #define UNDERLINE 95 #define LEFT_BAR 47 #define RIGHT_BAR 92 #define CABECA 48 int main(void) { char jogador [8] = "Jogador"; char palavra[10]; char letra; int palavra_sorteada, i, jogar_novamente; int quantidate_letras, erros, acertos; bool letra_correta, vencedor; string palavras_secretas [] = {"caneta","borracha","caderno","caneca","barbante","celular","pano","luz","panela","filme","televisao","mesa","amor","parede","trabalho","toalha","amnesia","torrada","vestido","lobo"}; srand(time (NULL)); // Regra para sorteio. do { palavra_sorteada = rand () % 20; // Regra de limite do sorteio. for(i = 0; i < 10; i++) { palavra[i]= palavras_secretas[palavra_sorteada][i]; } quantidate_letras = palavras_secretas[palavra_sorteada].length(); erros = 0; acertos = 0; letra_correta; vencedor = false; // inicia palavra descoberta como uma lista de "-" string descoberto = string(quantidate_letras, '-'); while( erros <= CHANCES && acertos <= quantidate_letras ) { letra_correta = false; system ("cls"); cout << "J O G O D A F O R C A" << endl; cout << "Bem vindo, Jogador! Esta versão só está disponível para um participante por vez. Boa sorte!" << endl << endl << endl; cout << "Jogador, insira seu primeiro palpite:" << endl; cout << "Voce possui:" << ' ' << CHANCES - erros << ' ' << "chances." << endl; cout << "Voce acertou:" << ' ' << acertos << ' ' << "letras" << endl; // utiliza codigos ASCII para desenhar forca switch (erros){ case 0: cout << (char)UNDERLINE; cout << (char)UNDERLINE; cout << (char)UNDERLINE << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; break; case 1: cout << (char)UNDERLINE; cout << (char)UNDERLINE; cout << (char)UNDERLINE << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; cout << ' ' << ' ' << ' ' << (char) CABECA << endl; break; case 2: cout << (char)UNDERLINE; cout << (char)UNDERLINE; cout << (char)UNDERLINE << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; cout << ' ' << ' ' << ' ' << (char) CABECA << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; break; case 3: cout << (char)UNDERLINE; cout << (char)UNDERLINE; cout << (char)UNDERLINE << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; cout << ' ' << ' ' << ' ' << (char) CABECA << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; cout << ' ' << ' ' << (char)LEFT_BAR << endl; break; case 4: cout << (char)UNDERLINE; cout << (char)UNDERLINE; cout << (char)UNDERLINE << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; cout << ' ' << ' ' << ' ' << (char) CABECA << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; cout << ' ' << ' ' << (char)LEFT_BAR; cout << ' ' << (char)RIGHT_BAR << endl; break; case 5: cout << (char)UNDERLINE; cout << (char)UNDERLINE; cout << (char)UNDERLINE << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; cout << ' ' << ' ' << ' ' << (char) CABECA << endl; cout << ' ' << ' ' << (char)LEFT_BAR << (char)PIPE << endl; cout << ' ' << ' ' << (char)LEFT_BAR; cout << ' ' << (char)RIGHT_BAR << endl; break; case 6: cout << (char)UNDERLINE; cout << (char)UNDERLINE; cout << (char)UNDERLINE << endl; cout << ' ' << ' ' << ' ' << (char)PIPE << endl; cout << ' ' << ' ' << ' ' << (char) CABECA << endl; cout << ' ' << ' ' << (char)LEFT_BAR << (char)PIPE << (char)RIGHT_BAR << endl; cout << ' ' << ' ' << (char)LEFT_BAR; cout << ' ' << (char)RIGHT_BAR << endl; break; } cout << descoberto << endl; // verifica vitoria ou derrota if (acertos >= quantidate_letras) { vencedor = true; break; }else if(erros >= CHANCES) { break; } // ler caractere letra = getchar(); // verifica se é um caractere válido, se não, pega o próximo chute if(letra == '\n') continue; for(i = 0; i < quantidate_letras; i++) { // verifica se é uma letra correta if(palavra[i] == letra) { if(descoberto[i] != letra) { descoberto[i] = letra; acertos++; } letra_correta = true; } } if(!letra_correta) erros++; } if( vencedor ) cout<<"\n\tPARABENS!!!\n Voce ganhou!\n\n"; else cout<<"\n\tNão foi dessa vez.\n Palavra correta: " << palavra << "\n\n" << endl; cout << "Deseja jogar novamente? Se sim, tecle 1, senao, tecle 2!" << endl; cin >> jogar_novamente; }while(jogar_novamente == 1); return 0; }
  16. Boas comunidade, Eu já tenho conhecimento em algumas linguagens de programação nomeadamente PHP,Pascal e vb.net e estou motivado a aprender C++ embora já tenha alguma noção da sintaxe. A minha duvida será como implementar a parte gráfica(não sei até que ponto será bom visual studio, o que me faz estar a descartar essa hipótese). Peço por isso a vossa ajuda visto que no youtube não tenho encontrado muita informação sobre isso. Qual IDE usar? Como implemento esta parte gráfica? E toda mais informação que acham que me seja útil. Obrigado desde já. Lets code!
  17. Boas tardes, Parabéns pelo vosso trabalho antes de mais. Espero que me possam ajudar numa pequena dúvida no Visual Studio. Tenho um projecto em C++ que não foi feito por mim. A ideia agora seria criar código por fora de forma a rodar esse projecto quantas vezes quisesse, mudando ou não os argumentos conforme me conviesse. A minha questão é quais são os passos para fazer isso no visual studio. Devo criar um novo projecto e chamar a função main do outro projecto? ou há uma forma mais fácil? Obrigado pela atenção e pelas respostas que possam dar.
  18. Boa tarde... Estou com um problema, e assim criei um form e estava a inserir o codigo, ate agora tudo bem mas quando pus na biblioteca o "namespace Stream_Reader" apareceu este erro: "The class Consultas_saldo can be designed, but is not the first class in the file. Visual Studio requires that designers use the first class in the file. Move the class code so that it is the first class in the file and try loading the designer again." Nao consigo mexer no form, alias o form nem aparece. Ja tive a tentar resolver o problema mas nao consigo, o que posso fazer? É MUITO URGENTE!!!!!!! Obrigado
  19. Boa noite Estava aqui a ver uma biblioteca externa muito simples que tem apenas um header, https://github.com/ginsweater/gif-h. No entanto é um pouco complicada no que toca ao código. Gostaria de saber se alguem pode ajudar, ou se alguém ja usou esta biblioteca ou então se sabem alguma eficaz para construir gif em c++. //USAGE: // Create a GifWriter struct. Pass it to GifBegin() to initialize and write the header. // Pass subsequent frames to GifWriteFrame(). // Finally, call GifEnd() to close the file handle and free memory. // Writes out a new frame to a GIF in progress. // The GIFWriter should have been created by GIFBegin. // AFAIK, it is legal to use different bit depths for different frames of an image - // this may be handy to save bits in animations that don't change much. bool GifWriteFrame( GifWriter* writer, const uint8_t* image, uint32_t width, uint32_t height, uint32_t delay, int bitDepth = 8, bool dither = false ) Alguem me sabe dizer o que é o unit8_t? Aguardo Respostas
  20. Boas eu estou com problemas para acabar um trabalho falta me apenar a correçao de um metodo bool SoDesp::registarPresencaEmJogo(string mod, TDataHora dh, string bi){ Modalidade *moda = findModalidade(mod); Membro *mem = findMembro(bi); Jogo *j = moda->findJogo(dh); if (j){ if (mem){ if (moda){ return mem->registarPresenca(j); } else { cout << "Modalidade " << mod << " nao existe!!" << endl; return false; } } else { cout << "Membro " << bi << " nao existe!!" << endl; return false; } } else{ cout << "A " << dh << " nao se realizou qq jogo de " << mod << endl; return false; } } So pode registar presenca num jogo os socio que estiverem registados numa modalidade com o mesmo nome, mas isso nao esta efectimamente acontecer -.- pedia entao ajuda nisso. Deixo aqui o link com o enunciado do trabalho e os meus ficheiros https://mega.co.nz/#F!IoUlyTrA!eGKVVRJTqTLRsb8o_F2u1Q Desde ja obrigado pela atençao se notarem mais alguma coisa no trabalho avisem sff mas acho que esta tudo ok.
  21. Boa noite, Vou iniciar agora um projecto para a faculdade e ando à procura de um IDE decente que suporte o mingw e que o seu debugger seja decente. Isto porque, o netbeans para c++ deixa muito a desejar e o seu debug não é nada comparado ao utilizá-lo com java. Também gostaria de saber se suporta as versões do git, ou tenho de utilizar uma ferramenta para o fazer. Cumprimentos.
  22. Boa noite comunidade Portugal-a-Programar, Gostaria de obter alguma ajuda na compreensão de um projecto de C++. Relativamente ao projecto, tenho que saber explicar: Para que serve a classe graphStl Para que serve a classe graphStlPath Para que serve a classe graphEdge Para que serve a classe graphVertex Saber explicar como foram construidos os seguintes 4 metodos que constituem o trabalho em questão: (foram usadas matrizes e etc...) Construir o grafo Apresentar todos os percursos entre dois possiveis depositos. apresentar o percurso entre dois depositos do mesmo tipo (fresco/normal) Calcular o percurso mais curto entre dois depositos. Se correrem o projecto irão perceber melhor o que este projecto faz Gostaria que alguem que consiga interpretar bem este projecto me saiba ajudar como isto funciona, no fundo é como se tivesse a comentar o codigo, é disso que necessito. Agradeço desde ja a ajuda. Aqui deixo o projecto em questão: https://www.dropbox.com/s/nso1az7m15gqic5/AIS_1130127.rar?dl=0
  23. Desde já boa noite a todos, Estou a implementar um web service, client WWS(c++) e server WCF(c#)(tem que ser mesmo assim ). O problema é o seguinte num dos métodos do web service estou a retornar uma string, ao testar pelo WCF Tools funcionou perfeitamente, por outro lado a testar no cliente deu-me o seguinte erro "0x803d0008 a quota was exceeded". A minha dúvida é esta: é possível alterar o MaxReceivedMessageSize? Como? Ou exista outra maneira para poder fazer isso? Desde já agradeço a compreensão de todos, Cumprimentos, Carlos Miguel
  24. Boa noite, gostava de saber como atualizo o form em c++/cli, de modo a atualizar os dados presentes no form.
  25. Boa noite, eu estou a fazer um projeto em c++ e estou com o mesmo problema há 2 dias. Eu tenho uma classe template chamada Armazem e outra Deposito(que é superclasse de Deposito_Fresco e Deposito_Normal), como podem ver a seguir: template<class T> class Armazem { private: Deposito<T>** depositos; ... template<class T> bool Armazem<T>::inserir(Deposito<T>* d) { if (depositoscriados != (depositos_f + depositos_n)) { if (typeid (*d) == typeid (Deposito_Normal<T>)) { if (dncriados != depositos_n) { depositos[depositoscriados]=d;//->clone(); depositoscriados++; return true; } } if (typeid (*d) == typeid (Deposito_Fresco<T>)) { if (dfcriados != depositos_f) { depositos[depositoscriados]=d;//->clone(); depositoscriados++; return true; } } } return false; } template<class T> void Armazem<T>::MenuArmazem() { ... case 3: { do { cout << "Qual a chave do deposito? Presse '9999' para sair" << endl; cin >> chave; if (chave != 9999) { for (int i = 0; i < depositoscriados; i++) { cout << (*depositos[i]).getChave() << endl; //APARECE UMA CHAVE RIDICULA(ex:1875655168) if ((*depositos[i]).getChave() == chave) { cout << "Quantos produtos pretende adicionar? "; cin >> quantidade; ... } } } } while (chave != 9999); break; } ... } template<class T> bool Armazem<T>::MenuAddDeposito() { int opcao, capacidade; bool flag = false; double area; cout << "-------------Adicionar Deposito-------------" << endl; cout << "Tipo de Deposito:" << endl; cout << "1-Deposito Fresco" << endl; cout << "2-Deposito Normal" << endl; cout << "3-Voltar" << endl; cin >> opcao; switch (opcao) { case 1: { cout << "Insira a capacidade das paletes:"; cin >> capacidade; cout << "Insira a area do deposito:"; cin >> area; Deposito_Fresco<T> df(depositoscriados, paletes_f, capacidade, area); flag = inserir(&df); if (flag == true) { cout << df; // AQUI,POR EXEMPLO, APARECE TUDO DIREITO em relação ao deposito cout << "DEPOSITO INSERIDO!" << endl; } else { cout << "ERRO" << endl; } return flag; } case 2: { cout << "Insira a capacidade das paletes:"; cin >> capacidade; cout << "Insira a area do deposito:"; cin >> area; Deposito_Normal<T> dn(depositoscriados, paletes_f, capacidade, area); flag = inserir(&dn); if (flag == true) { cout << dn; // AQUI,POR EXEMPLO, APARECE TUDO DIREITO em relação ao deposito cout << "DEPOSITO INSERIDO!" << endl; } else { cout << "ERRO" << endl; } return flag; } case 3: return false; } } O meu problema, é que quando insiro um deposito a depositos, quando tento ir buscar por exemplo a chave do depósito retorna números de chave sem nexo até porque no menu AddDeposito, o print desse deposito dá a chave correta... Algúem pode dizer-me onde está o erro ?