Crear formulario y luego pedir datos. (Cerrado)

Iniciado por nolasco281, 16 Febrero 2014, 05:48 AM

0 Miembros y 1 Visitante están viendo este tema.

nolasco281

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.

Lo que se puede imaginar... se puede programar.

ivancea96

Haciéndolo en consola, difícil lo veo. Tendrías que usar la librería conio.h, por ejemplo, con sus funciones "gotoxy".

nolasco281

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.
Lo que se puede imaginar... se puede programar.

xaps

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.
"The programmers of tomorrow are the wizards of the future" - Gave Newel

vangodp

#4
Citarya 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

Yugget

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.

nolasco281

#6
Esta es la idea

Ingresando datos. Secuencialmente por cin


Termina de ingresar datos.


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



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.


Lo que se puede imaginar... se puede programar.

xaps

Cita de: nolasco281 en 17 Febrero 2014, 09:38 AM
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.

Cita de: nolasco281 en 17 Febrero 2014, 09:38 AM
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.

Cita de: nolasco281 en 17 Febrero 2014, 09:38 AM
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
"The programmers of tomorrow are the wizards of the future" - Gave Newel

vangodp

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.

vangodp

Creo que eso es lo que buscas.
Código (cpp) [Seleccionar]

// Filling a form.cpp : main project file.

//#include "stdafx.h" // Yo uso con MS Visual 2008 Express. Deja fuera si se utiliza algo diferente
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
COORD CursorPosition;

void gotoXY(int, int);

int main()
{
int location[6][2] = {{13,6},{41,6},{69,6},{13,8},{41,8},{25,10}},x,y,z;
// location array = groups of column, and row, for gotoXY()
string form[6]={"your name","father's name","mother's name","city of birth","your birthdate","your phone number"}, answer;
// string form[] = allowing different text to be printed for instructions

gotoXY(2,6); // locates 2nd column, sixth row
cout << "Your Name :__________   Father's Name :__________    Mother's Name:__________";
gotoXY(2,8);  // locates 2nd column, eigthth row
cout << "Your City :__________   Your Birthday :__________";
gotoXY(2,10);  // locates 2nd column, tenth row
cout << "Your TELEPHONE Number :__________";

for(x=0;x<6;x++)
{
gotoXY(16,15);
cout << "Please enter, in space provided, " << form[x] << ". ";     
y=location[x][0];
z=location[x][1];
gotoXY(y,z);
cin >> answer;
}
gotoXY(19,21);
cout << "Thank you for your assistance!!";
gotoXY(19,23);
return 0;
}

void gotoXY(int x, int y)
{
CursorPosition.X = x;
CursorPosition.Y = y;
SetConsoleCursorPosition(console,CursorPosition);
}


Lo encontre aqui: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.