Ir para conteúdo
Fórum Script Brasil

vangodp

Membros
  • Total de itens

    883
  • Registro em

  • Última visita

Tudo que vangodp postou

  1. não se entende o que você quer fazer
  2. onde foi que você deu um valor inicial para soma...? Soma pode valer qualquer coisa. Quando você declara uma variavel ela pode tomar qualquer valor, para isso se costuma dar um valor inicial tipo int soma1=0;
  3. você pode por uma espécie de cronometro em C que conte o tempo até que a pessoa aperte algum botão. Se chegar um determinado tempo e n houver interação você faz o tal shutdown
  4. #include <fstream> #include <iostream> using namespace std; int main(void) { //Cria o objeto de arquivo ofstream arquivodesaida; //Abre o aruivo ou cria caso não exista arquivodesaida.open("Texto.txt", std::ios_base::app); //Escreve algo arquivodesaida << "Ola mundo"; //Fecha o arquivo arquivodesaida.close(); system("start Texto.txt"); return 0; } Seu programa funciona perfeitamente no windows 10
  5. é só o paddle do computador seguir a coordenada Y da bola.
  6. sim eu posso. sim eu tenho. Seria melhor você postar o que já tem feito. Isso se chama "Comma-separated values", ou o que vem a ser o mesmo arquivo CSV. https://pt.wikipedia.org/wiki/Comma-separated_values Exato. você não pode "deletar" uma linha, ela sempre vai permanecer lá. Inserindo uma D você esta marcando essa linha como "deletada" é dizer que em caso de IDnoSistema for igual a "D" você não deveria mostrar essa estrutura. Para retirar realmente essa linha você deveria passar a limpo todo o arquivo omitindo as linhas marcadas como "D". Infelizmente temos que ler linha a linha e guardar esses dados em uma struct por exemplo para logo ir comparando com o que estamos buscando e posteriormente edita-la. O problema é que uma vez que fazemos a leitura "passamos do ponto" onde deveríamos começar a escrever. Para esse problema de passar do ponto podemos usar ftell que nos indica a posição atual na qual nos encontramos no arquivo. Se chamamos ftell antes de ler uma linha podemos guardar essa posição em uma variável e posteriormente chamar fsetpos ou fseek para voltar a esse ponto e escrever neste espaço. Conselho tome cuidado para n sobrescrever dados. Se você inserir uma string maior do que a contida anteriormente você pode terminar sobrescrevendo alguns dados. Tente fazer o exercício e se tiver problema pergunte aqui novamente. sorte
  7. sei não kkk.... levei 10 anos para aprender, ainda aprendo a diário. Lógico que si quer fazer algo simples não levaria tanto, mas seria uma boa experiência. Se quiser posso lhe ensinar o básico, acredito que em uma semana você seja capaz de fazer algo. você topa? se lhe interessa entre aqui no discord->https://discord.gg/mm3kma2Qes Como experiência seria interessante para você.
  8. quando você faz char nome[] = "nulo" ; é como se nome recebesse char nome[5], ou seja, 4 letras que contem "nulo" mais o caractere nulo('\0') que marca o fim da string, ou seja você tem um espaço de 5 caracteres podendo usar só 4 já que como falei 1 é o nulo. Em C/C++ você sempre deve indicar um tamanho suficiente para conter sua string. Embora isso que você usou funcione, você nunca vai saber o tamanho da string que a pessoa vai usar, sendo assim melhor é reservar um X numero de caracteres para que sobrem e não faltem. É melhor char nome[100] = "nulo"; que char nome[] = "nulo";. na hora de ler strings não ponha & no scanf. Isso causa a quebra do seu programa. Então tome por regra: NÃO PONHA & NO SCANF PARA LER STRINGS NEM PONTEIROS, PARA O RESTO SIM..(int, float, double, etc). Duvido que você precise ler direções de memória de ponteiros com scanf assim que SOMENTE PARA STRINGS NÃO SE DEVE POR & ADIANTE. Quando se costuma ler uma sucessão de strings C e C++ costumam dar "certos erros" de leitura, realmente não são erros. você PRECISA BUSCAR ALGUMA FORMA DE ABORDAR ESSE PROBLEMA. Busque no google como limpar o lixo do buffer de entrada em C ou C++. Existem varias formas de se abordar o problema. Se quiser posso lhe explicar como mas não tenho pensamento de montar um tutorial, você deveria entrar em discord. te vou mandar um msg privado com a direção do meu server de discord.
  9. certamente você quer saber quantas pessoas menor que 18 e quantas maior que 18 tem na lista, porem os de 18 são incluídos como maiores então a condição seguinte ta errada. if( Pessoas[i].idade > maior ) O certo seria: if( Pessoas[i].idade >= maior )
  10. #include <stdio.h> int main() { //Gerar um vetor com 10 números int vetor[10]={}; //...cada número guardado no vetor será o valor da sua própria posição no // vetor (seu índice) menos 2 (ou seja, Xi = i-2). for( int i=0; i < 10 ; ++i ){ vetor[i]= i-2; printf("%d, ", vetor[i]); } return 0; } Procure resolver você mesmo, esses exercícios são para lhe fazer melhor programador.
  11. ? E esse Printf com P maiúscula?
  12. vangodp

    Preciso de dicas

    https://discord.gg/j4Mnffk entra ai e te dou algumas
  13. vangodp

    teste

    Qual sua duvida?
  14. pode que na hora de imprimir o programador queira que saia na tela Digite um valor 1 Digite um valor 2 Digite um valor 3 Digite um valor 4 Digite um valor 5 Em vez de Digite um valor 0 Digite um valor 1 Digite um valor 2 Digite um valor 3 Digite um valor 4 de todas as formas isso (i+1) não altera o valor do i, so é realizado uma expressão entre i + 1 e o resultado disso é mostrado na tela. o i permanece igual.
  15. Não! Da onde foi que você tirou isso? Em C não há mamãe. Se você declarar 4 e enfiar 100 o problema é seu. O que pode acontecer é que seu programa funcione ou não. Imaginou você aí todo contente... de ter feito o novo WhatsApp, e quando todo mundo descarregar ploff!? XDDD C e C++ a diferença de outras tantas linguagens é que se supõe que o programador tem tudo baixo controle. Onde outras linguagens abstraem coisas C é muito concreto. Em Java por exemplo você sai do índice e o programa já vai soltando mensagens. Parece ser que C/C++ esta feito por uma banda de macacos e que tem coisas que acontecem por como por arte de magia ou é questão de azar ou sorte. Pois bem.... deixe-me lhe dizer que nada é fruto do azar em c, e tudo tem um por que. Deixe me lhe ilustrar um caso e você vai começar a entender. Imagine um caso no qual você tenha uma matriz deste modo: 123 456 789 Claramente você vai precisar de um for double para mostrar isso: #include<stdio.h> int main(){ int i; int x; int m[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; for (i=0; i<3 ;i++ ){ for (x=0; x<3 ; x++ ){ printf("%d ", m[i][x]); } } return 0; } Pois bem... saiba que se conhecer algo de memória e como vai parar cada variável em esta, você pode se aproveitar e fazer o mesmo trabalho com um só for. #include<stdio.h> int main(){ int i; int m[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; for (i=0; i<3*3 ;i++ ){ printf("%d ", m[0][i]); } return 0; } A saída deste programa é exatamente a mesma do outro, eu só me aproveitei para realizar o mesmo trabalho com maior facilidade devido a minha maior experiência. Muito provavelmente nem seu professor conheça esse "macete", ou pode que sim, e pode que conheça alguns outros que eu nem tenha ouvido falar, como falei é coisa de experiência. Quanto mais você dominar a linguagem menos estranho você vai achar essas coisas. Um caso poderia ser que você escrevesse em uma variável e que mesmo saindo de rango fosse possivel escrever em outra variável que estivesse a continuação, não imagino um caso mas é perfeitamente legal em C, já em outras linguagens..... Procure sempre ter suficiente memória para sua entrada. Lembre que estamos falando de bytes. É ridículo tentar economizar bytes si qualquer computador de hoje tem minimo 4 gigas de RAM, sem isso certamente você nem arranca o wondows. Seu char nome[4] poderia ser perfeitamente char nome[1024] e seus programas ou sistema operativo nem iam sentir a menor dor XDDD E n precisa declarar 1024 em todas as variáveis. você pode ter uma variável como char buffer[1024], e logo você pode checar o tamanho logo após leitura e atribuir o que foi lido a outra como char nome[100], caso tiver mais de 100 chars em buffer não faça a copia de buffer para nome. Tendeu?
  16. iterar 10 vezes é de 0 a 9 então i<=10 ta errado. Ocorreto é i<10
  17. sim! Para isso é só provar. Tire o tal include e veja como seus printf e scanf entre outros deixa de funcionar. Vai sair avisos de que tais funções nunca foram declaradas e definidas, ou seja não existem, e não é possivel usar algo que não existe em C/C++, deve existir tudo o que for usar previamente(variáveis, funções, etc).
×
×
  • Criar Novo...