Está en la página 1de 6

Realice un programa en el que se muestre un menú y las opciones cumplan

con las siguientes descripciones:


1. Se ingrese diferentes notas, cuando se ingrese el número 100 se
considera que se terminaron de ingresar las notas y saca el promedio
de todas las anteriores ingresadas.
2. El usuario indica la cantidad de notas que desea ingresar, el programa
pide cada una de las notas y las almacena en un vector, luego el
vector con todas las notas y al final indica cual es promedio de las
mismas.
3. El programa solicita información (filas y columnas) de 2 matrices
(independientes) luego pode los datos de la matriz y si las matrices
son del mismo orden muestra una nueva matriz que es el resultado
de la suma de las 2 primeras, sino se cumple la condición muestra
que no se puede realizar la suma por ser matrices de diferentes
órdenes.
SOLUCION
#include <iostream>

using namespace std;


void main(void)
{
#define max 30

float n, ac = 0, s = 0, p;
int opc,notas[max],nn;
int m1[max][max], m2[max][max], ms[max][max], i, j, fil1, col1, fil2, col2;

cout << "\t\tMENU\n";


cout << "(1) Promedio -hasta que la nota tenga el valor de 100-\n";
cout << "(2) Promedio de n notas -usando vector-\n";
cout << "(3) Suma de matrices -solo si tienen las mismas dimensiones-\n\n";

cout << "Ingrese la opcion que desea: ";


cin >> opc;

switch (opc)
{

//caso 1
case 1:
cout << "\n\n\n";
//Fines de presentacion
do{
//Inicio del comando do-while
cout << "Ingrese la nota " << s + 1 <<": ";
cin >> n;
ac = ac + n;
//acumulado de notas (suma total de notas)
s = s + 1;
//sumador de notas (saber cuantas notas se
ingresaron)
} while (n != 100);
//Fin del comando do-while (este while lleva ";"
porque pertenece al do)
//si la nota es distinta de 100 regresa, sino sale del bucle

ac = ac - 100;
//para restar el 100 ya que no es una nota,
solo indica el final del ingreso de notas
s = s - 1;
//para restar una nota (como cantidad) ya
que 100 no es nota
p = ac / s;
cout << "\n\nEl promedio de las notas es: " << p << endl;

break;
//fin caso
1-----------------------------------------------------------------------------------
------------
//Caso 2
case 2:
cout << "\n\n\n";
//Fines de presentacion
cout << "Ingrese cuantas notas desea promediar: ";
cin >> nn;

//Solicitando informacion del vector notas


cout << "\n\n";
//Fines de presentacion
for (i = 0; i < nn; i++)
//creacion del vector notas
{
cout << "Ingrese la nota " << i + 1 << ": ";
cin >> notas[i];
}

//Mostarndo el vector notas y acumulando las notas


cout << "\n\n";
//Fines de presentacion
for (i = 0; i < nn; i++)
{
cout << notas[i] << "\t";
//mostrar las notas
ac = ac + notas[i];
//acumulando las notas en ac
}

//Mostrando el promedio
cout << "\n\n";
//Fines de presentacion
p = ac / nn;
cout << "El promedio de las notas ingresadas es " << p << endl;

break;
//fin caso 2
------------------------------------------------------------------------------------
-----------

//Caso 3
case 3:

//Solicitando Informacion de la matriz 1


cout << "\nParametros para matriz 1" << endl;
// endl --> "\n"
cout << "Ingrese el numero de filas de la matriz 1:\t";
cin >> fil1;
cout << "Ingrese el numero de columnas de la matriz 1:\t";
cin >> col1;
cout << "\n";
//---------------------------------------------------------

//Solicitando informacion de la matriz 2


cout << "\nParametros para matriz 2" << endl;
// endl --> "\n"
cout << "Ingrese el numero de filas de la matriz 2:\t";
cin >> fil2;
cout << "Ingrese el numero de columnas de la matriz 2:\t";
cin >> col2;
cout << "\n";
//---------------------------------------------------------

//Solicitar los datos de la matriz 1


cout << "\n";
cout << "Datos para la matriz 1" << endl;
for (i = 0; i < fil1; i++)
{
for (j = 0; j < col1; j++)
{
cout << "Ingrese el dato [" << i + 1 << "][" << j + 1 <<
"]: ";
cin >> m1[i][j];
}
}
//-----------------------------------------------------------

//Solicitar los datos de la matriz 2


cout << "\n";
cout << "Datos para la matriz 2" << endl;
for (i = 0; i < fil2; i++)
{
for (j = 0; j < col2; j++)
{
cout << "Ingrese el dato [" << i + 1 << "][" << j + 1 <<
"]: ";
cin >> m2[i][j];
}
}
//-----------------------------------------------------------

//mostrar los datos de la matriz 1


cout << "\n\nLa matriz 1 ingresada es: \n\n";
for (i = 0; i < fil1; i++)
{
for (j = 0; j < col1; j++)
{
cout << m1[i][j] << "\t";
}
cout << "\n";
}
//-----------------------------------------------------------
//mostrar los datos de la matriz 2
cout << "\n\nLa matriz 2 ingresada es: \n\n";
for (i = 0; i < fil2; i++)
{
for (j = 0; j < col2; j++)
{
cout << m2[i][j] << "\t";
}
cout << "\n";
}
//-----------------------------------------------------------

//SUMA DE LAS MATRICES


if ((fil1 == fil2) && (col1 == col2))
//Condicion de igualdad de filas y columnas
{
//Calculando la matriz SUMA
for (i = 0; i < fil1; i++)
{
for (j = 0; j < col1; j++)
{
ms[i][j] = m1[i][j] + m2[i][j];
}
}

//Mostrando la matriz SUMA

cout << "\n\nLa matriz suma resultante es: \n";


for (i = 0; i < fil1; i++)
{
for (j = 0; j < col1; j++)
{
cout << ms[i][j] << "\t";
}
cout << "\n";
}

}
//fin del lado verdadero de la condicion

else
{
//En caso falso
cout << "\n\n\nNo se pueden sumar las matrices porque son de
diferentes tamaños\n";
}

break;
//fin caso 3
------------------------------------------------------------------------------------
-----------

default:
//Los demas casos
cout << "\n\nError, opcinon no valida. \n";
break;
}

cout << "\n\n";


system("pause");
}

También podría gustarte