C/Visual C - ayuda con este codigo

 
Vista:

ayuda con este codigo

Publicado por pedro colas gonzalez (5 intervenciones) el 19/08/2005 10:06:22
hola a todos/as

me podeis ayudar con este codigo

using namespace std;
#include <iostream>

int main()
{
// Sacamos por la salida estandar un mensaje
cout << "HolaNena!\n";
return 0;
}

donde esta el error me dice que hay 3 errores
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con este codigo

Publicado por Pun (3 intervenciones) el 19/08/2005 14:56:27
1ero: cout, quizás es count.
2do: Main no entrega un valor de retorno, por lo que return 0 es incorrecto.
3ero: <iostream> me parece que debiera ser <ltiostream>

No conozco mucho el C, pero, ¿que no es con printf eso de la salida estándar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este codigo

Publicado por mquinteiro (4 intervenciones) el 06/09/2005 18:43:12
perplejo, me has dejado perplejo! No has dado ni una! ;)

Otra cosa... suele ser interesante comentar los errores que te da el compilador... Por eso de que a alguien le pueda decir algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este codigo

Publicado por El Mogur (202 intervenciones) el 19/08/2005 16:32:08
Pues ayudaría saber qué tres errores salen...

Aparentemente, no hay fallos de compilación, (si el < es en realidad el < ;) ) aunque sí podría haber problemas de enlazado (o vinculado o linkado... :-p ) si no se está metiendo la librería estandar de C++.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este codigo

Publicado por Isack (31 intervenciones) el 19/08/2005 23:16:09
hola pedro recuerda no hay que no hay que hacer caso de los ignorantes y principiantes solo te digo que tu codigo esta bien solo el pequeñito detalle que le falta es el .h osea que debes de tener esto #include <iostream.h> o tambien #include "iostream.h" eso es todo y suerte para la proxima
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este codigo

Publicado por fernando.gomez (1603 intervenciones) el 20/08/2005 01:51:31
Taquicardia y dolor de cabeza me ha producido escuchar algunas respuestas que te han dado, sobre todo la primera:

> 1ero: cout, quizás es count.
Por supuesto que es cout, tu código está bien aquí.

> 2do: Main no entrega un valor de retorno, por lo que return 0 es incorrecto.
El estándar es claro, main SIEMPRE debe regresar int, por lo que no es cierta la respuesta que te dieron. Algunos compiladores "soportan" el tipo de retorno void, pero son incompatibles con el estándar. Tu código aquí también está bien.

> 3ero: <iostream> me parece que debiera ser <ltiostream>
¡Válgame Dios! En fin, tu código sigue estando aquí, bien. El archivo de cabecera es iostream. El estandar de C++ es muy claro al decir que TODOS los archivos de cabecera NO TIENEN EXTENSION ALGUNA, como el .h de C. Muchos compiladores C++ (si no todos) bien por compatibilidad o bien porque también son compiladores de C para evitarse problemas agregan los dos tipos de archivos.

Tu problema es este, pienso yo:

using namespace std;
#include <iostream>

El problema es que primero haces referencia al espacio global std, y luego haces el include de <iostream>. Sin embargo, std se define (entre otros lugares) dentro de <iostream>. Así, el error que te ha de estar apareciendo es que std no está definido. Evidentemente la solución es primero hacer el include y luego el using:

#include <iostream>
using namespace std;

Por supuesto, esto a reserva de que lo que nos hayas expuesto en realidad sea todo el código que estás compilando.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este codigo

Publicado por Angel Romero (6 intervenciones) el 22/08/2005 19:45:45
El ultimo chaval tiene razon, no me puedo creer que los primeros sepan algo de programacion, es... increible.

Si no se sabe nada de nada, es mejor no intentar ayudar, porque lo que se hace es estorbar. En efecto, ese using namespace es tu error ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este codigo

Publicado por Jesus (2 intervenciones) el 03/09/2005 05:41:21
Ja... es cierto. A mí me causó taquicardia ver la observación del que tambine le dio taqucardia... Es muy ingeniosa... (como las historia del nombre de c++)

