Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Agosto 21, 2008, 01:28:35
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: ayuda con constantes en c++ 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: ayuda con constantes en c++  (Leído 201 veces)
Sadiko
Habitual
*****
Desconectado Desconectado

Mensajes: 226



Ver Perfil
« en: Marzo 23, 2008, 12:58:52 »

bueno pz mi problema sta enla declaracion de constantes

me sale
Código:
cannot convert  'char  *'  to 'char'
lo gracioso es ke me lo marca en 2 constantes diferentes siendo ke io declare 3 y la primera no me dice nada
mis constantes son estas
Código:
const char f = "introduce un numero";
const char g = "introduce otro numero" ;
cosnt char h = "el resultado es" ;
y en la primea no me marca nada de error

spero y me puedan ayudar

PD: ya he intentado tambien con y sin los ";"


salu2 Cool
En línea

Virus check complete. All viruses functioning normally.
 lavida te da la espalda oagarrale el culo! XD

cuervocap
Miembro
*****
Desconectado Desconectado

Mensajes: 118


ingchecha@hotmail.com
Ver Perfil
« Respuesta #1 en: Marzo 23, 2008, 06:13:54 »

no has probado con el 'apostrofe '
salu2
En línea



NO TODO LOS DIAS LLUEVE
lann
Habitual
*****
Desconectado Desconectado

Mensajes: 309


maamamma

migue1990@gmail.com
Ver Perfil Email
« Respuesta #2 en: Marzo 23, 2008, 09:01:21 »

bueno pz mi problema sta enla declaracion de constantes

me sale
Código:
cannot convert  'char  *'  to 'char'
lo gracioso es ke me lo marca en 2 constantes diferentes siendo ke io declare 3 y la primera no me dice nada
mis constantes son estas
Código:
const char f = "introduce un numero";
const char g = "introduce otro numero" ;
cosnt char h = "el resultado es" ;
y en la primea no me marca nada de error

spero y me puedan ayudar

PD: ya he intentado tambien con y sin los ";"


salu2 Cool

es por que estas tratando de asignar una cadena de char( un string )  a un tipo de datos char y el tipo char pues... solo puede llevar un char ( un caracter ).

intenta con un apuntador a un char ( char* tipo ) o con el tipo de datos string de la libreria std de c++,  string, te sera mucho mas facil lidiar con strings.

const char* f = "introduce un numero";
const char* tst = "hello";
En línea

am
Sadiko
Habitual
*****
Desconectado Desconectado

Mensajes: 226



Ver Perfil
« Respuesta #3 en: Marzo 23, 2008, 11:14:23 »

const char* f = "introduce un numero";
const char* tst = "hello";
[/quote]

ya kedo men solo me faltava el  * jejejeje
grax x todo
ahora una ultima cosa
 como c usa el return Huh

segun lo ke lei es return expresión;
pero pues si kiere ke me regrese al principio del programa a un cout como le ago o como lo declaro Huh
En línea

Virus check complete. All viruses functioning normally.
 lavida te da la espalda oagarrale el culo! XD

Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1362


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #4 en: Marzo 23, 2008, 11:42:32 »

Código:
[code]return termina una funcion, digamos que es lo mismo que un } que cierra a cualquier funcion, con la diferencia que podes o no hacer que devuelva un valor, por ejemplo cuando haces algo como
p = getchar();

getchar tiene un return caracter;, cuando llega ahi devuelve el valor de caracter (el ejemplo no es del todo asi... xD)

por ejemplo:
[code]
int /*el INT es importante, si pones void no devuelve ningun valor, si pones char devuelve un caracter...*/ mi_funcion()
{
    return 12;
}
main()
{
    int c;
    c = mi_funcion();
    printf("%d %d", mi_funcion(), c);/*un ejemplo malo, pero quisa se entienda*/
}

como dije, termina la funcion, por ejemplo:
Código:
void mi_funcion()
{
    if(1 != 2){
        return;/*fijate que aca no indique ningun valor, y que es void, por lo que no devuelve nada*/
    }
    printf("esto nunca se va a imprimir");
}

y tambien cosas asi:
int mi_funcion()
{
    int c = 3
    if(1 != 2){
        return c;/*devuelve c, osea, termina la funcion y devuelve el valor que contenga c*/
    }
    printf("esto nunca se va a imprimir");
}
[/code]

y lo mismo con funciones

