Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: nolasco281 en 16 Febrero 2014, 05:48 am



Título: Crear formulario y luego pedir datos. (Cerrado)
Publicado por: nolasco281 en 16 Febrero 2014, 05:48 am
Hola esta es mi siguiente duda tengo este formulario.
y lo que deseo es que salga el formulario completo y luego que pida los datos al usuario
ya que si uso cin primero me pide el número de cheque, luego la fecha así sucesivamente y no todo de un solo.

Estaba viendo como usan la función gets en C pero no logro entender la idea.

Imprimen el formulario completo y luego posicionan la entrada del teclado pero no entiendo muy bien como lo hacen,  alguien tiene una idea de cómo hacerlo en C++ de una forma más fácil sin tanta complejidad.

(http://2.bp.blogspot.com/-LDK_TvlSRio/UwBAmGspZ3I/AAAAAAAAAhw/IUkEUumIYJU/s1600/Cheque.png)


Título: Re: Crear formulario y luego pedir datos.
Publicado por: ivancea96 en 16 Febrero 2014, 12:05 pm
Haciéndolo en consola, difícil lo veo. Tendrías que usar la librería conio.h, por ejemplo, con sus funciones "gotoxy".


Título: Re: Crear formulario y luego pedir datos.
Publicado por: nolasco281 en 16 Febrero 2014, 14:25 pm
Si se puede y como comentas es bastante difícil de hacerlo estaba viendo ejemplos de cómo lo hacen pero lo hacen en C valga la redundancia de palabras. Gracias por contestar.


Título: Re: Crear formulario y luego pedir datos.
Publicado por: xaps en 16 Febrero 2014, 18:24 pm
Con todo de uno solo, te refieres a que puedas colocar todos los datos en una misma línea? No entiendo exactamente que es lo que quieres hacer.


Título: Re: Crear formulario y luego pedir datos.
Publicado por: vangodp en 16 Febrero 2014, 18:35 pm
Citar
ya que si uso cin primero me pide el número de cheque, luego la fecha así sucesivamente y no todo de un solo.
Eso te lo inventaste tu ¿no?
Claro que cin hace eso.  :P

cin es muy listo :3

si tuvieras...

cout << "imprima nombre"<<endl;
cin>> nombre;

cout << "imprima segundo nombre"<<endl;
cin >> snombre;

cout << "imprima edad"<<endl;
cin>>edad;

...despues le ingresas en el primer cin:
pepe luiz 37
Separados por espacio, veras como se te encaja todos los datos en sus respectivas variables pulsando solamente una vez el enter al final.
De donde lo has sacado eso? :P

Creía a cout y cin inferiores pero no dejo de descubrir cosas sobre iostream.
Hace todo lo de printf() y mucho mas, lo único que no logro resolver es por que carajo no me imprime la ñ en windows XD


Título: Re: Crear formulario y luego pedir datos.
Publicado por: Yugget en 16 Febrero 2014, 20:38 pm
Si mal no entiendo...

Lo que intentas decir es que quieres que el usuario pueda completar una pregunta del formulario... la que el quiera elige primero cual rellenar...

no como tu dices que con cin te pides primero que ingreses, guarde, etc...

Haciendo un resumen...

¿Quieres que el usuario tenga la liberta de responder la pregunta que desee no?.

Sin hacerlo mediante un orden.
Ejemplo: a la hora de registrarte en el foro, ingresas por ejemplo el campo clave antes que el nombre y después el que tu quiera...

¿Es a eso a lo que te refieres?.

Un cordial saludo.


Título: Re: Crear formulario y luego pedir datos.
Publicado por: nolasco281 en 17 Febrero 2014, 09:38 am
Esta es la idea

Ingresando datos. Secuencialmente por cin
(http://1.bp.blogspot.com/-EwEs_TGuGP8/UwHI3lGUvgI/AAAAAAAAAiQ/QbGfjlWWPi4/s1600/CForo.png)

Termina de ingresar datos.
(http://2.bp.blogspot.com/-HFMVEcuD_xY/UwHI5RxdGVI/AAAAAAAAAic/04X3FPFC4rE/s1600/CForo1.png)

Y a esto me refería que imprima el formulario y ingresar datos y no que me imprima el formulario a pedazos como lo hace el cin

(http://1.bp.blogspot.com/-yfSegyJewmY/UwHLL2oB6dI/AAAAAAAAAis/NBGywFG0wnQ/s1600/sd.png)

Como digo TomasinSG  que tenga la liberta de elegir o si no que me pida los datos en orden pero que el formulario ya esté en pantalla.  Como la tercera imagen.




Título: Re: Crear formulario y luego pedir datos.
Publicado por: xaps en 17 Febrero 2014, 13:28 pm
y no que me imprima el formulario a pedazos como lo hace el cin
cin es literalmente "Channel In" es decir, canal de entrada. No se puede usar cin para escribir en pantalla.

Como digo TomasinSG  que tenga la liberta de elegir
Podrías hacer estilo menú con switch, donde cada pregunta tenga un número asignado y que el usuario deba introducir el número de la pregunta para contestarla.

que me pida los datos en orden pero que el formulario ya esté en pantalla.  Como la tercera imagen.
Usa cout para imprimir en pantalla el formulario y luego con cin recoge los datos en orden. No tiene más complicación.

Espero haberte ayudado, ya que aún no tengo muy claro que es lo que quieres hacer.

Saludos


Título: Re: Crear formulario y luego pedir datos.
Publicado por: vangodp en 17 Febrero 2014, 13:35 pm
Quieres que se te vea todo el formulario y después editarlo.
Pues como te lo dijeron antes.
Para eso esta conio, conio2, ncurse, pdcurse....y un millón de ellas mas.
imprimes el formulario primero, y con gotoxy() vas a la posición y que quieras y cambiar los datos.


Título: Re: Crear formulario y luego pedir datos.
Publicado por: vangodp en 17 Febrero 2014, 13:50 pm
Creo que eso es lo que buscas.
Código
  1. // Filling a form.cpp : main project file.
  2.  
  3. //#include "stdafx.h" // Yo uso con MS Visual 2008 Express. Deja fuera si se utiliza algo diferente
  4. #include <iostream>
  5. #include <string>
  6. #include <windows.h>
  7.  
  8. using namespace std;
  9.  
  10. HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
  11. COORD CursorPosition;
  12.  
  13. void gotoXY(int, int);
  14.  
  15. int main()
  16. {
  17. int location[6][2] = {{13,6},{41,6},{69,6},{13,8},{41,8},{25,10}},x,y,z;
  18. // location array = groups of column, and row, for gotoXY()
  19. string form[6]={"your name","father's name","mother's name","city of birth","your birthdate","your phone number"}, answer;
  20. // string form[] = allowing different text to be printed for instructions
  21.  
  22. gotoXY(2,6); // locates 2nd column, sixth row
  23. cout << "Your Name :__________   Father's Name :__________    Mother's Name:__________";
  24. gotoXY(2,8);  // locates 2nd column, eigthth row
  25. cout << "Your City :__________   Your Birthday :__________";
  26. gotoXY(2,10);  // locates 2nd column, tenth row
  27. cout << "Your TELEPHONE Number :__________";
  28.  
  29. for(x=0;x<6;x++)
  30. {
  31. gotoXY(16,15);
  32. cout << "Please enter, in space provided, " << form[x] << ". ";      
  33. y=location[x][0];
  34. z=location[x][1];
  35. gotoXY(y,z);
  36. cin >> answer;
  37. }
  38. gotoXY(19,21);
  39. cout << "Thank you for your assistance!!";
  40. gotoXY(19,23);
  41. return 0;
  42. }
  43.  
  44. void gotoXY(int x, int y)
  45. {
  46. CursorPosition.X = x;
  47. CursorPosition.Y = y;
  48. SetConsoleCursorPosition(console,CursorPosition);
  49. }
  50.  
  51.  
Lo encontre aqui:www.cplusplus.com/forum/beginner/73626/ (http://www.cplusplus.com/forum/beginner/73626/)
tuve que poner de comentario la linea 3 por que en codeblocks no tengo ese header.
eso ya lo solucionas tu XD, he compilado en codeblocks y windows xp 32.
Como es solo para basarte, creo que te sirve.


Título: Re: Crear formulario y luego pedir datos.
Publicado por: nolasco281 en 17 Febrero 2014, 14:23 pm
Muchas gracias por contestar primera mente como siempre digo no intento que me resuelvan nada solo que me den una idea de que puedo usar para yo investigarlo, nada mas en cuanto al problema creo que vi en ejemplo en que usa el gets y luego posicionar el cursor donde se desea. pero tambien hago la pregunta por que la mayoria de ejemplos estan en C y no en C++ y quiero mejorar en C++ ya que por eso es el precursor de C.

Muchas gracias de nuevo agradesca a cada persona que comenta.

No tiene más complicación.
Espero haberte ayudado, ya que aún no tengo muy claro que es lo que quieres hacer.

Si claro siempre que se conteste es una ayuda, y si entiendo tu idea pedir todos los valores al usuario y luego imprimirlo con los datos facil pero no es el objetivo. si no aprender cosas nuevas. saludos y gracias por contestar.


Título: Re: Crear formulario y luego pedir datos.
Publicado por: vangodp en 17 Febrero 2014, 15:18 pm
Por que son simples ejemplos.
Con un par de funciones estaría arreglado.
En un proyecto serio lo suyo es hacer como dices, pasarlo a cpp y que el código fuera re aprovechable. ;)


Título: Re: Crear formulario y luego pedir datos.
Publicado por: nolasco281 en 17 Febrero 2014, 15:33 pm
Siempre me ayuda lo que comenta cada persona a mejorar saludos.

Escribi esto ya que me repitio el mensage de abajo. y no se como eliminarlo


Título: Re: Crear formulario y luego pedir datos.
Publicado por: nolasco281 en 17 Febrero 2014, 15:38 pm
Por que son simples ejemplos.
Con un par de funciones estaría arreglado.
En un proyecto serio lo suyo es hacer como dices, pasarlo a cpp y que el código fuera re aprovechable. ;)


1. Simples ejemplos no entendi. nunca mencione que los ejemplos que veo sean simple y si lo dige me disculpo ya que me han sacado varias dudas.

2. El objetivo creo yo de un foro en mi humilde opinio es ayudar a una persona no decirle  Con un par de funciones estaría arreglado (citandote). si no ayudarlo. Saludos a todos.

PD: Me disculpo si entendi mal.


Título: Re: Crear formulario y luego pedir datos. (Cerrado)
Publicado por: vangodp en 17 Febrero 2014, 19:55 pm
Citar
...tambien hago la pregunta por que la mayoria de ejemplos estan en C y no en C++ y quiero mejorar en C++ ya que por eso es el precursor de C.

te dije:
Citar
Por que son simples ejemplos.
Con un par de funciones estaría arreglado.
En un proyecto serio lo suyo es hacer como dices, pasarlo a cpp y que el código fuera re aprovechable.

me has retornado:
Citar
1. Simples ejemplos no entendi. nunca mencione que los ejemplos que veo sean simple y si lo dige me disculpo ya que me han sacado varias dudas.

2. El objetivo creo yo de un foro en mi humilde opinio es ayudar a una persona no decirle  Con un par de funciones estaría arreglado (citandote). si no ayudarlo. Saludos a todos.
1º Nadie ha dicho que tu ayas dicho nada  :huh:
2º No se lo que has entendido pero creo que te escribí de forma clara.
3º (Este va por mi cuenta)
Citar
...no decirle  Con un par de funciones
Si lo quieres en c++ es solo preguntar si alguien lo puede hacer o explicar te. Eso claro no quiere decir que te lo vayan a hacer. Creo que con que te aya enseñado un ejemplo aun que sea en "un funciones" y que no son de tu agrado, o no tengo ni idea de lo que te refieres por que nadie aquí o casi nadie logro comprenderte, creo que el único que llego a hacerlo fue ivancea. Yo creía haberte comprendido.
Creo que la respuesta ha estado a la altura de la pregunta.
Si sigues con duda no cierres el tema.
Creo que pasarlo a c++ debía hacerlo tu, ya que así practicaras c++ como dices ;)  :silbar: