Jump to content
Fórum Script Brasil

vangodp

Membros
  • Content Count

    803
  • 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

3548 profile views
  1. int n; int valor = 10; int * ptrValor = &valor; if ( valor == *ptrValor ){ igual }else{ diferente }
  2. vangodp

    Código com Erro

    falta o using namespace std; e salvar o arquivo como .cpp porque esse código é c++
  3. acho que assim ele ta correto: #include<stdio.h> float main(void) { float n; float m; float div; printf("Digite dois números:\n"); scanf("%f e %f", &n, &m); div = n/(m); printf("resultado: %f\n", div); return 0; } a entrada deveria ser "1.0 e 3.5\n" onde \n é quando você pulsa o enter.
  4. #include<stdio.h> int main() { int n = 1000; char v[100]; sprintf (v,"%d", n ); printf("%s", v); return 0; } sprintf é igual o printf, só que o printf imprime na tela e o sprintf imprime em uma string indicada no primeiro parâmetro. E como é de supor o sscanf é a mesma coisa que scanf, só que en vez de ler do teclado lê desde uma string: #include<stdio.h> int main() { int n = 1000; char v[100] = "123456"; sscanf (v,"%d", &n ); printf("%d", n); return 0; } É muito útil para conversões.
  5. O primeiro é deixar claro que existe varias formas de se fazer isso(Limpar o buffer). Neste forum, uma vez, teve um debate muito bom sobre isso: https://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/ Não so tem formas de limpar o buffer si não tem vários tips para um programador iniciante. Vai lá e da uma olhada, se tiver duvidas pergunte aqui, ou lá mesmo. Sorte. A ver si um dia desses me sinto animado e gravo um video sobre o assunto.
  6. Problema de lixo no buffer. Procure um bom tutorial de "Como limpar o buffer em C" no Google.
  7. O scanf faz a leitura de uma string até se esbarrar com alguns dos seguintes caracteres: Tabulador: '\t' Espaço: ' ' Salto de linha '\n' Se o scanf encontrar um desses caracteres anteriormente mostrados, ele vai interromper a automaticamente a leitura, permanecendo assim o restante da string no buffer a espera de outra string (Ou int, ou float, ou etc. Depende do especificador que vier no mesmo ou seguinte scanf). Com o especificador %[^\n]s você esta dizendo que o programa deve ler tudo até se esbarrar com '\n'(Salto de linha), nesse caso ele vai aceitar tudo menos o \n, ou seja ao topar com '\n' ele vai deter a leitura. Cabe destacar que o caractere ^ é como "NEGAR" o que vier a continuação, que neste caso é "negar a ler o enter", e aceitar tudo o que for o resto(incluído saltos e tabuladores). Isso certamente é devido a lixo no buffer mas como você não disponibilizou o exemplo completo não posso lhe dizer com certeza. Se quiser compartilhar o código completo talvez seja melhor lhe prestar uma ajuda de maior capacidade. De todas formas vou lhe dar os casos para saber quando você tem lixo no buffer. Tem outros scanfs anterior a esses? Leu int, chars ou qualquer outra coisa antes desse scanf que deu problema? Limpou o buffer antes de uma nova leitura? usou outras funçoes de leitura como getchar etc? Esses são os pontos que lembrei, se seu programa tem alguma dessas coisas acima você certamente tem problema de lixo no buffer. Isso se soluciona limpando o buffer. Espero que lhe sirva de ajuda.
  8. int dia; int mes; int ano; scanf("%d/%d/%d", &dia, &mes, &ano);
  9. existe uma função chamada strstr("Palavra") que pode buscar uma palavra em uma string. Não sei si é isso que você quer
  10. es normal... o 5.645 é um double e SB um float, se você declarar SB como double vai funcionar. Qual a soluçao? Informar para o compilador de que 5.645 trata-se de um float e não um double. Ao colocar f ao lado de 5.645 ficando "5.645f" você esta dizendo que "essa literal" tem que tomar como float, porque se você não colocar nada por default é double. if ( SB < 5.645f )... da uma olhada aqui: https://www.tutorialspoint.com/cplusplus/cpp_constants_literals.htm
  11. esse erro parece que geani não reconhecer o compilador. Instalou o compilador?
  12. vangodp

    Cin sem dado

    #include <iostream> using namespace std; int main (){ cout << "Ola" << endl; getchar(); cout << "mundo" << endl; return 0; } #include <iostream> #include <cstdlib> using namespace std; int main (){ cout << "Ola" << endl; system("pause>null"); cout << "mundo" << endl; return 0; }
  13. Um dado a ter em conta é que o arquivo precisa existir antes de abrir o programa pois o parametro 'a' do fopen quer dizer "modo inserção", ele não cria um arquivo, simplesmente atualiza um já existente.
  14. você ta usando a função errada e o modo de abertura errada. Acredito que o que você quer é um arquivo de texto plano. #include <stdio.h> #include <stdlib.h> FILE*arquivo; char nome[1024]; void pedirnome() { printf("Digite seu nome:\n"); gets(nome); } int main(){ arquivo = fopen("arquivo.txt", "a"); //Comprovando se o arquivo abriu. Caso contrario, é dizer, não abrir, saimos. if( arquivo == NULL ){ perror("Erro"); getchar();//pausa exit(1); } pedirnome(); //fwrite(nome, 1, strlen(nome), arquivo); fprintf(arquivo,"%s\n", nome); //Guardar. Observação: O ARQUIVO DEVE EXISTIR pois o atributo 'a' de append somente acrecenta dados em um arquivo já existente. fclose(arquivo); printf("\nSalvo com sucesso."); return 0; } Essa seria a forma correta.
×
×
  • Create New...