Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Necesito un programador de C

Estas en el tema de Necesito un programador de C en el foro de C/C++ en Foros del Web. Estoy cursando una asignatura que tiene gran carga de C, y necesito un programador con experiencia, que me heche una mano... entiendo que son ejercicios ...
  #1 (permalink)  
Antiguo 01/10/2012, 09:43
 
Fecha de Ingreso: octubre-2012
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Busqueda Necesito un programador de C

Estoy cursando una asignatura que tiene gran carga de C, y necesito un programador con experiencia, que me heche una mano... entiendo que son ejercicios muy básicos, pero necesito ayuda, programar no es lo mio.

Acordamos el precio
  #2 (permalink)  
Antiguo 01/10/2012, 10:29
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 10 meses
Puntos: 46
Respuesta: Necesito un programador de C

Postea las dudas que tengas en este foro y la gente te ayudara.

El lenguaje C al principio parece algo muy complicado pero te dire que es uno de los mas simples.


Saludos.
  #3 (permalink)  
Antiguo 02/10/2012, 00:31
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: Necesito un programador de C

La mejor manera de aprender programación: Buenos libros, buenos tutoriales y sentarse delante de un teclado. Al final resulta que es mucho más fácil de lo que parece.

Saludos,
  #4 (permalink)  
Antiguo 02/10/2012, 07:54
 
Fecha de Ingreso: octubre-2012
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Necesito un programador de C

Cita:
Iniciado por L3m0n Ver Mensaje
Postea las dudas que tengas en este foro y la gente te ayudara.

El lenguaje C al principio parece algo muy complicado pero te dire que es uno de los mas simples.


Saludos.
vosotros lo habeis querido...:)

ahi va uno.... me piden que emule la función WC de Linux en un programa de C... lo tengo, pero ahora me dicen que no puedo usar la llamada printf sino que utilice sprintf y write.... me pierdo... alguien?

#include <stdio.h>

#define IN 1
#define OUT 0


main ()
{
int c, nl, nw, nc, state;

state = OUT;
nl = nw = nc = 0;
while ((c = getchar ()) != EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf ("%d %d %d\n", nl, nw, nc);
}
  #5 (permalink)  
Antiguo 02/10/2012, 12:39
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 12 años, 3 meses
Puntos: 7
Respuesta: Necesito un programador de C

Vale, eso si que me mareo.

Soy bastante novato, asi que es logico.

Pero por las dudas, eso no es un programa que detecta espacios, saltos de lineas y tabulacion y pone la cantidad de los mismos

(Por lo tanto podriamos decir que contesta cuantas palabras hay.)

pero no se que es Sprintf o write.

Estoy leyendo algo sobre Write aqui, fijate si te sirve:

http://codewiki.wikidot.com/c:system-calls:write

al parecer es bastante parecido a un fprintf, pero de una biblioteca medio rarita.

Cita:
#include <unistd.h>
#include <fcntl.h>

int main(void)
{
int filedesc = open("testfile.txt", O_WRONLY | O_APPEND);

if (filedesc < 0) {
return -1;
}

if (write(filedesc, "This will be output to testfile.txt\n", 36) != 36) {
write(2, "There was an error writing to testfile.txt\n", 43);
return -1;
}

return 0;
}

o aca hay otro

#include <unistd.h>

int main(void)
{
if (write(1, "This will be output to standard out\n", 36) != 36) {
write(2, "There was an error writing to standard out\n", 44);
return -1;
}

return 0;
}
Lo que hace write es imprimir caracteres en un lugar. Puede ser en un documento o en un buffer.

El primer numero dice si estas imprimiendo en stdin 0, en stdout 1, o en stderr 3.

Lo siguiente es la cadena de caracteres. Y finalmente en numero de bytes de la cadena (entiendase caracteres alfanumericos y espacios, saltos de linea, etc, etc.)

Me siento contento de ayudar en vez de ser ayudado, jaja, una de las primeras veces.

Saludos y suerte!
  #6 (permalink)  
Antiguo 02/10/2012, 17:47
 
Fecha de Ingreso: agosto-2012
Ubicación: Sevilla
Mensajes: 4
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Necesito un programador de C

write escribe en un fichero previamente abierto por open.
open, write, read y close son llamadas al sistemas así que podríamos decir que es la forma más básica (bajo nivel) de realizar dichas operaciones.

open te devuelve un número que es el identificador de fichero y que hay que guardar para después realizar las operaciones correspondientes sobre él (write, read y close).

Por defecto en linux, hay ya 3 descriptores de ficheros predefinidos:
- 0 : entrada estándar
- 1 : salida estándar
- 2 : salida error

A lo que probablemente se refiere con sprinft es a lo siguiente:

char output[256]; Cadena
....
sprinft(output, "número de lineas : %d\n número de caractéres : %d\n número de palabras : %d\n",nl,nc,nw);
write(1,output,strlen(output));

//sprintf es lo mismo que printf pero te copia los datos a una cadena
//write(1,...) escribe en la salida estándar output

Espero que te ayude.
  #7 (permalink)  
Antiguo 03/10/2012, 04:43
 
Fecha de Ingreso: octubre-2012
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Necesito un programador de C

Cita:
Iniciado por intercambio2012 Ver Mensaje
write escribe en un fichero previamente abierto por open.
open, write, read y close son llamadas al sistemas así que podríamos decir que es la forma más básica (bajo nivel) de realizar dichas operaciones.

open te devuelve un número que es el identificador de fichero y que hay que guardar para después realizar las operaciones correspondientes sobre él (write, read y close).

Por defecto en linux, hay ya 3 descriptores de ficheros predefinidos:
- 0 : entrada estándar
- 1 : salida estándar
- 2 : salida error

A lo que probablemente se refiere con sprinft es a lo siguiente:

char output[256]; Cadena
....
sprinft(output, "número de lineas : %d\n número de caractéres : %d\n número de palabras : %d\n",nl,nc,nw);
write(1,output,strlen(output));

//sprintf es lo mismo que printf pero te copia los datos a una cadena
//write(1,...) escribe en la salida estándar output

Espero que te ayude.
Muchas gracias... lo tengo!!!!

abusando un poco... ahora me piden un programa que, de un fichero txt, enumere las lineas y las muestre por pantall junto con su texto... es decir, si el fichero tiene 5 lineas, que muestre 1- y su texto 2- u su texto e- y su texto....
  #8 (permalink)  
Antiguo 04/10/2012, 05:03
 
Fecha de Ingreso: agosto-2012
Ubicación: Sevilla
Mensajes: 4
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Necesito un programador de C

....

numLinea=1;
while ((c = getchar ()) != EOF) {
sprinft(buffer,"%s%c",buffer,c);
if (c == '\n'){
printf("%d - %s\n",numLinea,buffer);
numLinea++;
memset(buffer,0,strlen(buffer));
}

}

//Si estamos aquí llegamos a EOF, hay que comprobar si hay alguna línea

if(strlen(buffer)>0){
printf("%d - %s\n",numLinea,buffer);
}

...

No lo he probado, puede que tenga algún error pero la idea está clara :)

Última edición por intercambio2012; 04/10/2012 a las 05:12
  #9 (permalink)  
Antiguo 04/10/2012, 07:35
 
Fecha de Ingreso: octubre-2012
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Necesito un programador de C

Cita:
Iniciado por intercambio2012 Ver Mensaje
....

numLinea=1;
while ((c = getchar ()) != EOF) {
sprinft(buffer,"%s%c",buffer,c);
if (c == '\n'){
printf("%d - %s\n",numLinea,buffer);
numLinea++;
memset(buffer,0,strlen(buffer));
}

}

//Si estamos aquí llegamos a EOF, hay que comprobar si hay alguna línea

if(strlen(buffer)>0){
printf("%d - %s\n",numLinea,buffer);
}

...

No lo he probado, puede que tenga algún error pero la idea está clara :)
Muchas gracias, voy a darle una vuelta....
  #10 (permalink)  
Antiguo 05/10/2012, 00:28
 
Fecha de Ingreso: octubre-2012
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Necesito un programador de C

Cita:
Iniciado por intercambio2012 Ver Mensaje
....

numLinea=1;
while ((c = getchar ()) != EOF) {
sprinft(buffer,"%s%c",buffer,c);
if (c == '\n'){
printf("%d - %s\n",numLinea,buffer);
numLinea++;
memset(buffer,0,strlen(buffer));
}

}

//Si estamos aquí llegamos a EOF, hay que comprobar si hay alguna línea

if(strlen(buffer)>0){
printf("%d - %s\n",numLinea,buffer);
}

...

No lo he probado, puede que tenga algún error pero la idea está clara :)
Hay algo que noo funciona... compilo pero no acaba de mostrarlo... me estoy volviendo loco!!!
  #11 (permalink)  
Antiguo 07/10/2012, 12:40
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años, 6 meses
Puntos: 28
Respuesta: Necesito un programador de C

Pedro, le he enviado 1 Mensaje Privado, con soluciones en C.
s2
cronos
  #12 (permalink)  
Antiguo 08/10/2012, 03:30
 
Fecha de Ingreso: octubre-2012
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Necesito un programador de C

Cita:
Iniciado por pedrovilla47 Ver Mensaje
Hay algo que noo funciona... compilo pero no acaba de mostrarlo... me estoy volviendo loco!!!
SOCORRO!!!!!!

alguien me puede iluminar???
  #13 (permalink)  
Antiguo 08/10/2012, 12:01
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años, 6 meses
Puntos: 28
Respuesta: Necesito un programador de C

Pedro, llamame por gTalk, puedo AYUDARTE con tu programacion en C.
[email protected]

saludos
cronos
  #14 (permalink)  
Antiguo 08/10/2012, 12:06
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años, 6 meses
Puntos: 28
Respuesta: Necesito un programador de C

Pedro, llamame por gTalk, puedo AYUDARTE con tu programacion en C.
[email protected]

saludos
cronos

Etiquetas: empleo, busquedas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:28.