miércoles, 7 de mayo de 2025

02.- Programación I - Parcial Nro. 2 (Solución del Profesor)

  



Solución

/* Programa parcial Nro. 2 - Modelo 3
cátedra: programación I
Profesor: Carlos Ferrer
Semestre (2025-II)
Rev. mayo 2025
*/

#include <iostream>
#include <windows.h>
#include <locale.h>
#include <conio.h>
#include <time.h>
using namespace std;

main()
{
char opcion;
int aux,i,j=0;
float numero;
string frase;
string palabras[100];

setlocale(LC_ALL,"spanish");

// Aplicamos técnica del Kbit / getch

cout <<"ingrese opción según instrucciones ";
repetir:
if (kbhit!=0)
{
opcion=getch();
if (opcion=='N' or opcion=='n')
{
goto Aleatorio1;
}
if (opcion=='$')
{
goto Aleatorio2;
}
}
Beep(250,250);
goto repetir;

//Generamos un numero aleatorio entre -33 y 35

Aleatorio1:
system ("cls");
srand(time(NULL));
aux= -33 + rand()%89;


//Validamos si el numero aleatorio es impar, lo imprimimos y nos salimos del programa

if (aux%2!=0)
{
cout <<"Numero aleatorio impar entre -33 y 35 = ";
cout <<aux<<endl<<endl;
return 0;
}
//Si el numero es par ingresamos la frase

cout <<"El numero aleatorio fue par = "<<aux<<endl<<endl;
nuevamente:
cout <<"Ingrese frase de mínimo cuatro (4) palabras = "<<endl;
getline (cin,frase);

//Validamos si la frase tiene mínimo 4 palabras

for (i=0;i<=frase.size()-1;i=i+1)
{
if(frase[i]==' ')
{
j=j+1;
}
}


if (j<3)
{
j=0;
cout <<"La frase debe ser de 4 palabras!!!";
Beep(250,250);
Sleep (1000);
system ("cls");
goto nuevamente;
}

//Separamos las palabras de la frase en un arreglo string (Palabra por palabra)
j=1;
for (i=0;i<=frase.size()-1;i=i+1)
{
if(frase[i]!=' ')
{
palabras[j]=palabras[j]+frase[i];
}
else 
{
j=j+1;
}
}


//imprimimos las palabras del arreglo en sentido inverso y nos salimos del programa

j=1;

cout <<endl<<"La frase con las letras de cada palabra invertida es:"<<endl;
while (palabras[j].size()>0)
{
for(i=palabras[j].size()-1;i>=0;i=i-1)
{
cout <<palabras[j][i];
}
j=j+1;
cout<<" ";
}
cout <<endl;
return 0;

//Creamos los 10 números aleatorios y los imprimimos en pantalla

Aleatorio2:
system ("cls");
cout <<"Numeros aleatorios :";
srand(time(NULL));
for(i=1;i<=10;i=i+1)
{
aux= -5 + rand()%41;
numero=aux;
numero=numero/10;
cout <<numero;
if (i<=9)
{
cout <<" / ";
}
Beep(500,500);
}
}

No hay comentarios.:

Publicar un comentario