vangodp

Membros
  • Content Count

    781
  • Joined

  • Last visited

Community Reputation

0 Neutro

About vangodp

Perfil

  • Gender
    Male
  • Location
    Spain
  • Interests
    ]—[””I””IC++I||I||]>——-

Contatos

  • Skype
    vangodp vamp

Recent Profile Visitors

3056 profile views
  1. Sempre tenha claro em qual linguagem você está. Dependendo da linguagem você vai ter que traduzir de 1 até 10 em 0 até 9. Porque em algumas linguagens começa a contar de zero. Parece uma coisa banal mas não é... os índices em C/C++ lembre que você está trabalhando diretamente com a memória ram, qualquer erro é fatal.😉
  2. o pior de todos os erros é esse i <= 10. Se você tem 10 posições você conta desde 0 até 10-1, ou seja 9. O correto é i < 10, você ta estourando os índices tentando ler e escrever além do que você reservou.
  3. Isso é errado, usar fflush junto com stdin. fflush foi concebido para ser usado com stdout, o fato de que funcione é pura sorte. Existe uma infinidade de formas sobre como limpar o buffer do teclado na internet. acho que você deveria dar uma olhada aqui: https://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/ É uma leitura indispensável já que lhe fará compreender melhor sobre o buffer do teclado, que é um problema que você vai se enfrentar a diário, por isso é indispensável. Recomendo ler com atenção e ir pondo em prática tudo o que for vendo neste post.
  4. si você declarou p como um vetor p[1000] na linha gets ( p.nome ) ; o p.nome ta errado. O p.nome é um vetor e não uma variável normal, o correto seria p[x].nome, sendo o x o índice desejado. Ademais use o botão <> para postar códigos-fonte
  5. si entrar no if simplesmente termina aí a função, com um return 1, não há nada mais a analisar. Caso sejam diferentes entra no else e se invoca a si mesma(recursividade).
  6. n da para ver as imagens. suba a um servidor de fotos e ponha o link aqui. e use o botao <> para o código
  7. Use o botão <> para postar códigos
  8. quando n tiver chaves somente terá como efeito a seguinte instrução, neste caso o return 1;, por isso esta identado com 4 espaços. Para deixar claro o returne tem 2 funçoes, 1º deter a função e 2º retornar um valor. Uma função pode ter tantos return como desejar porem ao atingir o primeiro automaticamente sai da função nesse ponto. Uma função do tipo void tambem pode ter algum return porem sem valor. A seguinte função é perfeitamente valida: void foo(){ return; } note que não retorna valor algum, serve somente para deter a função neste ponto. Util quando desejar deter o programa em algum ponto depois de, por exemplo, fazer uma comprovação. Sobre if, si somente tiver uma instrução não precisa por chaves, o programa toma a seguinte linha de código como parte deste if, porem se tiver mais de uma linha, neste caso é obrigado a usar chaves, porque si não, como falei, o programa vai achar que somente uma linha pertence ao if, as demais ficam como fora. As chaves servem para informar ao programa que um bloco de instruçoes pertencem a um if anterior, ou a uma função, ou um for por exemplo.
  9. Si pensar bem uma sala de cinema, olhando desde acima, parece uma matriz. Como bem podemos ver na foto, neste caso seria uma matriz de 13 por 8. É uma matriz de que?. Lógico que é uma matriz de poltronas. Então trata-se de structs pois cada poltrona tem um conjunto de dados, como idade, numero da poltrona etc. Crie uma matriz do tamanho que quiser e crie um menu com opções como vender entrada, listar a matriz, sair, etc. quando for vender a entrada primeiro pergunte a idade, se for menor de 16 indique n não é possível vender a tal entrada, caso contrario for maior de 16 então pergunte a poltrona. Lembre-se de averiguar se a poltrona esta ocupada, se for assim informe de que esta ocupada e volte a pedir outra poltrona. O programa pode ser complexo como você quiser, você até pode dar o valor em reais do total das poltronas que foram vendidas.
  10. #include <stdio.h> #include <stdlib.h> #define TAM 10 //Tamanho do vetor de structs #define ITE 3 //representa o numero de iterecoes que vai realizar cad laço for. Serve para limitar o numero de provas a realizar e assim n ter de preencher tantas vezes em cada caso de teste. struct dados { int numero; char nome[50]; }; void manipula_um_par ( int *a ) { if ( *a%2 == 0 ) *a = *a / 2; } void manipula_pares ( struct dados x[10] ) { int z; for ( z = 0; z < 10; z++ ) { if ( x[z].numero % 2 == 0 ) { manipula_um_par ( &x[z].numero ); } } //return &x[10].numero; } int main() { struct dados v[TAM]; int x; for ( x = 0; x < ITE; x++ ) { printf ( "\nDigite o nome do %d aluno: ", x + 1 ); fflush ( stdin ); fgets ( v[x].nome, 20, stdin ); printf ( "\nDigite o %d numero: ", x + 1 ); scanf ( "%d", &v[x].numero ); } manipula_pares ( v ); for ( x = 0; x < ITE; x++ ) { printf ( "--- %d ", v[x].numero ); } return 0; }
  11. Boa noite. De forma padrão, tanto c como c++ não aceitam criar janelas, botões etc, porem a linguagem foi criada com a idéia de que poderia ser ampliada suas funcionalidades através de bibliotecas que são os tais arquivos de cabeçalho que incluímos ao principio, claro que as vezes não tão simples assim. O que você deve fazer é buscar uma biblioteca que lhe permita fazer isso, incluir novas funcionalidades que lhe permita criar interfaces de usuário, para c++ existe algumas como wxwidigets, qt, etc. Busque tutoriais, pdfs, etc sobre wxwidigets ou qt, ou sobre qualquer uma das bibliotecas que você escolher. Para saber quais bibliotecas existem sobre c++ escreva no google isso-> "interfaces gráficas c++". Da uma olhada nas diversas paginas que aparecer na busca e tente se decidir por uma. você pode buscar também "Melhor biblioteca gráfica para c++". Acredito que uma boa leitura antes de sair buscando tutoriais seria esta: https://br.ccm.net/faq/10999-bibliotecas-para-interfaces-graficas-gui
  12. recomendo ver esses videos: https://www.youtube.com/watch?v=W-X2_v4Oyx8 https://www.youtube.com/watch?v=ixk5RIqABjI https://www.youtube.com/watch?v=wUrk9AK6ItY
  13. scanf tem a "má" costume de ler até encontrar um espaço um tabulador ou encontrar o caractere '\n'. Prove usar o scanf desta forma: scanf("%[^\n]%*c", N); Com isso você será capaz de ler nomes com espaços. Procure aprender como limpar lixo do buffer, certamente você tem problemas com isso tambem, para isso vai no google e escreve algo parecido a "como limpar o buffer na linguagem C".