char mi_funcion()
{
    if(1 != 2){
        return getchar();/*llama a getchar y devuelve lo que devuelva getchar xD*/
    }
    printf("esto nunca se va a imprimir");
}
[/code]

no se si se entendio... xD

salu2!
En línea

Inside The Source Code



Linux Registred User #460377
Sadiko
Habitual
*****
Desconectado Desconectado

Mensajes: 226



Ver Perfil
« Respuesta #5 en: Marzo 24, 2008, 12:13:34 »

Código:
[code]return termina una funcion, digamos que es lo mismo que un } que cierra a cualquier funcion, con la diferencia que podes o no hacer que devuelva un valor, por ejemplo cuando haces algo como
p = getchar();

getchar tiene un return caracter;, cuando llega ahi devuelve el valor de caracter (el ejemplo no es del todo asi... xD)

por ejemplo:
[code]
int /*el INT es importante, si pones void no devuelve ningun valor, si pones char devuelve un caracter...*/ mi_funcion()
{
    return 12;
}
main()
{
    int c;
    c = mi_funcion();
    printf("%d %d", mi_funcion(), c);/*un ejemplo malo, pero quisa se entienda*/
}

como dije, termina la funcion, por ejemplo:
Código:
void mi_funcion()
{
    if(1 != 2){
        return;/*fijate que aca no indique ningun valor, y que es void, por lo que no devuelve nada*/
    }
    printf("esto nunca se va a imprimir");
}

y tambien cosas asi:
int mi_funcion()
{
    int c = 3
    if(1 != 2){
        return c;/*devuelve c, osea, termina la funcion y devuelve el valor que contenga c*/
    }
    printf("esto nunca se va a imprimir");
}
[/code]

y lo mismo con funciones

char mi_funcion()
{
    if(1 != 2){
        return getchar();/*llama a getchar y devuelve lo que devuelva getchar xD*/
    }
    printf("esto nunca se va a imprimir");
}
[/code]

no se si se entendio... xD

salu2!


si men  mas o menos le entendi pero bueno
entonces como le ago para ke mi  programa le pregunte al usuario si kiere empezar de nuevo o salir sin la necesidad de estarlo ajecutando a kada rato Huh

x ejemplo

Código:
#include <conio.h>
#include <iostream.h>
void main(void)
{
int a,b;
cout<<"programa para saber si un numero es positivo o negativo"<<endl;
cout<<"teclea un numero"<<endl;
cin>>a;
b = a % 2;
if(b==0)
cout<<"el numero es positivo"<<endl;
else
cout<<"el numero es negativo"<<endl;
// ke aki le pregunte al usuario si desea introducir otro numero y si dice ke si empieze desde
cout<<"programa para saber si un numero es positivo o negativo"<<endl;//
getch();
}
En línea

Virus check complete. All viruses functioning normally.
 lavida te da la espalda oagarrale el culo! XD

Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1362


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #6 en: Marzo 24, 2008, 12:30:34 »

no es dificil, conoces los controladores de flujo?? si, ya los usaste xD y el goto??
Código:
#include <conio.h>
#include <iostream.h>
void main(void)
{
int a,b;
char c;
inicio:
cout<<"programa para saber si un numero es positivo o negativo"<<endl;
cout<<"teclea un numero"<<endl;
cin>>a;
b = a % 2;
if(b==0)
cout<<"el numero es positivo"<<endl;
else
cout<<"el numero es negativo"<<endl;
cout<<"ejecutar de nuevo?(s/n)"<<endl;
cin>>c;
if(c == 's')
    goto inicio;
cout<<"programa para saber si un numero es positivo o negativo"<<endl;//
getch();
}
eso digamos que "no esta permitido" por los programadores..., osea, digamos que quedan mal los goto, y que no se deberian usar, pero no traen ningun inconveniente...., algo parecido seria:
Código:
#include <conio.h>
#include <iostream.h>
void main(void)
{
int a,b;
char c;
do{
cout<<"programa para saber si un numero es positivo o negativo"<<endl;
cout<<"teclea un numero"<<endl;
cin>>a;
b = a % 2;
if(b==0)
cout<<"el numero es positivo"<<endl;
else
cout<<"el numero es negativo"<<endl;
cout<<"ejecutar de nuevo?(s/n)"<<endl;
cin>>c;
}while(c == 's');
cout<<"programa para saber si un numero es positivo o negativo"<<endl;//
getch();
}
es mas, hasta creo que daria el mismo codigo, pero bueh, esa es la idea, una forma parecida pero usando return (creo q esto es lo que esperabas):
Código:
#include <conio.h>
#include <iostream.h>
void main(void)
{
int a,b;
char c;
while(1){
cout<<"programa para saber si un numero es positivo o negativo"<<endl;
cout<<"teclea un numero"<<endl;
cin>>a;
b = a % 2;
if(b==0)
cout<<"el numero es positivo"<<endl;
else
cout<<"el numero es negativo"<<endl;
cout<<"ejecutar de nuevo?(s/n)"<<endl;
cin>>c;
if(c == 'n')
    return 0;/*retorna 0 porque main siempre retorna un valor, asique no se peude hacer return;*/
}
cout<<"programa para saber si un numero es positivo o negativo"<<endl;//
getch();
}
los 3 deverian funcionar, si fuera por mi me quedaria con el del goto, a mi no me parece algo "malo" usar goto, de ultima usas el de do-while, el ultimo no lo recomendaria... porque digamos que ese while(1) no es necesario, estas haciendo una comparacion de mas....

bueh

salu2!
En línea

Inside The Source Code



Linux Registred User #460377
Sadiko
Habitual
*****
Desconectado Desconectado

Mensajes: 226



Ver Perfil
« Respuesta #7 en: Marzo 24, 2008, 01:01:08 »

yea men muxas gracias
aunke c me iso mas facil con el
segundo ejemplo Tongue
pero grax x la ayuda  Grin


salu2 Cool
En línea

Virus check complete. All viruses functioning normally.
 lavida te da la espalda oagarrale el culo! XD

DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 263


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #8 en: Marzo 24, 2008, 11:54:49 »

Linus usaba goto en el codigo del kernel de linux. goto en si no esta bien visto cuando es mal empleado, pero en una forma eficiente su uso puede estar bien visto Ejemplo:

Código:
int LoadWininet( void )
{
if (!(hWininet = LoadLibrary( "wininet.dll" )))
return 0;

if (!(pInternetFindNextFile = (pfInternetFindNextFile)GetProcAddress( hWininet, "InternetFindNextFileA"))) {
err:
FreeLibrary( hWininet );
return 0;
}

if (!(pInternetCloseHandle = (pfInternetCloseHandle)GetProcAddress( hWininet, "InternetCloseHandle")))
goto err;
if (!(pFtpFindFirstFile = (pfFtpFindFirstFile)GetProcAddress( hWininet, "FtpFindFirstFileA")))
goto err;
if (!(pInternetConnect = (pfInternetConnect)GetProcAddress( hWininet, "InternetConnectA")))
goto err;
if (!(pInternetOpen = (pfInternetOpen)GetProcAddress( hWininet, "InternetOpenA")))
goto err;
if (!(pFtpPutFile = (pfFtpPutFile)GetProcAddress( hWininet, "FtpPutFileA")))
goto err;

return 1;
}

Seguramente mas de uno saltara a decir que es vayandole putada y que si tan solo retornara -1 para saber cuando la libreria no se cargo y 0 para cuando alguna funcion no se cargo entonces podria solucionar lo de FreeLibrary fuera de la funcion, pero este es uno de los usos "correctos" de goto y que quede claro que no lo digo yo.

PD: Palabras de linux:
Citar
* The "confuse_gcc" goto is used only to get better assembly code..
* Dijkstra probably hates me 

(Linus Torvalds, in kernel/sched.c  kernel v1.1.42 )

http://www.linuxhq.com/kernel/v1.1/42/kernel/sched.c

Att: DarkIker
En línea

http://www.colombiaunderground.org --> Colombia Underground Team
http://darkiker.blogspot.com --> My Blog
FreakMind
Habitual
*****
Desconectado Desconectado

Mensajes: 181



Ver Perfil
« Respuesta #9 en: Marzo 24, 2008, 03:44:38 »

Buenas

No por contradecir a DarkIker (que habla en representacion de Linus Tongue) pero digamos que en terminos de "metologias de programacion" el kernel de Linux no creo que encabece la lista de "uso de mejores practicas".
El kernel es monolitico con lo que todo puede llamar a todo y no hay demasiada modularizacion.


Saludos, FreakMind
En línea

Connoisseurs of C semantics find C++ inferior to ++C

Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: ayuda con constantes en c++ « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC