Hey,
wtf, you really need to clean-up your program's interface. It is inconsistent, and asks things in funny ways.
For example, you have messages asking to continue with or without display in ascending order, but you also have a spot
asking whether you want to toggle display with or without ascending order. If you've got an option for it, why do you
need to ask the user how to display?
Also, you ask for inconsistent responses. For example, asking to "press 1 (Return)" is confusing.
If the user must press ENTER after every input, ask him to "enter 1".
If the user need not press ENTER after an input, ask him to "press 1".
That is specific language that the user will understand, based upon industry use.
Likewise, you will accept 'Y' or 'N' ('S' or 'N') in some places but only '1' or '2' in others to get the same response.
Chose one or the other. This is easy enough to do if you get your responses using specific routines.
PowerBall is a well known name even in Latino countries, but I don't think Mega Ball is.
My Spanish isn't that great when it comes to computer terms. I used the verb "entrar" for 'entering <some sequence of keys>'.
Another verb that might have been used is "introducir", as in "introduzca 2".
The Spanish teclado will not usually have a word printed on the ENTER key, but if it does it will often be 'Entrar' or 'Entran'.
Here are your second and third listings:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
cout << "Los Números Principales, en ordén de sacar, son " << endl;
cout << endl << "los Números Poderosos son " << endl;
cout << "Los Números Principales, en orden creciente, son \n" << endl;;
cout << "Los Números Poderosos, en orden creciente, son \n" << endl;;
cout << "¿Cuántos juegos de números le gustería producir para éste juego?\n";
cout << "¿Regresar al menú principal? S / N " << endl;
cout << "Bienvenida al ensayo beta de mi nueva Software Productor de Números Lotería al Azar. " << endl;
_1:
cout << "A cualquier tiempo Apreta 'Ctrl - C' para terminar. " << endl << endl;;
cout << "Si le gustaría ver los Números Lotería en orden creciente apreta 1. (Entrar) " << endl;
cout << "Si le gustaría ver los Números Lotería en orden de produccíon apreta 2. (Entrar) " << endl;
cout << "A ver los números in orden creciente y en orden de produccíon apreta 3. (Entrar) " << endl;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
cout << "Apreta 1 si le gustaría usar el Lotto Machine. " << endl;
cout << "Apreta 2 si le gustaría producir del generador del número pseudaleatorio. " << endl;
cout << "El método 2 requiere la menos interacción del usuario. " << endl;
cout << "De otro modo, el método 1 produce los resultados más al azar. \n";
cout << endl << "Apreta 1 si le gustaría mostrar sólo a la pantalla. " << endl;
cout << "Apreta 2 si le gustaría guardar a archivo también. " << endl;
cout << "entra nombre de archivo " << endl;
cout << "¿Cuál es la Gama de sus números principales? " << endl;
cout << "¿Se permite que se duplicar? 1 para sí 2 para no. " << endl;
Si los números principales empiezan con & incluye '0', entra 0. En otro caso entra el intervalo sobre 0 al cual comienzan los números principales. (Entonces para tipos de jugetes como o PowerBall o Mega Millions entraría el 1. " << endl;
cout << "Selección Inválido. " << endl;
cout << "Entra 1 para accionar la palanca de la opción 'Orden Creciente'. " << endl;
cout << "Entra 2 para accionar la palanca de la opción Método. " << endl;
cout << "Entra 3 para accionar la palanca de la opción usar un archivo. " << endl;
cout << "Entra 10 para regresar. " << endl;
cout << "ordinal_choice = " << ordinal_choice << " " << endl;
cout << "method_choice = " << method_choice << " " << endl;
cout << "file_choice = " << file_choice << " " << endl;
|
I've also noted that label on line 10 of your second listing. Please, please, please get rid of your gotos. You don't need them, and they will make your UI almost impossible to improve and maintain.
You may have noticed that I have a lot to say about user interface issues. Most programmers have the idea that they are some sort of esoteric, impossible to understand thing. The real trick comes from two directions:
1. (Most important) Your program should behave the way the
user thinks it should.
2. Modular interface routines. Make sure everything has a procedural base (using routines).
For example, if you must ask a yes or no question, have a routine that does it, and returns a proper response. That way
all the code that actually does it is in just
one spot, and throughout the rest of your program you only need to call that one routine. If a specific piece of code changes (say, you must ask for three responses), then you can change that one piece of code to call a different routine.
Now when Yeseña Hernandez, who knows how to use Facebook and Solitaire, wants to use your program, she can expect to be asked a couple of questions and have most everything else done for her. Likewise for Franz Gröber, an IT expert, uses your program, he can expect the same simple questions but also know how to follow incidental dialogues and/or documentation on switches to do something oddball if he wants.
Oh, also, keep in mind that I haven't had but a few moments to do the translations -- punctuated by periods of feeding chickens, going to Christmas parties, etc.
Hope this helps.