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

Problema con codigo

Estas en el tema de Problema con codigo en el foro de C/C++ en Foros del Web. Bueno hola a todos,recien estoy aprendiendo a programar en c,estoy leyendo un libro,y me pide hacer algunos ejercicos y demas,pero tengo algunos problemas al compilar ...
  #1 (permalink)  
Antiguo 18/07/2008, 14:46
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Problema con codigo

Bueno hola a todos,recien estoy aprendiendo a programar en c,estoy leyendo un libro,y me pide hacer algunos ejercicos y demas,pero tengo algunos problemas al compilar los codigos (uso el compilador Dev-c++).
Bueno aqui les dejo el codigo (como veran es muy de principiante):

#include <stdio.h>
main()
{
int c, nl;

nl = 0
while((c = getchar())! = EOF)
if(c = = "\n")
++nl;
printf("%d\n",nl);

}

Bueno me fije y las sintanxis es = a la del libro,asi que no creo que sea error de sintaxis,sino del compilador,espero que alguien me pueda ayudar!!1

Salu2 y Gracias!!
  #2 (permalink)  
Antiguo 18/07/2008, 15:33
 
Fecha de Ingreso: julio-2008
Mensajes: 21
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problema con codigo

Si he entendido lo que quieres hacer:

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int c, nl;
nl = 0;
while(!cin.eof()) {
c = cin.get();
if(c == '\n')
++nl;
}
printf("%d\n",nl);

}


Por ejemplo cosas por las que puede que te falle, por no poner el include iostream, por no poner el using namespace std; , por poner los = = separados que acabo de ver que falla, y otra cosa que poner que sea != de EOF es decir que no se active el flag por tanto con poner !cin.eof(); ya va

Pongo el cin por ser el flujo de entrada por defecto y desde dónde se supone que va a leer los caracteres.
  #3 (permalink)  
Antiguo 18/07/2008, 16:30
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Necesito ayuda

Hola necesito ayuda, no puedo hacer andar los archivos binarios en C, alguién me puede ayudar??? paso el dódigo:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct articulo
{
char Nombre[40];
int Nroarticulo;
int Cantidad;
char Rubro[20];
double Importe;
} arti;


FILE*f;
f = fopen("e:archivo1.dat","a");

if (!=f){
puts("ERROR AL ABRIR EL ARCHIVO");
exit(1);
}
//Carga de datos
{
printf("\n Ingrese los datos en el archivo");
printf("Ingrese N para terminar");
int c;
while(c=getch()!='N'){

puts ("Nombre del articulo");
gets (arti.Nombre);
puts ("Numero de articulo");
scanf ("%d",arti.Nroarticulo);
puts ("Cantidad");
scanf ("%d",arti.Cantidad);
puts ("Rubro");
scanf (arti.Rubro);
puts ("Importe");
scanf ("%d",arti.Importe);
printf("Desea cargar otro articulo:S/N");
getch();
return;
}

//Carga del Archivo
fwrite(arti,sizeof(f),1,f);

//Cerrar Archivo
fclose(f);
return 0;
}
//[email protected]
int WtF (FILE *f)
{
//abrirlo para leerlo
f=fopen("archivo1.dat","wb")
if (!f){
puts ("ERROR AL ABRIR EL ARCHIVO");
exit (1);
}
//Impresion del archivo
while not !EOF(f) do{
puts ("Nombre:");
printf ("%s\n",arti.Nombre);
puts ("Rubro");
printf ("%s\n",arti.Rubro);
puts ("Importe");
printf ("%d\n",arti.Importe);
puts ("Numero de articulo");
printf ("%d\n",arti.Nroarticulo);
puts ("Cantidad");
printf ("%d\n",arti.Cantidad);
}
//Cerrar Archivo
fclose(f);

return 0;
}
  #4 (permalink)  
Antiguo 18/07/2008, 18:39
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problema con codigo

El error pro ahora en el lugar que me lo tira es en esta linea:
while((c = getchar())! = EOF)

Y el compilador me dice:
infuction main
syntax error before "while"

Y el codigo que me pasaste vos tampco me funciona y el iostream no esta en la libreria del dev-c++!!!
  #5 (permalink)  
Antiguo 18/07/2008, 20:30
Avatar de Kasper_901  
Fecha de Ingreso: diciembre-2007
Ubicación: Muy pegado al monitor de 19°
Mensajes: 49
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema con codigo

Que raro.... tome este codigo y lo compile en "C++"

Código:
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int c, nl;
nl = 0;
while(!cin.eof()) {
c = cin.get();
if(c == '\n')
++nl;
}
printf("%d\n",nl);

}
Y en la consola.. lo unico que uno hace es escribir.... O.o
  #6 (permalink)  
Antiguo 18/07/2008, 21:58
 
Fecha de Ingreso: julio-2008
Mensajes: 21
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problema con codigo

Se supone que cuando acabas de escribir las lineas envias un eof, que en linux es Ctrl D y te devuelve el número de lineas que has escrito, si es que he entendido bien lo que queria.
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 12:25.