0% encontró este documento útil (0 votos)
55 vistas16 páginas

Programa 07

Este documento describe un programa que presenta un menú de usuario con 13 opciones diferentes. El usuario puede seleccionar una opción para ejecutarla, y después de terminar se limpia la pantalla y se muestra nuevamente el menú. Este ciclo continúa hasta que el usuario selecciona la opción 0 para salir. Se incluye el código principal y la función del menú, así como ejemplos del código y resultados para algunas de las 13 opciones del menú.

Cargado por

Eric Fernández
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
55 vistas16 páginas

Programa 07

Este documento describe un programa que presenta un menú de usuario con 13 opciones diferentes. El usuario puede seleccionar una opción para ejecutarla, y después de terminar se limpia la pantalla y se muestra nuevamente el menú. Este ciclo continúa hasta que el usuario selecciona la opción 0 para salir. Se incluye el código principal y la función del menú, así como ejemplos del código y resultados para algunas de las 13 opciones del menú.

Cargado por

Eric Fernández
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programa 07

Eric Fernández Barrio


GRETA 15
Nota: código fuente completo en página 12

El programa consiste en un menú de usuario en el que aparecen 13 programas a elegir


escribiendo un número y presionando enter. Después de terminar de ejecutarse la acción
elegida por el usuario, se le pide que presione una tecla, con lo que se limpia la pantalla y
se vuelve a mostrar el menú de usuario. Este ciclo continúa hasta que el usuario presiona 0,
con lo que sale del programa.

A continuación se observa el esqueleto del código (main y userMenu) y un ejemplo del


funcionamiento del menú de usuario.

Código main y userMenu:

int main(){

system ("color 1E");

int option=-1;

while (option!=0){

userMenu();
cin>>option;
cout<<endl;

switch (option){

case 0: break;
case 1: subprog01(); break;
case 2: subprog02(); break;
case 3: subprog03(); break;
case 4: subprog04(); break;
case 5: subprog05(); break;
case 6: subprog06(); break;
case 7: subprog07(); break;
case 8: subprog08(); break;
case 9: subprog09(); break;
case 10: subprog10(); break;
case 11: subprog11(); break;
case 12: subprog12(); break;
case 13: subprog13(); break;

1
default: cout<<"Opcion no valida"<<endl<<endl;

}
cout<<endl<<endl;
system("pause");
}
}

void userMenu(){

system("cls");

cout<<"Programa06b\nAutor: Eric Fernandez\nFecha: 4/10/2023\n\n";


cout<<"Elige una opcion: "<<endl<<endl;

cout<<"Opcion01: Escribe en pantalla los numeros del 1 al 10\n";


cout<<"Opcion02: Escribe los numeros del 1 al 10 en sentido decreciente\n";
cout<<"Opcion03: Escribe los numeros pares del 0 al 14\n";
cout<<"Opcion04: Escribe los numeros impares del 0 al 20 \n";
cout<<"Opcion05: Escribe los numeros entre 0 y N \n";
cout<<"Opcion06: Escribe los numeros entre de N1 a N2 en sentido ascendente (con N1 y N2 entre 0
y 20) \n";
cout<<"Opcion07: Escribir de 0 a 99 y de 99 a 0 en dos columnas\n";
cout<<"Opcion08: Altura alumnos\n";
cout<<"Opcion09: Serie de Fibonacci\n";
cout<<"Opcion10: Suma y media Fibonacci\n";
cout<<"Opcion11: Factorial\n";
cout<<"Opcion12: Numero total de granos de trigo (casillas ajedrez)\n";
cout<<"Opcion13: Tabla de multiplicacion del 1 al 10\n";

Ejemplo de funcionamiento:

2
A continuación se muestra el código para cada una de las opciones y una imagen con el
resultado que ve el usuario:

Opción 1: Escribe en pantalla los números del 1 al 10

Código:

void subprog01(){

cout<<"\n------------------------------Subprograma 01------------------------------\n";

for(int num=0; num<10; num++) {


cout<<num<<" "; Sleep (100);
if (num%5==4) cout<<endl;
}
}

Ejemplo de funcionamiento:

Opción 2: Escribe los números del 1 al 10 en sentido decreciente

Código:

void subprog02(){

cout<<"\n------------------------------Subprograma 02------------------------------\n";

for (int num=9; num>=0; num--){


cout<<num<<" "; Sleep (100);
if (num%5==0) cout<<endl;
}
}

Ejemplo de funcionamiento:

3
Opción 3: Escribe los números pares del 0 al 14

Código:

void subprog03(){

cout<<"\n------------------------------Subprograma 03------------------------------\n";

for (int num=0; num<=14; num+=2) cout<<num<<" ";


}

Ejemplo de funcionamiento:

Opción 4: Escribe los números impares del 0 al 20

Código:

void subprog04(){

cout<<"\n------------------------------Subprograma 04------------------------------\n";

for (int num=1; num<=20; num+=2) cout<<num<<" ";


}

Ejemplo de funcionamiento:

Opción 5: Escribe los números entre 0 y N

Código:

void subprog05(){

cout<<"\n------------------------------Subprograma 05------------------------------\n";

int N; cout<<"Indica un numero: "; cin>>N; cout<<endl;


for (int num=0; num<=N; num++) cout<<num<<" ";
}

Ejemplo de funcionamiento:

4
Opción 6: Escribe los números entre de N1 a N2 en sentido ascendente
(con N1 y N2 entre 0 y 20)

Código:

void subprog06(){

cout<<"\n------------------------------Subprograma 06------------------------------\n";

int N1, N2, valor; cout<<"Indica dos numeros entre 0 y 20: "; cin>>N1>>N2; cout<<endl;

if (N1<=20&&N1>=0&&N2<=20&&N2>=0) {

if (N1>N2) {
valor=N1; N1=N2; N2=valor;
}
for (N1; N1<=N2; N1++) cout<<N1<<" ";

else cout<<"Los dos numeros no estan entre 0 y 20 \n";


}

Ejemplo de funcionamiento:

5
Opción 7: Escribe de 0 a 99 y de 99 a 0 en dos columnas

Código:

void subprog07(){

cout<<"\n------------------------------Subprograma 07------------------------------\n";

for (int num=0; num<100; num++){


cout<<num<<" ";
if (num%10==9) cout<<endl;
}

cout<<endl<<endl<<"-----------------------------"<<endl<<endl;

for (int num=99; num>=0; num--){


cout<<num<<" ";
if (num%10==0) cout<<endl;
}

Ejemplo de funcionamiento:

6
Opción 8: Escribe un fichero con los datos de 5 alumnos

Código:

void subprog08(){

cout<<"\n------------------------------Subprograma 08------------------------------\n\n";

string nombre, apellido1, apellido2; int altura;


ofstream fout ("[Link]");

cout<<"Indica el nombre, los apellidos y la altura (cm) de 5 alumnos de la clase:\n";

for (int i=1; i<=5; i++){


cout<<"Alumno "<<i<<": ";
cin>>nombre>>apellido1>>apellido2>>altura;
fout<<"Alumno "<<i<<" "<<nombre<<" "<<apellido1<<" "<<apellido2<<" : "<<altura<<" cm\n";
}

Ejemplo de funcionamiento:

7
Opción 9: Escribe un fichero con la serie de Fibonacci

Código:

void subprog09(){

cout<<"\n------------------------------Subprograma 09------------------------------\n\n";

int N, valor1=1, valor2=1, intermedio;


ofstream fout ("[Link]");
cout<<"Cuantos valores de la serie de Fibonacci quieres saber? "; cin>>N;

for (int i=1; i<=N; i++){


fout<<valor1<<" ";
intermedio=valor2;
valor2+=valor1;
valor1=intermedio;
}
}

Ejemplo de funcionamiento:

Opción 10: Suma y media de la serie de Fibonacci

Código:

void subprog10(){

cout<<"\n------------------------------Subprograma 10------------------------------\n\n";

ifstream fin ("[Link]"); int valor, suma=0, contador=0;


while (fin>>valor){
suma+=valor; contador++;
}
cout<<"La suma de la serie es de "<<suma<<" y la media de "<<float(suma)/contador;
}

Ejemplo de funcionamiento:

8
Opción 11: Calcula el factorial de un número

Código:

void subprog11(){

cout<<"\n------------------------------Subprograma 11------------------------------\n\n";

int num, fact=1;


cout<<"Indica un numero para calcular su factorial: "; cin>>num;
for (num; num>0; num--) fact=fact*num;
cout<<"Su factorial es "<<fact;
}

Ejemplo de funcionamiento:

Opción 12: Número total de granos de trigo (casillas ajedrez)

Código:

void subprog12(){

cout<<"\n------------------------------Subprograma 12------------------------------\n\n";

int trigo=1; long total=1;


for (int i=1; i<64; i++){
trigo*=2; total+=trigo;
}
cout<<"El rey tuvo que pagar "<<total<<" granos de trigo";
}

Ejemplo de funcionamiento:

9
Explicación del resultado anterior:

Podemos observar que el ordenador no es capaz de calcular un número tan grande, por eso
el resultado que se muestra en pantalla no es correcto (-1). Si probamos con un número
más pequeño (por ejemplo, imaginando que el tablero de ajedrez tiene 4 o 16 casillas) sí
podemos observar el resultado correcto del número de granos de trigo que tendría que
pagar el rey en los respectivos casos, como se ve a continuación:

void subprog12(){

cout<<"\n------------------------------Subprograma 12------------------------------\n\n";

int trigo=1; long total=1;


for (int i=1; i<(4, 16, o cualquier otro número); i++){
trigo*=2; total+=trigo;
}
cout<<"El rey tuvo que pagar "<<total<<" granos de trigo";
}

10
Opción 13: Tabla de multiplicación del 1 al 10

Código:

void subprog13(){

cout<<"\n------------------------------Subprograma 13------------------------------\n\n";

cout<<"\t X |\t";
for(int i=1; i<=10; i++) cout<<i<<"\t";
cout<<endl<<" -------------------------------------------------------------------------------------\n";

for (int i=1; i<=100; i++){


int i1, i2;

if (i%10!=0) {i1=i%10; i2=i/10+1;}


else {i1=i-10*(i/10-1); i2=i/10;}

if (i1==1) cout<<"\t "<<i2<<" |\t";


cout<<i1*i2<<"\t";
if (i%10==0) cout<<endl;
}
}

Ejemplo de funcionamiento:

11
Código fuente completo:
/*
Programa07
Autor: Eric Fernández
Fecha: 7/10/2023
*/

#include <windows.h>
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

void userMenu();

void subprog01();
void subprog02();
void subprog03();
void subprog04();
void subprog05();
void subprog06();
void subprog07();
void subprog08();
void subprog09();
void subprog10();
void subprog11();
void subprog12();
void subprog13();

int main(){

system ("color 1E");

int option=-1;

while (option!=0){

userMenu();
cin>>option;
cout<<endl;

switch (option){

case 0: break;
case 1: subprog01(); break;
case 2: subprog02(); break;
case 3: subprog03(); break;
case 4: subprog04(); break;
case 5: subprog05(); break;
case 6: subprog06(); break;
case 7: subprog07(); break;
case 8: subprog08(); break;

12
case 9: subprog09(); break;
case 10: subprog10(); break;
case 11: subprog11(); break;
case 12: subprog12(); break;
case 13: subprog13(); break;

default: cout<<"Opcion no valida"<<endl<<endl;

}
cout<<endl<<endl;
system("pause");
}

void userMenu(){

system("cls");

cout<<"Programa07\nAutor: Eric Fernandez\nFecha: 7/10/2023\n\n";


cout<<"Elige una opcion: "<<endl<<endl;

cout<<"Opcion01: Escribe en pantalla los numeros del 1 al 10\n";


cout<<"Opcion02: Escribe los numeros del 1 al 10 en sentido decreciente\n";
cout<<"Opcion03: Escribe los numeros pares del 0 al 14\n";
cout<<"Opcion04: Escribe los numeros impares del 0 al 20 \n";
cout<<"Opcion05: Escribe los numeros entre 0 y N \n";
cout<<"Opcion06: Escribe los numeros entre de N1 a N2 en sentido ascendente (con N1 y N2 entre 0 y 20)
\n";
cout<<"Opcion07: Escribe de 0 a 99 y de 99 a 0 en dos columnas\n";
cout<<"Opcion08: Escribe un fichero con los datos de 5 alumnos\n";
cout<<"Opcion09: Escribe un fichero con la serie de Fibonacci\n";
cout<<"Opcion10: Suma y media de la serie de Fibonacci\n";
cout<<"Opcion11: Calcula el factorial de un numero\n";
cout<<"Opcion12: Numero total de granos de trigo (casillas ajedrez)\n";
cout<<"Opcion13: Tabla de multiplicacion del 1 al 10\n";

void subprog01(){

cout<<"\n------------------------------Subprograma 01------------------------------\n";

for(int num=0; num<10; num++) {


cout<<num<<" "; Sleep (100);
if (num%5==4) cout<<endl;
}

void subprog02(){

13
cout<<"\n------------------------------Subprograma 02------------------------------\n";

for (int num=9; num>=0; num--){


cout<<num<<" "; Sleep (100);
if (num%5==0) cout<<endl;
}

void subprog03(){

cout<<"\n------------------------------Subprograma 03------------------------------\n";

for (int num=0; num<=14; num+=2) cout<<num<<" ";

void subprog04(){

cout<<"\n------------------------------Subprograma 04------------------------------\n";

for (int num=1; num<=20; num+=2) cout<<num<<" ";

void subprog05(){

cout<<"\n------------------------------Subprograma 05------------------------------\n";

int N; cout<<"Indica un numero: "; cin>>N; cout<<endl;


for (int num=0; num<=N; num++) cout<<num<<" ";
}

void subprog06(){

cout<<"\n------------------------------Subprograma 06------------------------------\n";

int N1, N2, valor; cout<<"Indica dos numeros entre 0 y 20: "; cin>>N1>>N2; cout<<endl;

if (N1<=20&&N1>=0&&N2<=20&&N2>=0) {

if (N1>N2) {
valor=N1; N1=N2; N2=valor;
}
for (N1; N1<=N2; N1++) cout<<N1<<" ";

else cout<<"Los dos numeros no estan entre 0 y 20 \n";


}

void subprog07(){

cout<<"\n------------------------------Subprograma 07------------------------------\n";

for (int num=0; num<100; num++){


cout<<num<<" ";
if (num%10==9) cout<<endl;

14
}

cout<<endl<<endl<<"-----------------------------"<<endl<<endl;

for (int num=99; num>=0; num--){


cout<<num<<" ";
if (num%10==0) cout<<endl;
}

void subprog08(){

cout<<"\n------------------------------Subprograma 08------------------------------\n\n";

string nombre, apellido1, apellido2; int altura;


ofstream fout ("[Link]");

cout<<"Indica el nombre, los apellidos y la altura (cm) de 5 alumnos de la clase:\n";

for (int i=1; i<=5; i++){


cout<<"Alumno "<<i<<": ";
cin>>nombre>>apellido1>>apellido2>>altura;
fout<<"Alumno "<<i<<" "<<nombre<<" "<<apellido1<<" "<<apellido2<<" : "<<altura<<" cm\n";
}

void subprog09(){

cout<<"\n------------------------------Subprograma 09------------------------------\n\n";

int N, valor1=1, valor2=1, intermedio;


ofstream fout ("[Link]");
cout<<"Cuantos valores de la serie de Fibonacci quieres saber? "; cin>>N;

for (int i=1; i<=N; i++){


fout<<valor1<<" ";
intermedio=valor2;
valor2+=valor1;
valor1=intermedio;
}

void subprog10(){

cout<<"\n------------------------------Subprograma 10------------------------------\n\n";

ifstream fin ("[Link]"); int valor, suma=0, contador=0;

while (fin>>valor){
suma+=valor; contador++;
}

cout<<"La suma de la serie es de "<<suma<<" y la media de "<<float(suma)/contador;

15
}

void subprog11(){

cout<<"\n------------------------------Subprograma 11------------------------------\n\n";

int num, fact=1;


cout<<"Indica un numero para calcular su factorial: "; cin>>num;
for (num; num>0; num--) fact=fact*num;
cout<<"Su factorial es "<<fact;
}

void subprog12(){

cout<<"\n------------------------------Subprograma 12------------------------------\n\n";

int trigo=1; long total=1;


for (int i=1; i<16; i++){
trigo*=2; total+=trigo;
}
cout<<"El rey tuvo que pagar "<<total<<" granos de trigo";
}

void subprog13(){

cout<<"\n-------------------------------------------Subprograma 13-------------------------------------------\n\n";

cout<<"\t X |\t";
for(int i=1; i<=10; i++) cout<<i<<"\t";
cout<<endl<<" -------------------------------------------------------------------------------------\n";

for (int i=1; i<=100; i++){


int i1, i2;

if (i%10!=0) {i1=i%10; i2=i/10+1;}


else {i1=i-10*(i/10-1); i2=i/10;}

if (i1==1) cout<<"\t "<<i2<<" |\t";


cout<<i1*i2<<"\t";
if (i%10==0) cout<<endl;
}

16

También podría gustarte