• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Ruben_Barbosa

Contador de Visitas

10 mensagens neste tópico


#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>

int main()
{

char txt,arquivo,visitas;

// Obtendo número de visitas
    txt="contador.txt";
    arquivo = fopen(txt,"r");
    visitas = fgets(arquivo,1024,stdin);
    fclose(arquivo);

    //Actualizando número de visitas
    arquivo  = fopen(txt,"r+");
    visitas = visitas + 1;
    printf(arquivo,visitas);
    fclose(arquivo);

    //Imprime número de visitas
   printf("Você é o nosso visitante número ",visitas);*/
}

Este é o meu codigo :thumbsup:,

o que eu queria era por exemplo pegar num ficheiro de excel e quem o abrir na rede verificar o numero de visitas mas não dá isto :S

Para ja estou a tentar com um txt :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a declarar as variáveis com os tipos errados, devem ser char* em vez de char. Além disto, para actualizar o contador precisar de converter a string lida para um int.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tens uma série de erros no código.

1 - como disse o Ferreira, os tipos estão mal, tu queres arrays de caracteres e não caracteres, para declarar um array de caracteres fazes:

char txt[MAX];

2 - não podes fazer  txt="contador.txt"; usa a função strcpy da biblioteca string.h

3 - o fopen devolve um valor do tipo FILE * e não um char que é o tipo da variável arquivo, portanto esta deve ser declarada com o tipo FILE *

4 - também não podes fazer visitas++, isso só funciona para inteiros. sugiro que declares a variável visitas como um int e uses o fscanf para ler o valor do ficheiro e aí já podes fazer "++".

5 - para escrever no ficheiro é fprintf e não printf, o printf escreve sempre no stdout.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

#define MAX 20000

char contador();

int main()
{
contador();
}


char contador()
{
    char txt[MAX];
    FILE*arquivo;
    int visitas;

    /** Obtendo número de visitas */

    arquivo = fopen(txt,"r");
    visitas = fgets(arquivo,1024,stdin);
    fclose(arquivo);

    /** Actualizando número de visitas */
    arquivo  = fopen(txt,"r+");
    visitas++;
    printf(arquivo,visitas);
    fclose(arquivo);

    /** Imprime número de visitas */
    fprintf("Você é o nosso visitante número ",visitas);
}

Pessoal onde esta o meu erro :S omfg :S

agradeco desde ja toda ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

iniciar como ;),

que branca man :S,

tipo strcopy(txt);

ou txt="c:\contador.txt";

esta cabeca hoje n ta mt famosa :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

substitui a fprintf por:

fprintf (arquivo,"Você é o nosso visitante número %d\n",visitas);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

cria o ficheiro contador.txt vazio na pasta do projecto.

e experimenta este código:

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

#define MAX 20000

char contador();

int main()
{
contador();
system("PAUSE");
}


char contador()
{
    FILE* arquivo;
    int visitas = 0;

    /** Obtendo número de visitas */

    arquivo = fopen("contador.txt","r");
    visitas = fscanf(arquivo,"%d",&visitas);
    fclose(arquivo);

    /** Actualizando número de visitas */
    arquivo  = fopen("contador.txt","w+");
    visitas++;
    fprintf(arquivo,"%d\n",visitas);
    fclose(arquivo);

    /** Imprime número de visitas */
    printf("Voce e o nosso visitante numero %d\n",visitas);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é o Seguinte o meu programa já compila e já funca com esse codigo e desde já obrigado :D.

Mas o que eu quero é o seguinte na rede da empresa certo , pegar neste codigo ele abrir-me o documento em expecifico e dizer-me o numero de visitas efectuadas com as horas dd/mm/ano.

Claro comecei este ano a dar uns toques em C :D

meu codigo.

#include <stdio.h>
#include <stdlib.h>
#include<string.h>



char contador();

int main()
{
contador();
system("PAUSE");
}


char contador()
{
    FILE* arquivo;
    int visitas = 0;

    /** Obtendo número de visitas */

    arquivo = fopen("contador.txt","r");
    visitas = fscanf(arquivo,"%d",&visitas);
    fclose(arquivo);

    /** Actualizando número de visitas */
    arquivo  = fopen("contador.txt","r+");
    visitas++;
    fprintf(arquivo,"%d\n",visitas);
    fclose(arquivo);

    /** Imprime número de visitas */
    printf("Voce e o nosso visitante numero %d\n",visitas);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora