Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





iostream en vc7, ayudarl!!

Iniciado por x-alien, 27 de Diciembre de 2002, 05:27:50 AM

« anterior - próximo »

x-alien

                                hola me ha surgido un error, no se k es, si un error en la instalacion del vc net, o algo k tengo k configurar...
el problema es este... programando en consola para hacerme un programita k me calcule unos problemillas de la uni.. resulta k ya no puedo usar std::cout, std::cin etc etc...

antes me iba en el vc6 el iostream.. snif

este es el error k me dice...
c:Archivos de programaMicrosoft Visual Studio .NETVc7includeuseoldio.h(29): warning C4995: '_OLD_IOSTREAMS_ARE_DEPRECATED': se marcó el nombre como #pragma deprecated

iostream.h esta instalado en la carpeta de includes del vc7.


alguien podria ayudarme? thx                                
oy Grafista, no Programador, aun así programo mejor que un 'programador'

HgH

                               
Citar
este es el error k me dice...
c:Archivos de programaMicrosoft Visual Studio .NETVc7includeuseoldio.h(29): warning C4995: '_OLD_IOSTREAMS_ARE_DEPRECATED': se marcó el nombre como #pragma deprecated
iostream.h esta instalado en la carpeta de includes del vc7.

No tengo el VC7, pero en la documentación on-line dice que las funciones marcadas como "deprecated", no se soportarán en futuras versiones. De todas maneras, para utilizar las nuevas funciones iostream, hay que incluir en vez de . Mirate la documentación de todas maneras, a ver en que se diferencian las dos implementaciones.
PD: Si lo solucionas, cuéntanos como te ha ido, ¿ok?.

Un saludo                                
gH _ TLOTB
..................
"No queremos estar obligados, por nada ni nadie, a pensar sólo en lo que es más comercial. Siempre seremos, antes que nada, programadores"

- Equipo de Zigurat -

Grugnorr

                                Como dice HgH, en C++ Standard no existe , todas los .h de la biblioteca standard están en los mismos ficheros sin extensión(, por ejemplo) y dentro del namespace std.

Los usas de una de éstas 2 maneras:



#include <iostream>



using namespace std;



cout<<"Hola X-Alien"<<endl;



o





#include <iostream>



std::cout<<"Hola X-Alien"<<std::endl;



A mi juicio lo mejor es usar el calificador de namespace en la interfaz(.h) y el using namespace en la implementación (.cpp).                                
hat the hells!

ethernet

Yo tengo un problema relaccionado con esto. Cuando uso std::cout si tengo instaladas stl de sgi me dan como unos 100 errores (deben ser todos provodados por lo mismo) pero no consigo saber la fuente del problema. Alguien ha tenido el mismo problema ?

saludos

x-alien

                                holas

pues vaya faena...
he hecho esto copiando un codifo fuente tipico de enseñanza de c++ y no va ya

#include
int main()
{

int celsius, fahrenheit;

std::cout << "n/Introducir la temperatura como grados fahrenheit:   ";
std::cin >> fahrenheit;
celsius =5*(fahrenheit - 32)/9;
std::cout << "La temperatura es  ";
std::cout << celsius;
std::cout << "grados celsius";

return 0;
}

aki no da error pero no funciona como deberia funcionar, sale en la consola  n/Introducir la temperatura como grados fahrenheit:, introduzco un numero y se va y no me hace lo k hacia antes.
voy a instalarme el borland a ver k tal... lo curioso esk con el vc6 esto no me pasaba.
he estado buscando en la ayuda... y veo k al instalar el dx9, no me deja ver la ayuda k me salia antes del vc7 solo me sale la del dx9, y me salen las funciones deprecated del dx9

despues puse

#include

using namespace std;
int main()
{

int celsius, fahrenheit;
std::cout << "n/Introducir la temperatura como grados  fahrenheit:   "<std::cin >> fahrenheit;
celsius =5*(fahrenheit - 32)/9;

std::cout << "La temperatura es  "<std::cout << celsius<std::cout << "grados celsius"<
return 0;
}
y ya me hacia las operaciones, pero pateticamente.
el uniko libro k tengo de informatica... uno gordo tocho de c++(la biblia de anaya) todo viene con std y ya no me compila = k antes.... putada, y aun no me habia aprendido todo el c++, solo se lo basico hasta las clases.
y manda webos estar programando en win32 y dx9 sin saber al 100% el c++

no entiendo el pork no pueda ir el std...
voy a mirar en msdn online pork no me chuta la ayuda... errores jodios

ethernet ese error te da con vc6 o vc7?

saludos

pd. puta microsoft, y su mierda deprecated...std es la madre de la enseñanza de c++ y la capan...                                
oy Grafista, no Programador, aun así programo mejor que un 'programador'

ethernet

x-alien no se si te habras dado cuenta pero en esta operacion:


celsius =5*(fahrenheit - 32)/9;


son todo operaciones con enteros y puede q no te de el resultado q tu quieres. Prueba a usa float para ver si te da el resultado deseado

Por otra parte a mi los problemas me los da con vc6.0

saludos

x-alien

                                he estado indagando los cambios... y como siempre chincherias de microsoft.. no se si esto pasa con el borland... pero segun lo k he visto han cambiado las librerias standard del c++ y su forma de uso...

http://msdn.microsoft.com/library/default....the_default.asp

podeis ver aki algo... en futuras versiones desaparecera la forma de usar el std... por algo lo de deprecated.

ethernet los problemas k tienes con stl es por lo mismo, vamos creo yo..

hay otra forma de escribir en consola datos de entrada y salida??
he estado compilando en c y printf funciona.
he visto en algunos programas win32 en c++ k usan stdio.h.  ¿eso no es del c? se puede usar en c++  printf y strcpy? actualmente lo he visto en algunos programas dx9, usan clases del c++ y strcpy k es del c ,
es una duda k me gustaria resolver. aunke creo k es una burra mezclar cosas del c con c++ o creo es imposible... tal vez me ekivoco, es lo malo de ser autodidacta, k sin libros no se avanza y mas cuando los libros k tienes se kedan obsoletos

saludos                                
oy Grafista, no Programador, aun así programo mejor que un 'programador'

ethernet

Dicen q no es buena juntar la salida standard de c++ con la de c, aunque yo lo hago y no pasa nada muy malo.

alguien sabria decir porq los expertos recomiendan no juntarlas ?

No veo nada de malo en usar strcpy en c++, no creo q tenga nada q ver con la salida standard.

saludos

BeRSeRKeR

                                A mi el código este



#include <iostream>



using namespace std;



int main()

{

float fCelsius, fFahrenheit;



cout << "nIntroducir la temperatura como grados fahrenheit: ";

cin >> fFahrenheit;

fCelsius = 5.0f * (fFahrenheit - 32.0f) / 9.0f;

cout << "nLa temperatura es ";

cout << fCelsius;

cout << " grados celsiusn";



return 0;

}



me compila y ejecuta perfectamente en .NET. Lo que he visto es que en el código que pusiste, ponias n/ en vez de n pero no sé si te referías a eso o a otra cosa cuando dices que ya no te sale como antes...

Saludos                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

BeRSeRKeR

                                Por cierto, yo sigo utilizando printf  :D                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ethernet

con std::cout tienes cout::endl para el salto de linea.

saludos

x-alien

                                ethernet gracias, por la respuesta crei k decia una burra... he visto en ejemplos del dx8 y 9 usar cosas del c con c++, mas concretamente, usando las clases del c++ y muchas cosas de c.

no se pork los expertos dicen k no se debe mezclar... no tengo ni idea.. pero microsoft lo mezcla. yo empezare a mezclarlo, me gusta mas usar en los programas consola printf k std::cout y mogollon de clases.

berserker ya me di cuenta de lo del n/... despiste k corregi, ya me va bien. claro k muy rapido...
por cierto cual era el nombre del archivo cabecera k se incluia para k los programas de consola no se fueran tan rapido, es decir se cierren solitos??, esk me duran segundos, milisengundos  y no veo los pasos pausadamente

thx a tos por la ayuda

pd. paso del std... prefiero printf, scanf jeje, pero claro no se pork dicen en los libros k no se debe mezclar...,c++ es un conjunto de c y este un subconjunto de c++                                
oy Grafista, no Programador, aun así programo mejor que un 'programador'

ethernet

Para q no se cierran al instance puedes hacer varias cosas:

-poner un getchar() al final del programa (stdio.h) asi esperara una tecla
-ejecutar desde la linea de comandos
-ejecutar desde vc (shift+f5 en vc6.0) y el solo te dice q pulses una tecla al final

saludos

x-alien

                                thx                                
oy Grafista, no Programador, aun así programo mejor que un 'programador'

Grugnorr

                               
Citar
pd. puta microsoft, y su mierda deprecated...std es la madre de la enseñanza de c++ y la capan...

Uhmm, la mierda de deprecated es lo contrario de lo que dices, obligan a usar la forma c++ y no el híbrido que había antes ;)

Lo de que se te cierra ..es lógico, el programa acaba ;). Haz caso a ethernet para solucionarlo

Los streams y las funciones no se mezclan bien por compatibilidad interna en algunas cosas... no sé muy bien cuales ;)

Usa printf y scanf si los prefieres, yo prefiero mil veces los streams extensibles y type-safe(en la lista variable de argumentos de los printf//scanf puedes meter cualquier tipo a saco y meter bugs en garndes cantidades... como en el scanf ;) )


Resumiendo, el problema era que ponías la barra mal y que se te cierra como debe al acabar?, o hay algo más? :?:

PD: Como cambies de compilador por cada fallo chorra... pocos más te puedes permitir ;)                                
hat the hells!






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.