elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 22:31  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Me va a dar algo con este programa... no logro ver pq no me hace el gets
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Me va a dar algo con este programa... no logro ver pq no me hace el gets  (Leído 338 veces)
lol_fallen

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Me va a dar algo con este programa... no logro ver pq no me hace el gets
« en: 7 Febrero 2012, 10:10 »

Pues veréis llevo varios días ya que no me aclaro con este programa, no se porque narices no me hace los gets bien.....,le véis algún fallo??????  :huh: :huh: :huh:
Código
include<iostream.h>
using namespace std;
 
int main(void){
char cadena[40]={},equipo[20]={},equipo2[20]=
int espacios=1,espaciosant=0;
char *ptr;
int numcadena,veces,contador=0;
char *equipoptr;
cin>>veces;
 
while(veces != contador){
 
gets(cadena);
equipoptr = equipo;
 
gets(equipo);
while(*equipoptr != 'F'){
 
espacios = 1;
gets(cadena);
equipoptr = equipo;
 
gets(equipo);
ptr = cadena;
 
while(*ptr != '\0') {
ptr = ptr +1;
 
if(*ptr == ' ' ) {
espacios++;
 
}
}
 
 
if (espacios > espaciosant) {
strcpy(equipo2,equipo);
 
 
espaciosant = espacios;
cout<<espaciosant<<endl;
 
}
}
 
cout<<"EL MEJOR: "<<equipo2<<" "<<espacios<<endl;
contador++;
}

Gracias a todos por adelantado.  ;D


En línea
eleon

Desconectado Desconectado

Mensajes: 56


Ver Perfil
Re: Me va a dar algo con este programa... no logro ver pq no me hace el gets
« Respuesta #1 en: 7 Febrero 2012, 11:14 »

Pues hay más de uno...

Código
include<iostream.h>
using namespace std;

1- La función include la analiza el preprocesador, por tanto hay que poner antes un "#". Además la librería no se llama "iostream.h" sino "iostream"; quedaría asi:

Código
#include<iostream>
using namespace std;

2- En esta parte los puntos suspensivos del final te darán un error como una casa porque eso no es ningún tipo de instrucción:

Código
int main(void){
char cadena[40]={},equipo[20]={},equipo2[20]=

3- Para usar "gets" debes añadir la librería "stdio.h".
4- La función "strcpy()" tampoco te va a funcionar si no añades la librería "string.h".
5- Te falta un "}" (cerrar llave) al final del programa.

Y por último gets no se debe usar, está totalmente desaconsejado; ya que programas en c++ puedes usar "cin.getline()".

Saludos.


En línea

naderST


Desconectado Desconectado

Mensajes: 467



Ver Perfil
Re: Me va a dar algo con este programa... no logro ver pq no me hace el gets
« Respuesta #2 en: 7 Febrero 2012, 21:15 »

Un consejo, si no vas a programar orientado a objetos no uses C++ usa C. Como te decía eleon no está recomendado usar gets() ya que puede causar un buffer overflow (desbordamiento del buffer), usa fgets() y lee del stdin.
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como logro este puntero del mouse en una web « 1 2 »
Desarrollo Web
skamilo 18 2,632 Último mensaje 16 Junio 2004, 17:29
por skamilo
mi "programa" hace algo muy raro
Programación C/C++
Colymore 4 717 Último mensaje 1 Agosto 2005, 16:14
por Colymore
pasa algo que no logro enender con el aireplay
Wireless en Linux
gerwin86 5 1,067 Último mensaje 14 Enero 2009, 00:43
por gerwin86
AYUDA : NECESITO SABER QUE HACE Y PORQUE LO HACE (PROGrAMA)
Programación C/C++
tatxeli 7 839 Último mensaje 24 Marzo 2010, 22:44
por Eternal Idol
No se que hace éste programa
Programación C/C++
Thulsa_Doom 3 600 Último mensaje 15 Agosto 2010, 23:42
por Thulsa_Doom
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines