Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Estudante0123

Membros Plenos
  • Total de itens

    34
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. #include <stdio.h> int main (){ // Receber texto char texto , caractere; int i = 0; do { caractere = getchar (); texto = caractere; i++; } while ( caractere != "13") //imprimir texto printf ("%s", texto); retur 0; } O exercicio pede para que o programa suporte diferentes tipos de strings, com tamanhos diferentes. Modifiquei a principio e consegui chegar até ai. Contudo os casos de testes utilizam textos com varias linhas ( os testes são inseridos utilizando ctrl v), então não posso colocar um while ( caractere != '\n') ; como limitador, mas também não sei como prosseguir
  2. Ainda sim não vai. Pensei em fazer da seguinte forma char texto , caractere; int i = 0; do { caractere = getchar (); texto[i] = caractere; i++; } while ( caractere != 13) ; Mas preciso fazer diferentes tipos de teste, com vetores de tamanhos diferentes, então não posso limitar ele. O que quero dizer é que tenho teste de texto [10], assim como text [100], e o programa deveria lidar bem com todos os teste
  3. @Leonardo0308 Fiz a modificação, mas ainda sim não deu certo
  4. Olá, estou fazendo em partes um codigo. A primeira parte deverá receber, pelo teclado, um texto. Pensei em fazer dessa forma mais simples: char texto; printf ("Insira seu texto: "); scanf ("%s", &texto); printf ("%s", texto); Mas só captura a primeira linha do texto, onde posso estar errando? Obrigado.
  5. Olá, quero saber como eu posso justificar uma linha em C, da seguinte forma: para cada linha, eu quero determinar uma justificativa, e se essa linha não tem o numero de caracteres suficiente para essa justificativa, o programa insere espaços entre as palavras. Exemplo: Justificativa=20 Hello World (antes, apenas 11 caracteres) Hello World (depois, contando com os espaçamentos, 20 caracteres)
  6. Estou treinando arquivos. Para ler um arquivo fiz o seguinte código: i = 1; while (!feof(arq)) { // Lê uma linha (inclusive com o '\n') fgets(Linha, 100, arq); // o 'fgets' lê até 99 caracteres ou até o '\n' printf("Linha %d : %s",i,Linha); i++; } Gostaria de saber como faço para contar quantas linhas tem esse arquivo e como dar printf em uma linha especifica, alguém poderia me explicar? Obrigado
  7. Olá, tenho uma atividade para fazer que pede o seguinte: criar um código que abra um arquivo fornecido pelo usuário, e que o usuário defina uma linha inicial e outra final para ser lida nesse arquivo. Ao final, devera ser apresentada essas linhas. Não sei como fazer tal coisa, o mais longe que cheguei foi esse esqueleto. Gostaria de uma ajuda no que estou errando. #include <stdio.h> #include <string.h> int main (){ FILE *arquivo; char nome[100]; int inicial = 0, fim = 0; fgets (nome, sizeof nome, stdin); arquivo = fopen (nome, "r"); printf ("linha inicial: "); scanf ("%i", &inicial); printf ("linha final: "); scanf ("%i", &fim); while (fgets(nome, sizeof nome, arquivo) != EOF ){ if (fgets (nome, sizeof nome, arquivo) == '\n'){ for (int i= inicial; i < fim; i++){ printf ("%s", nome); } } } return 0; }
  8. Estou querendo fazer um código que peça ao usuario um arquivo e uma palavra. A partir disso ele vai verificar e apresentar quantas vezes essa palavra foi apresentada. Mas estou travando na hora de ler o arquivo por palavras. A principio pensei em usar a função fgetc, mas ler caractere por #include <stdio.h> #include <string.h> int main (){ FILE *arquivo; char nome [100], palavra [100], aux; int cont = 0; printf("Digite o nome do arquivo: "); scanf ("%s", nome); arquivo = fopen (nome, "r"); printf ("Digite a palavra a ser pesquisada: "); scanf("%s", palavra); while ( (fgets (nome, sizeof nome, arquivo)) != NULL ) if (strcmp (palavra, nome) == 0) cont ++; printf ("A palavra apareceu %i vezes", palavra); return 0; } e não iria achar a palavra. Usei uma função fgets, mas acho que ela para na quebra de linha, e não estou sabendo o porque. Alguém poderia me ajudar? Obrigado
  9. @giu_d Estava esquecendo de especificar o tipo do arquivo. Funcionou, e corri os outros ponto levantados. Obrigado
  10. @giu_d Adorei sua explicação, mas mesmo assim o erro persiste: ao final cria um arquivo vazio
  11. @devair1010 Tentei fazer um laço de repetição mas ainda sim não funcionou. Estou errando no laço? // inserindo string no arquivo e fechando arquivo while (fgets (txt, sizeof txt, pont_arquivo) != NULL){ fprintf (pont_arquivo, "%s", txt); } fclose(pont_arquivo); adicionado 0 minutos depois @isrnick Entendi, super funcionou desse jeito, Obrigado
  12. OLá, estou tentando concatenar dois arquivos, arquivo1 e arquivo2, fornecidos pelo usuario, em um terceiro, arquivo3, criado automaticamente. Quando compila, chega a criar um novo arquivo3 mas não ha nada escrito nele. Onde posso estar errando? #include <stdio.h> #include <string.h> int main () { FILE *arquivo1; FILE *arquivo2; FILE *arquivo3; char nome1 [300], nome2 [300]; // abrindo arquivos printf ("Digite o nome do arquivo 1: "); scanf ("%s", &nome1); printf ("Digite nome do arquivo 2: "); scanf ("%s", &nome2); arquivo1 = fopen ("nome1", "r"); arquivo2 = fopen ("nome2", "r"); arquivo3 = fopen ("concatenado", "w"); // função para concatenar void concatenar ( FILE *base, FILE *copiado); //concatenado arquivo 1 e 3 concatenar (arquivo3, arquivo1); //concatenando 2 e 3 concatenar (arquivo3, arquivo2); //Fechando arquivos fclose (arquivo1); fclose (arquivo2); fclose (arquivo3); return 0; } void concatenar ( FILE *base, FILE *copiado) { char leitor [1000]; while (fgets (leitor, sizeof leitor, copiado) != NULL) { fputs (leitor, base); } }
  13. Fiz um codigo para criar um arquivo, logo apos abrir espaço para que o usuario escreva nele. Roda tudo certinho, mas quando abro o arquivo, só fica gravado a primeira palavra até o primeiro espaço, depois não há mais nada. Alguem pode me ajudar? Obrigado #include <stdio.h> #include <string.h> int main (){ // criando arquivo FILE *pont_arquivo; pont_arquivo = fopen ("arquivo.txt", "w"); //usuario cria o que vai escrever char txt [500]; printf ("Escreva no arquivo: "); scanf ("%s", &txt); // inserindo string no arquivo e fechando arquivo if (strcmp ("0", txt)) fprintf (pont_arquivo, "%s", txt); else printf ("Não funcionou"); fclose(pont_arquivo); return 0; }
  14. Estou treinando sobre arquivos, e queria um código que abrisse determinado arquivo de nome fornecido pelo usuário. Cheguei ao resultado abaixo, mas não esta funcionando apos pedir o nome do arquivo, ele fecha. Alguém poderia me ajudar, por favor? #include <stdio.h> #include <string.h> int main (){ FILE *arquivo; char nome_arquivo [200]; printf ("Digite o nome do arquivo:"); fgets (nome_arquivo, sizeof nome_arquivo, stdin); nome_arquivo [strlen (nome_arquivo) - 1] = 0; arquivo = fopen ("nome_arquivo","r"); while (fgets(nome_arquivo, sizeof nome_arquivo, arquivo) != NULL) printf ("%s", nome_arquivo); fclose(arquivo); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×