Página 1 de 1
Duda variable char
Publicado: 19 Jul 2014, 19:52
por Usuario borrado 84624
Hola, estoy empezando en C++ y mi duda es que no puedo declara bien una variable char
#include <iostream>
#include <string>
#include <windows.h>
#include <stdio.h>
using namespace std;
char Server;
void ping(){
cout << "Seleccione Server; \n";
cin >> Server;
if (Server == 'NA'){
cout << "AA";
}
}
int main(){
SetConsoleTitle("Ping");
ping();
return(0);
}
Re: Duda variable char
Publicado: 19 Jul 2014, 21:03
por Pink
Char es un solo caracter.
cual es el error?
Re: Duda variable char
Publicado: 19 Jul 2014, 22:31
por Baal_30
Creo que será porque la estás declarando fuera de la función, a lo mejor te falta alguna palabra delante, tipo "static" o "define" no se, yo no se casi nada tampoco de programación, tan sólo he dado una idea xD Corregirme si me equivoco :)
Re: Duda variable char
Publicado: 19 Jul 2014, 22:37
por Pink
Usa strcmp si vas a comparar cadenas y no caracteres.
saludos
Re: Duda variable char
Publicado: 20 Jul 2014, 00:13
por Usuario borrado 84624
Pink escribió:Usa strcmp si vas a comparar cadenas y no caracteres.
saludos
Entonces Pink quedaria algo así ??
if (strcmp(Server) == 'Na'){
Re: Duda variable char
Publicado: 20 Jul 2014, 00:59
por Usuario borrado 84624
Pink escribió:Usa strcmp si vas a comparar cadenas y no caracteres.
saludos
segun yo quedaria así ,pero me manda error :
#include <iostream>
#include <string>
#include <windows.h>
#include <stdio.h>
using namespace std;
char N = "Na";
char cad;
int n;
void ping(){
cout << "Seleccione Server; \n";
cin >> cad;
n = strcmp( cad,N );
if (n == 0){
cout << "AA";
}
}
int main(){
SetConsoleTitle("Ping");
ping();
return(0);
}
Re: Duda variable char
Publicado: 20 Jul 2014, 02:56
por Pink
Debería ser así:
#include <iostream>
#include <string.h>
using namespace std;
const char * sNA="NA";
char Server[3];
void ping(){
cout << Server<<endl;
cout << "Seleccione Server; \n";
cin >> Server;
if (!strcmp(Server,sNA)){
cout << "AA";
}
}
int main(){
//SetConsoleTitle("Ping");
ping();
return(0);
}
Saludos
Re: Duda variable char
Publicado: 20 Jul 2014, 20:23
por Usuario borrado 84624
Pink escribió:Debería ser así:
#include <iostream>
#include <string.h>
using namespace std;
const char * sNA="NA";
char Server[3];
void ping(){
cout << Server<<endl;
cout << "Seleccione Server; \n";
cin >> Server;
if (!strcmp(Server,sNA)){
cout << "AA";
}
}
int main(){
//SetConsoleTitle("Ping");
ping();
return(0);
}
Saludos
Perfecto , gracias
Re: Duda variable char
Publicado: 06 Sep 2014, 22:40
por MeCraniDOS
Declarar variables globales es algo que debes evitar.
El tipo char, solo guarda un caracter, y en vez de declarar un puntero de char, puedes utilizar la clase string si estas utilizando C++.
Tu código quedaría de la siguiente manera utilizando strings.
#include <iostream>
using namespace std;
const string sNA = "NA";
void ping()
{
string Server;
cout << "Seleccione Server: ";
cin >> Server;
if (Server == sNA)
cout << "AA";
}
int main()
{
ping();
return 0;
}
Saludos.
Re: Duda variable char
Publicado: 07 Sep 2014, 14:21
por Pink
MeCraniDOS escribió:Declarar variables globales es algo que debes evitar.
¿Porque?
Saludos
Re: Duda variable char
Publicado: 15 Sep 2014, 08:28
por MeCraniDOS
Pink escribió:
¿Porque?
[Enlace externo eliminado para invitados]
El uso de este tipo de variables suele considerarse como una mala práctica, por el riesgo que conlleva esa deslocalización: una variable global puede ser modificada en cualquier parte del programa (a menos que resida en una sección de memoria protegida) y cualquier parte del programa depende de ella. Es por ello que una variable global tiene un potencial ilimitado para crear dependencias, factor éste que aumenta la complejidad.
Viola la transparencia referencial y dificulta la legibilidad del código fuente.
El uso de variables globales dificulta la legibilidad del código fuente. Dado que en cualquier parte del programa y en todo momento se puede cambiar el valor de la variable, para entender el uso de la variable suele ser necesario tener que comprender el funcionamiento de una parte amplia del programa. También dificultan la separación del código en bibliotecas, ya que muchos sistemas (como por ejemplo DLL) no soportan la visualización directa de variables globales en otros módulos. La denominación de las variables también puede desembocar en problemas con la denominación ya que una variable global corre el riesgo de ser usada, por ejemplo, en lugar de una variable local.
etc...
Saludos