Hay un detalle que quisiera comentar en cuanto al programa: Resulta que se menciona cout. Cout, según hemos aprendido, viola, hace añicos, hace pedazos todos los paradigmas (muy pocos) de programación existentes. Yo sigiero no usarlos y hechar mano de todas las herramientas: printf() es la mejor opción.... Es como usar goto en lugar de while o do while... En fin, es un comentairo y una sugerencia. Todo va en paradigmas, muchachos. Nos vemos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este codigo

Publicado por Googol (255 intervenciones) el 06/09/2005 00:12:22
Esto es un off-topic, pero bueno...

¿¿Por qué dices que cout viola todos los paradigmas de programación??
En realidad no está claro lo que es un paradigma :-D Pero si asumimos como paradigma la programación estructurada (no usar gotos), cout está a otro nivel porque en realidad no forma parte del propio lenguaje (es una "librería").

Si pensamos en la programación orientada a objetos como paradigma, pasa más o menos lo mismo... cout es un objeto, y el << es un operador, a si es que tampoco estropea nada del "paradigma". De hecho cout encaja bien en la programación orientada a objetos dentro de las clases "stream". Quizá se pueda decir que cout es una guarrería porque en realidad es una variable global. Efectivamente, lo es... pero resulta que cout representa la salida estandar, que es global a todo el programa, por tanto no tiene sentido hacerlo de otra manera...

Luego están los paradigmas declarativos (funcional y lógico), pero esos son un mundo aparte...

Vamos... no pretendo criticar tu opinión... me ha llamado la atención y me gustaría que me dieras alguna razón para entenderla...

Graaaaciaaasss....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este codigo

Publicado por fernando.gomez (1603 intervenciones) el 07/09/2005 05:33:42
Unas palabras. En C el manejo de archivos no se hace a través de flujos de datos. En efecto, el estándar no dice cómo ha de llevarse a cabo la operación, pero otrora, cuando Unix pululaba en los ordenadores, usualmente se escribía byte por byte al archivo. Esto resultaba costoso si tenías muchos printf's, por lo que la técnica del búfer comenzó a ganar adeptos, sobre todo a raíz de que la memoria RAM se hizo más grande y menos costosa.

En efecto, la idea subyacente al flujo es que hasta que se llena el búfer, se escriben los datos. Esto es, te ahorras tiempo de escritura a cambio de perder un poco de memoria. Es más, si por algún motivo el programa decide que siempre no se debe escribir el búfer, no hay más que limpiarlo. En otro caso, ya te amolaste y tienes que deshacer la cadena.

Considera este código:

cout << "Hola mundo";
if (alguna_razon_misteriosa_para_cambiar_el_buffer) {
cout.clear();
cout << "Cadena cambiada";
}
cout.flush();

Como se puede apreciar, si la evaluación del if da resultado, el flujo se vacía y se cambia. Al final, se llama a flush para que ahora sí escriba en el dispositivo de salida asignado.

Esta técnica realmente es eficiente, tanto, que las últimas versiones de compiladores para Windows, como Visual C++, incorporan esto del flujo para implementar las mismas funciones de C. Es interesante, porque como la librería estándar de C++ demuestra, un flujo --al ser una mera secuencia de bytes-- puede abstraer el concepto de escritura, y direccionarse a donde sea necesario. Cout por default escribe en la pantalla de la consola, pero --por ejemplo-- si se programa una aplicación en Windows con VC, el cout será un cuadro de mensaje (::MessageBox). Esto de los streams está tan extendido y aceptado, que los nuevos lenguajes --como C#-- proporcionan un amplio soporte para estos.

Finalmente, eso de los gotos... bueno, a mí no más no me gusta (opinión muy personal) porque fomenta el "código spagetti". En efecto, la idea de tener un lenguaje estructurado es evitar el código spagetti, a diferencia del viejo fortran, por ejemplo. En fin, cuestión de gustos supongo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar