Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Gallu

#101
Programación C/C++ / Re: Ayuda ejercicio C
8 Junio 2011, 20:46 PM
No estás tan perdido de la solución. Un consejo , utiliza GeSHI para postear el código .
Recuerda comentar el código.
En la función de contar carácteres estás contanto también los espacios, es correcto para ti ?
Olvidabas el return después de MostrarAyuda.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define ESPACIO ' '
#define TAB '\t'
#define INTRO '\n'

void MostrarAyuda();
void cuenta_caracteres(FILE *);
void cuenta_lineas(FILE *);
void cuenta_palabras(FILE *);

main(int argc, char *argv[])
{
        if(argc==1)         {
printf("\n\t\t\tAYUDA\n");
MostrarAyuda();
return;
        }
       
        FILE *f;
       
        if((f=fopen(argv[1],"r"))==NULL)
        {
printf("\nNo se puede abrir el fichero\n");
getchar();

        }        
       

// el argumento 0 es el nombre del programa y el 1 es el nombre del fichero, con lo cual no debemos tratarlos
int i = 2 ;
for (i ; i < argc ;i++){
//por cada argumento
if(strcmp(argv[i],"-c")==0)
cuenta_caracteres(f);
       
if(strcmp(argv[i],"-l")==0)
cuenta_lineas(f);
       
if(strcmp(argv[i],"-p")==0)
cuenta_palabras(f);
}
       
        fclose(f);
}

void MostrarAyuda(){

    printf("\n-c: Cuenta el numero de caracteres del fichero\n");
    printf("\n-l: Cuenta el numero de lineas del fichero\n");
    printf("\n-p: Cuenta el numero de palabras del fichero\n");
}

void cuenta_caracteres(FILE *f){
    int c, cont=0;

    while((c=getc(f))!=EOF) {
    if(c!='\n')
    cont++;
    }
   
    printf("\n\nLos caracteres totales son %d\n",cont);
   
}

void cuenta_palabras(FILE *f){
    char car;
    int palabra=0;
    int i;
   
    while(car!=EOF){
    car=fgetc(f);
    i++;

    if(car==ESPACIO || car==INTRO || car==TAB)
    palabra++;
    }
   
    printf("\n\nLas palabras totales son %d\n",palabra);
}

void cuenta_lineas(FILE *f){
   
    char car;
    int linea=0;
   
    while(car!=EOF) {
    car=fgetc(f);

    if(car=='\n')
    linea++;
    }
   
    printf("\n\nLas lineas totales son %d\n",linea);
}


#102
Programación C/C++ / Re: Ayuda ejercicio C
7 Junio 2011, 00:37 AM
Fijate que en cada función a la que llamas estás declarando de nuevo una variable FILE, y luego la intentas usar sin tan siquiera abrir el fichero , que tal si se lo pasas como parámetro ?


void cuenta_caracteres(FILE *f){
     
     char car;
     int i=0;
     
     car = (char) fgetc(f);
     while(car!=EOF) {
     car=(char)fgetc(f);
     i++;
     }
     
     printf("\n\nLos caracteres totales son %d\n",i-1);
}

El número de argumento compruebalo antes de cualquier hacer cualquier cosa.


         if(argc<2){
          MostrarAyuda();
exit (-1);
}


Y luego llamas a la función como cualquier otra , siempre usando el fichero que abriste al principio

   if(strcmp(argv[1],"c")==0)
          cuenta_caracteres(f);


Intenta comentar e identar bien el código .
Nunca uses system("PAUSE")  en su lugar usa getchar();
La versión que he probado cuenta los caracteres , y la llamo de la siguiente manera desde linux

user$ gcc  cuenta.c -o cuenta
user $ ./cuenta c



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

#define ESPACIO ' '
#define TAB '\t'
#define INTRO '\n'

void MostrarAyuda();
void cuenta_caracteres();
void cuenta_lineas();
void cuenta_palabras();

main(int argc, char *argv[]){
         FILE *f;
         
         if((f=fopen("fichero.txt","r"))==NULL)         {
        printf("No se puede abrir el fichero");
        getchar();
        exit (0);
         }

if(argc<2){
          MostrarAyuda();
exit (-1);
}

         
         if(strcmp(argv[1],"c")==0)
          cuenta_caracteres(f);
         
         if(strcmp(argv[1],"l")==0)
          cuenta_lineas(f);
         
         if(strcmp(argv[1],"p")==0)
        cuenta_palabras(f);
         
       
         
         getchar();
}

void MostrarAyuda()
{
     printf("\n-c: Cuenta el numero de caracteres del fichero\n");
     printf("\n-l: Cuenta el numero de lineas del fichero\n");
     printf("\n-p: Cuenta el numero de palabras del fichero\n");
}

void cuenta_caracteres(FILE *f){
     
     char car;
     int i=0;
     
     car = (char) fgetc(f);
     while(car!=EOF) {
     car=(char)fgetc(f);
     i++;
     }
     
     printf("\n\nLos caracteres totales son %d\n",i-1);
}

void cuenta_palabras(FILE *f)
{
     
     char car;
     int palabra=0;
     
     while(car!=EOF)
     {
     if(car==ESPACIO || car==TAB || car==INTRO)
     palabra++;
     }
     
     printf("\n\nEl archivo contiene %d palabras\n",palabra+1);
}

void cuenta_lineas(FILE *f)
{
     
     char car;
     int linea=0;
     
     while(car!=EOF)     {
     printf("%c",car);
     car=fgetc(f);
     if(car=='\n')
     linea++;
     }
     
     printf("\n\nEl archivo contiene %d lineas\n",linea);
}


#103
Alguien sabe lo que significa
<script language="javascript">
 PKCS11_PUB_READABLE_CERT_FLAG  =  0x1<<28; //Stored certs can be read off the token w/o logging in
 1pkcs1.addmodule("Modulo pkcs11 Clauer", "/usr/local/lib/libclauerpkcs11.so", PKCS11_PUB_READABLE_CERT_FLAG, 0);
</script>


y la manera de implementarlo en C , estoy intentando instalar un botón de certificado digital en firefox
#104
Ya he podido solucionar el tema , me faltaba la librería libssl-dev , para los que tengan problemas instalando el id-cat  en linux les dejo el siguiente enlace


http://blog.nucl3ar.net/2008/10/09/idcat-clauer-en-ubuntu-hardy-con-firefox-3/



Gracias por la ayuda gankutsuo.
#105
alguien sabe lo que significa  --with-ssl-libraries directiva , al hacen un ./configure me aparece como error lo siguiente


configure: WARNING: We can't links against the ssl library
configure: error: Perhaps you need to use the --with-ssl-libraries directive



Gracias de antemano .

P.D. tengo instalado OPENSSL en mi ubuntu.
#106
No tengo antivirus , uso linux , tampoco tengo su ip ,  supongo que la pagina esta en algún hosting compartido , como obtengo la ip a partir de la url ?

Saludos
#107
Hola a todos , quisiera que alguien me orientara en como recopilar información acerca de una pagina web , los pasos que he de seguir ,  que he de tener cuidado de no hacer , solamente quiero info , nada más . Me ha llegado un mail malisioso con un enlace a una pagina falsa , y eso me cabrea !!! , si sirve de algo trabajo sobre ubuntu linux.

saludos.
#108
Hola , pues resulta que la red vuelve a dar problemas , al intentar levantar eth0 no me ha dado ningún tipo de mensaje pero sigo sin poder acceder a internet , la salida del comando ifconfig -a es la siguiente
Código (bash) [Seleccionar]

eth0      Link encap:Ethernet  direcciónHW XXXXXXXXXXXXXXX
          ACTIVO DIFUSIÓN MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000
          Bytes RX:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupción:28 Dirección base: 0x2000

lo        Link encap:Bucle local 
          Direc. inet:127.0.0.1  Másc:255.0.0.0
          Dirección inet6: ::1/128 Alcance:Anfitrión
          ACTIVO BUCLE FUNCIONANDO  MTU:16436  Métrica:1
          Paquetes RX:8 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:8 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:0
          Bytes RX:560 (560.0 B)  TX bytes:560 (560.0 B)



#109
Lo instalo haciendo
Código (bash) [Seleccionar]
apt-get install xorg gdm gnome
??????
#110
Hola gankutsuo , gracias por contestar , primero que nada te comento que lo de la conexión a internet fue falsa alarma , al final haciendo sudo lynx www.google.es , me logré conectar a internet , tu solución es que desisntale los drivers de  Nvidia y los vuelva a instalar ? , lo intentaré esta tarde y comento como me ha ido , muchas gracias .

Saludos