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)
Haciéndolo en consola, difícil lo veo. Tendrías que usar la librería conio.h, por ejemplo, con sus funciones "gotoxy".
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.
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.
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
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.
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.
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
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.
Creo que eso es lo que buscas.
// 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/ (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.
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.
Cita de: xaps en 17 Febrero 2014, 13:28 PMNo 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.
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. ;)
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
Cita de: 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. ;)
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.
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:
CitarPor 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:
Citar1. 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: