|
Mostrar Mensajes
|
Páginas: 1 2 3 4 5 [6] 7 8 9
|
52
|
Programación / Programación C/C++ / Utilizar setlocale( ) para ingresar caracteres especiales con cin
|
en: 8 Septiembre 2021, 10:36 am
|
Hola a todos ! Acaso es posible lograr lo que describo en " ASUNTO " ... ? ; En todo caso, existe otra función que nos permita evitar escribir Código ASCII o ASCII extendido dentro de un IO scanf/printf ?? El siguiente Código no me funciona :
#include <iostream> #include <clocale>
using namespace std;
int main() {
setlocale(LC_ALL, "spanish"); char c;
cout<<"Ingrese la Letra ' EñE ' "<<endl; cin>>c; cout<<"Ingresaste la "<<c<<endl;
return(0); }
/* Gracias por leer el mensaje */
|
|
|
53
|
Programación / Programación C/C++ / Re: Ciclo DO WHILE
|
en: 8 Septiembre 2021, 03:26 am
|
Eternal Idol, Mafus y Serapis : muchas gracias. Se podría resumir, entonces, que una variable puede ser " afectada " de manera directa por una función ( isdigit ( Var ) ); , un objeto ( cout<< Var ..... ) un Bucle(for (int Var= 1; Var<= 20; Var++)), etc, etc ..... Pero por ejemplo un modificador ( o " stoi o stof son métodos o funciones ?? ) lo haría de manera indirecta : /* Para la Variable " s " */ string s = "0.0176487659456789432558"; int i = stoi(s); float f = stof(s); cout << s << "\n" << i << "\n" << f << endl; /* Esta diferenciación estaría mal ?? */
|
|
|
54
|
Programación / Programación C/C++ / Ciclo DO WHILE
|
en: 7 Septiembre 2021, 10:48 am
|
Hola a todos ! Respecto del Código que pondré a Continuación, yo sí entiendo que el Ciclo se cumple mientras se cumpla la condición impuesta por el WHILE, y cuando no se cumpla el Código continúa con lo que uno escriba - y NO necesariamente vinculado al Ciclo DO WHILE ya finalizado .... Pero no entiendo porqué " n " tiene ingerencia fuera del Ciclo : SÍ puedo entenderlo porque fue declarada antes del DO .... pero lo que no entiendo realmente es que la línea ( cout << "Valor: " << n << endl; ) sea válida, pues este cout<< está DEPENDIENDO del cin>> que está dentro del Ciclo, que ya finalizó. Aquí, el Código =
#include <iostream>
using namespace std;
int main() { int n = 0; do { cout << "Introduzca un numero entre 1 y 9: "; cin >> n; } while (!(n > 0 && n < 10)); cout << "Valor: " << n << endl; } /* Gracias por leer el mensaje */
|
|
|
56
|
Programación / Programación C/C++ / Re: Dev-C++ no muestra el valor esperado
|
en: 1 Septiembre 2021, 05:03 am
|
Hola ! Probé todo lo que me dijiste y no me arroja errores PERO el Código no hace lo que yo busco, que es " Forzar " a que el conteo no muestre un Nro debajo del otro desde 0 a 10; lo que busco es que el Ciclo FOR a partir del gotoxy que le doy, " muestre todo el cálculo dentro de la misma posición, es decir, QUE DIRECTAMENTE me aparezca sólo el número 10 en el gotoxy que yo le indique. Y de hecho lo logré cuando me apareció - sin las modificaciones que me sugeriste - el 16 únicamente en el gotoxy que propuse -, PERO no había caso como expliqué, de alterar los valores del FOR, y que me aparezca un nuevo valor.
Respecto del Visual C ++ no lo tengo instalado; Sólo tengo el Dev-C++ y en ninguna de las dos versiones instaladas arroja el error que mencionaste; aparece " el 16 " y no arroja ni Warning ni error.
Aquí el Código como quedó después de lo que me propusiste ( notá que SOLAMENTE el " 0 " respeta el gotoxy(3,19) .... debajo, desde el 1 hasta el 10 ningún valor respeta el gotoxy =
#include <iostream> #include <windows.h>
using namespace std;
void gotoxy(int x,int y) { HANDLE hcon; hcon = GetStdHandle(STD_OUTPUT_HANDLE); COORD dwPos; dwPos.X = x; dwPos.Y= y; SetConsoleCursorPosition(hcon,dwPos); } int main() {
gotoxy(3,19); /* { En foro me dicen q quite esto */ /* int i; En foro me dicen q quite esto */ for( int i = 0; i<=10; /* En foro ... i = i + 1 */ ++i ) /* gotoxy(3,19); En foro me dicen que lo ponga arriba del for */ /* { En foro me dicen q quite esto */ cout<<i<<endl; { return(0); } }
/* Gracias por reponderme */
|
|
|
57
|
Programación / Programación C/C++ / Dev-C++ no muestra el valor esperado
|
en: 31 Agosto 2021, 08:02 am
|
Hola Moderadores y Foreros ! Al siguiente Código le cambio valores al for( int i = 0; i<=10; i = i + 1 ), pero me sigue dando 16 - previamente le dí valores al FOR para que sí me muestre x pantalla " 16 " ; lo increíble es que si es un problema de buffer, no entiendo porqué SÍ respeta que cambie las coordenadas a gotoxy(3,19); y los valores del FOR ..... no !!! cada vez que modifico y compilo. Les comento que tengo la última versión Dev-C++ Embarcadero y también la 5.11( será ése el conflicto ??? ) Aquí, el Código = #include <iostream> #include <windows.h>
using namespace std;
void gotoxy(int x,int y) { HANDLE hcon; hcon = GetStdHandle(STD_OUTPUT_HANDLE); COORD dwPos; dwPos.X = x; dwPos.Y= y; SetConsoleCursorPosition(hcon,dwPos); } int main()
{ int i; for( int i = 0; i<=10; i = i + 1 ) gotoxy(3,19); { cout<<i<<"\n"; } return(0); }
/* Gracias por leer el mensaje */
|
|
|
59
|
Programación / Programación C/C++ / Re: La cantidad de cifras significativas que soporta C ++ se ven afectadas
|
en: 25 Agosto 2021, 06:53 am
|
Cada compilador implementa los tipos de punto flotante más o menos igual, aunque hay algunas peculiaridades (como el Visual Studio, que usa la misma representación para double que para long double). Pueden ver en std::numeric_limits<T>::digits10 https://en.cppreference.com/w/cpp/types/numeric_limits/digits10Por ejemplo: #include <iostream> #include <numeric> int main() { std::cout << "cantidad de digitos que pueden representarse sin redondeos ni desbordamiento :\n"; std::cout << "float: " << std::numeric_limits<float>::digits10 << " digitos significativos.\n"; std::cout << "double: " << std::numeric_limits<double>::digits10 << " digitos significativos.\n"; std::cout << "long double: " << std::numeric_limits<long double>::digits10 << " digitos significativos.\n"; }
Gracias por responder, pero el Código arroja errores, al menos para " Dev-C++ " ; puede ser que no hayas declarado la const ... static const int digits10; ( o quizás, según versión de C ++ ) static constexpr int digits10 ..... quizá también faltaba la librería " limits " ??????
|
|
|
60
|
Programación / Programación C/C++ / Re: La cantidad de cifras significativas que soporta C ++ se ven afectadas
|
en: 25 Agosto 2021, 06:46 am
|
Gracias por responder. Entonces, es definitivo el hecho de que " NO ES CORRECTA " la cantidad de decimales de tipo float ( según la Teoría, 7 decimales ) , double (15) y long double ( 19 ) que se puede mostrar como resultado de una operación ? Aquí, vuelvo a ejemplificar con otro ejemplo que no hace lo que busco : DE PASO te consulto porqué aproxima un Tipo int 2.8765 .... a 1 y no a 3 ( 1er cout ) #include <iostream> #include <iomanip> using namespace std; int main() { cout << fixed << setprecision(25) << 2.87654321345868745895256568974i << '\n'; cout << fixed << setprecision(25) << 2.87654321345868745895256568974f << '\n'; cout << fixed << setprecision(25) << 2.87654321345868745895256568974 << '\n'; cout << fixed << setprecision(25) << 2.87654321345868745895256568974f << '\n'; cout << scientific << setprecision(25) << 2.87654321345868745895256568974d << '\n'; return 0; }
/* Gracias por leer el mensasje */
|
|
|
|
|
|
|