Está en la página 1de 7

Practica 6 de Programación

1. Dar un ejercicio que permita la declaración de un puntero a char y de la utilización


de los operadores de referencia (&) y desreferencia (*) utilizando funciones.
Código
# include <iostream>
#include<conio.h>
using namespace std;
void func(char *); // prototipo: argumento definido como puntero-a-char
main ()
{
char x = 'a';
char * ptr = &x;
cout<<x <<endl;
cout<<ptr <<endl;
cout<<*ptr <<endl;
func (ptr); // se pasa puntero-a-char como argumento
cout << "El valor es ahora: " << x << endl;
getch();
return (0);
}
void func (char * p) // el argumento se define como puntero-a-char
{
char y;
cout<<"Ingrese una nueva Letra: ";
cin>>y;
*p =y ; // el argumento es tratado como puntero
}
2. Simular una máquina expendedora galletas. Crear un menú con las siguientes
opciones:

****************************************
1. Seleccionar producto
2. Pagar y dar vuelto
3. Salir
Seleccione opción: …..

● Para la opción “Seleccionar producto” presentar

***************************************
a. Galleta A S/. 1.00
b. Galleta B S/. 1.50
c. Galleta C S/. 2.00
Elegir opción: …..

● Para la opción “Pagar y dar vuelto” presentar

***************************************
Precio _ _ _ _ _ (debe aparecer precio de producto seleccionado)
Monto _ _ _ _ _ (monto que paga el cliente, verificar que no es menor que precio)

Finalmente, en el programa principal debe mostrar:


Usted compró (nombre del producto ) de precio (precio)
Pagó (monto) y su vuelto es (vuelto)
Usar funciones y paso de parámetros.

Código
#include <iostream>
#include <stdio.h>
using namespace std;
int sp(float *puntpp){
int sw;
char r;
float pp;
cout<<"\t\t****************************"<<endl;
cout<<"\t\t"<<"Seleccionar producto"<<endl;
cout<<"\t\t\t"<<"a.Galleta A S/. 1.00"<<endl;
cout<<"\t\t\t"<<"b.Galleta B S/. 1.50"<<endl;
cout<<"\t\t\t"<<"c.Galleta C S/. 2.00"<<endl;
cout<<"\t\t\t\t\t"<<"Elegir opcion: ";
cin>>r;
switch(r){
case 'a': pp=1.0;
*puntpp=pp;
sw=1;
break;
case 'b': pp=1.5;
*puntpp=pp;
sw=2;
break;
case 'c': pp=2.0;
*puntpp=pp;
sw=3;
break;
default : cout<<"\n Error pulse a,b,c"<<endl;
break;

}
return sw;
}
int main()
{
int op,seleccion;
char r;
float pp=0,mp,vuelto;
do{
cout <<"\t\t******************" << endl;
cout<<"\t\t\t"<<"MENU"<<endl;
cout<<"\t\t"<<"1. Seleccionar producto"<<endl;
cout<<"\t\t"<<"2. Pagar y dar vuelto"<<endl;
cout<<"\t\t"<<"3. Salir"<<endl;
cout<<"\t\t\t\t"<<"Seleccione opcion: ";
cin>>op;
switch(op){
case 1:seleccion=sp(&pp);
break;
case 2:cout<<"\n Pagar y dar vuelto";
cout<<"\n Precio del producto: "<<pp;
do{
cout<<"\n Monto con el que paga: ";
cin>>mp;
}while(mp<pp);
switch(seleccion){
case 1: cout<<"\n Usted compro: Galleta A de precio S/ 1.00"<<endl;
cout<<"\n Pago con: S/."<<mp<<" su vuelto es: S/."<<(mp-
pp)<<endl;
vuelto=mp-pp;
printf("\n Pago con: S/. %8.2f su vuelto es: S/. %8.2f",mp,vuelto);
printf("\n");
break;
case 2: cout<<"\n Usted compro: Galleta B de precio S/ 1.50"<<endl;
cout<<"\n Pago con: S/."<<mp<<" su vuelto es: S/."<<(mp-
pp)<<endl;
break;
case 3: cout<<"\n Usted compro: Galleta C de precio S/ 2.00"<<endl;
cout<<"\n Pago con: S/."<<mp<<" su vuelto es: S/."<<(mp-
pp)<<endl;
break;
}
break;
case 3:break;

}
}while(op!=3);

return 0;
}
3. Elaborar un programa que permita leer dos números: en un caso, la base y el
exponente, que llame a una función que eleve el número a la potencia, en otro
caso hallar el producto de dichos números utilizando sumas, en un tercer caso un
número es la raíz del otro, al regresar al módulo principal que imprima los
resultados.
Código
#include <iostream>
#include <math.h>
using namespace std;
int potencia(int n1, int n2);
int producto(int n1, int n2);
float raiz(int n1, int n2);
int main(){
float n1,n2,poten,prod,rz;
cout<<"Ingrese dos numeros "<<endl;
cin>>n1>>n2;
poten=potencia(n1,n2);
prod=producto(n1,n2);
rz=raiz(n1,n2);
cout<<"La resultado de "<<n1<<" elevado a "<<n2<<" es: "<<poten<<endl;
cout<<"El resultado de "<<n1<<" por "<<n2<<" es "<<prod<<endl;
cout<<"La resultado de la radicacion con radicando "<<n1<<" y con indice
"<<n2<<" es: "<<rz<<endl;

}
int potencia(int n1, int n2){
float pot;
pot = pow(n1,n2);
return pot;
}
int producto(int n1, int n2){
int i, suma = 0;
for(i=0;i<n2;i++)
suma = suma + n1;
return suma;
}
float raiz(int n1, int n2){
float r;
r = pow(n1,1.0/n2);
return r;
}

También podría gustarte