ejercicios resueltos de programas en c++ (parte 3)

31
Programació n C++ (3)

Upload: isis-janett-chama-rodriguez

Post on 05-Aug-2015

116 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Ejercicios Resueltos de Programas en C++ (Parte 3)

Programación C++ (3)

Page 2: Ejercicios Resueltos de Programas en C++ (Parte 3)

El algoritmo de intercambio de variables consiste en leer 2 números, e intercambiar el contenido de las mismas, por ejemplo:

A= 5 A=7B=7 B=5Lectura intercambio

Al final imprimir los valores leídos y los valores

intercambiados. Preguntar si desea continuar.

Ejercicio #6:

Page 3: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<stdio.h>#include<conio.h>

int intercambio (int, int, int);

void main(){

int a, b, aux, inter, resp;

do{clrscr ();

printf("\nDame dos numeros: "); scanf ("%d%d", &a, &a);

printf("\na=%d b=%d",b , b);

aux=a; a=b ; b=aux;

printf("\nb=%d a=%d ",b ,a ); getch ();

printf ("\n¿Desea continuar Si=1, No=0?"); scanf ("%d", &resp); } while (resp==1);

getch (); } int intercambio (int a, int aux, int b){

return (a=aux, a=b, b=aux); }

• Con Programación Básica…

Page 4: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerías#include<conio.h>#include<ctype.h> class intercambio { //nombre de la clasepublic: //especificador de acceso int A,B,aux; //variables intercambio(){ //constructor cout<<"se construye el objeto"<<endl;} ~intercambio(){ //destructor cout<<endl<<"se destruye";} void ejecuta(int a,int b){ cout<<endl<<"los valores originales fueran:"<<a<<""<<b; aux=a; a=b; b=aux; cout<<endl<<"los valores intercambiados son:"<<a<<""<<b; }}; //fin de la clase 

void main(){ //función principalintercambio i;do{ //inicia el ciclo controlado  cout<<"\ndame 2 números:"; //solicita el dato cin>>i.A>>i.B; i.ejecuta(i.A,i.B); cout<<endl<<"\npara continuar pulse cualquier tecla, para salir pulse la tecla 'N'";}while(tolower(getch))!='n');}

• Con Programación Orientada a Objetos

Page 5: Ejercicios Resueltos de Programas en C++ (Parte 3)

Elaborar un programa que lea una temperatura en grados Fahrenheit y lo convierta a grados Celsius, la formula para la conversión es la siguiente (al final Preguntar si desea continuar):

Celsius= (F-32)*

Ejercicio #7:

Page 6: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<stdio.h>#include<conio.h>

float celsius (float);

void main(){

float f, cel ;int resp;

do{clrscr ();

printf("\nDame grados Fahrenheit:"); scanf("%f",&f);

cel=celsius (f);

printf("\nLos grados Celcius son:%.1f", cel); getch(); printf ("\n¿Desea continuar Si=1, No=0?\n"); scanf ("%d", &resp); } while (resp==1);

getch (); }

float celsius (float f){ return ((f-32)*9/5); }

• Con Programación Básica…

Page 7: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerías#include<conio.h>#include<ctype.h>class convertir{ //nombre de la clasepublic: //especificador de acceso  int gf; //variables  convertir(){ //constructor cout<<"se construye.."<<endl;} ~convertir(){ //destructor cout<<endl<<"se destruye";}  int celsius(int gf){ return((gf-32)*9/6); } }; //fin de la clase 

void main(){ //función principal convertir grados; int c; //variables do{ //inicia el ciclo controlado  cout<<endl<<"introduzca grados en fahrenheit:"; //solicita el dato cin>>grados.gf;  c=grados.celsius(grados.gf);  cout<<endl<<"equivalencia de"<<grados.gf<<"F a celsius es:"<<c<<"c";  cout<<endl<<"para continuar pulsa cualquier tecla para salir 'n'"; }while(toupper(getch())!='N'); }

• Con Programación Orientada a Objetos

Page 8: Ejercicios Resueltos de Programas en C++ (Parte 3)

Elaborar un programa que lea una temperatura en grados Celsius y lo convierta a grados Fahrenheit, la formula para la conversión es la siguiente (al final Preguntar si desea continuar):

Fahrenheit = *C+32

Ejercicio #8:

Page 9: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<stdio.h>#include<conio.h>

float fahrenheit (float);

void main(){

float cel, f ;int resp;

do{clrscr ();

printf("\nDame grados Celsius:"); scanf("%f",&cel);

f=fahrenheit (cel);

printf("\nLos grados Fahrenheit son:%.1f", f); getch();

printf ("\n¿Desea continuar Si=1, No=0?\n"); scanf ("%d", &resp); } while (resp==1);

getch (); }

float fahrenheit (float cel){ return ((9/5)*cel+32); }

• Con Programación Básica…

Page 10: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerías#include<conio.h>#include<ctype.h> class convertir{ //nombre de la clasepublic: //especificador de accesoint gc; //variables  convertir(){ //constructor cout<<"se construye.."<<endl;} ~convertir(){ //destructor cout<<endl<<"se destruye..";} int fahrenheit(int gc){ return((9/5)*gc+32); }}; //fin de la clasevoid main(){ //función principal convertir grados; int f; //variablesdo{ //inicia el ciclo controlado 

cout<<endl<<"introduzca un grado en celsius:"; //solicita el dato cin>>grados.gc;  f=grados.fahrenheit(grados.gc);  cout<<endl<<"equivalencia de"<<"C a fahrenheit es:"<<f<<"f"; cout<<endl<<"para continuar pulse cualquier tecla, para salir 'N'";}while(tolower(getch())!='n');}

• Con Programación Orientada a Objetos

Page 11: Ejercicios Resueltos de Programas en C++ (Parte 3)

Leer 2 números y obtener e imprimir la raíz cuadrada de ambos números. Preguntar si desea continuar.

Ejercicio #9:

Page 12: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<stdio.h>#include<conio.h>#include <math.h>

float raiz1 (float);float raiz2 (float);

void main(){

float a, b, r1, r2;int resp;

do{clrscr (); printf ("\nDame un número 'a':"); scanf ("%f", &a); printf ("\nDame un número 'b':"); scanf ("%f", &b);

r1=raiz1 (a); r2=raiz2 (b);

printf ("La raíz cuadrada de 'a' es: %.3f\nLa raíz cuadrada de 'b' es: %.3f", r1, r2); getch ();

printf ("\n¿Desea continuar Si=1, No=0?\n"); scanf ("%d", &resp); } while (resp==1);

getch (); } float raiz1 (float a){ return (sqrt (a)); } float raiz2 (float b){ return (sqrt (b)); }

• Con Programación Básica…

Page 13: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerías#include<conio.h>#include<ctype.h>#include<math.h> class raíz{ //nombre de la clasepublic: //especificador de accesoint a,b; //variables  raiz(){ //constructor cout<<"se construye"<<endl;} ~raiz(){ //destructor cout<<endl<<"se destruye";} float calcular(int a){ if (a>=0) return sqrt(a); else cout<<endl<<"no se puede sacar raíz cuadrada a un numero negativo"; }}; //fin de la clase

void main(){ //funcion principalraiz rc; //variablesfloat r1,r2;char c;do{ //inicia el ciclo controlado cout<<endl<<"dame 2 numeros:"; //solicita el datocin>>rc.a>>rc.b;r1=rc.calcular(rc.a);r2=rc.calcular(rc.b);cout<<endl<<"las raices son:"<<r1<<""<<r2; cout<<endl<<"deseas continua(s/n):";do{ c=toupper(getch()); if(c=='N')break; }while(c!='S'); }while(c!='N'); }

• Con Programación Orientada a Objetos

Page 14: Ejercicios Resueltos de Programas en C++ (Parte 3)

Calcular el área de un círculo e imprimir su resultado. Preguntar si desea continuar.

Ejercicio #10:

Page 15: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include <stdio.h>#include <conio.h>

float circulo (float, float);

void main(){

float area, radio;const float pi=3.1416;int resp;

do{clrscr (); printf("\nDame Radio del circulo:"); scanf("%f",&radio);

area=circulo (pi, radio); printf("\nEl área del círculo es: %.2f ", area); getch();

printf ("\n¿Desea continuar Si=1, No=0?"); scanf ("%d", &resp); } while (resp==1);

getch (); } float circulo (float pi, float radio){

return (pi*radio*radio); }

• Con Programación Básica…

Page 16: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerías#include<conio.h>#include<ctype.h>#include<math.h> #define PI 3.1416class area{ //nombre de la claseprivate: //especificador de accesofloat radio; //variablespublic: //especificador de acceso area(){ //constructor cout<<"se construye"<<endl;} ~area(){ //destructor cout<<endl<<"se destruye";} float circulo(int r){ radio=r; return(PI*pow(radio,2)); }}; //fin de la clase

void main(){ //funcion principalarea c1;float a,r; //variableschar car;do{ //inicia el ciclo controlado  cout<<endl<<"Dame el radio del circulo:"; //solicita el dato cin>>r; a=c1.circulo(r); cout<<endl<<"El área del circulo es:"<<a; cout<<endl<<"Desea continuar(S/N):"; do{ car=toupper(getch()); if (car=='N') break; }while(car!='S'); }while(car!='N'); }

• Con Programación Orientada a Objetos

Page 17: Ejercicios Resueltos de Programas en C++ (Parte 3)

Calcular e imprimir el área de un cuadrado y el de un triangulo. Preguntar si desea continuar.

Ejercicio #11:

Page 18: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<stdio.h>#include<conio.h>

float ladito (float);float bh (float, float);

void main(){

float L, lado, b, h, areat ;int resp;

do{clrscr ();

printf ("\nDame lado del cuadrado:"); scanf ("%f", &L);

printf ("\nDame base del triángulo:"); scanf ("%f", &b);

printf ("\nDame altura del triángulo:"); scanf ("%f", &h);

lado=ladito (L); areat=bh (b, h);

printf ("\nEl área del cuadrado es: %.2f", lado); printf ("\nEl área del triangulo es: %.2f", areat); getch ();

printf ("\n¿Desea continuar Si=1, No=0?"); scanf ("%d", &resp); } while (resp==1);

getch (); } float ladito (float L){

return (L*L); }

float bh (float b, float h){ return (b*h/2); }

• Con Programación Básica…

Page 19: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> // librerias#include<conio.h>#include<ctype.h>#include<math.h> class areas { //nombre de la claseprivate: //especificador de acceso int lado,base,altura; //variablespublic: //especificador de acceso areas(){ //constructor cout<<"se construye"<<endl;} ~areas(){ //destructor cout<<endl<<"se destruye";}int cuadrado(int l){ lado=l; return lado*lado; }float triangulo(int b,int a){ base=b; altura=a; return base*altura/2; } }; //fin de la clase

void main(){ //funcion principalareas c,t; //variableschar car;int l,b,a;do{ //inicia el ciclo controlado cout<<endl<<"dame el lado del cuadrado:";cin>>l; //solicita y lee el dato cout<<endl<<"el área de un cuadrado es:"<<c.cuadrado(l); cout<<endl<<"dame base y altura de un triangulo:";cin>>b>>a; cout<<endl<<"el área de un triangulo es:"<<c.triangulo(b,a);  cout<<endl<<"deseas continuar (S/N):"; //opción desea continuar o finalizardo{car=toupper(getch()); if(car=='N')break;}while(car!='S'); //debe cumplirse una condición}while(car!='N'); }

• Con Programación Orientada a Objetos

Page 20: Ejercicios Resueltos de Programas en C++ (Parte 3)

Elaborar un programa que convierta una medida en metros a su equivalente: a) en yardas, b) pulgadas, c) centímetros, d) pies; tendiendo en cuenta lo siguiente:

1 ft=12 in= 0.3048 m ft= pie1 yd = 36 in= 3 ft= 0.9144 m yd= yarda1 in = 2.54 cm= 0.0254 m in= pulgada1 m = 100 cm m= metro

Al final imprimir los resultados. Preguntar si desea continuar

Ejercicio #12:

Page 21: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include <stdio.h>#include <conio.h>

float pulgada (int, float);float yarda (int, float);float centimetro (int, int);float pies (int, float);

void main (){

const float ft=.3048, yd=.9144, in=.0254, cm=100;

float f1, y1, c1, i1;int num, resp;

do{clrscr (); printf ("\nDame medida en metros:"); scanf ("%d", &num);

f1=pulgada (num, ft); y1=yarda (num, yd); c1=centimetro (num, cm); i1=pies (num, in);

printf ("\nla conversión a pies es: %f", f1); printf ("\nla conversión a yardas es: %f", y1); printf ("\nla conversión a pulgadas es: %f", i1); printf ("\nla conversión a centímetros es: %f", c1); getch();

printf ("\n¿Desea continuar Si=1, No=0?"); scanf ("%d", &resp); } while (resp==1);

getch (); } float pulgada (int num, float ft){

return (num*ft); }

float yarda (int num, float yd){ return (num*yd); }

float centímetro (int num, int cm){

return (num*cm); }

float pies (int num, float in){ return (num*in);

}

• Con Programación Básica…

Page 22: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerías#include<conio.h>#include<ctype.h>#include<math.h>class medidas{ //nombre de la claseprivate: //especificador de acceso float m; // variablepublic: //especificador de acceso medidas(){ //constructor cout<<"se construye"<<endl;} ~medidas(){ //destructor cout<<endl<<"se destruye";}void convertir(float mt){ const float yarda=1.093613,pie=3.28084; const float pulgada=39.370079,centimetro=100; m=mt; cout<<endl<<m<<"metros a yardas son:"<<yarda*m; cout<<endl<<m<<"metros a pulgadas son:"<<pulgada*m;

cout<<endl<<m<<"metros a centímetros son:"<<centímetro*m; cout<<endl<<m<<"metro a pies son:"<<pie*m; }}; //fin de la clasevoid main(){ //función principal medidas med; //variables float mt; char car;do{ //inicia el ciclo controlado cout<<endl<<"introduzca medida en metro para convertir a:yd,in,cm,ft:"; //solicita el dato cin>>mt; //lee y asigna el dato a una variable med.convertir(mt);cout<<endl<<"deseas continuar (S/N):"; //opción desea continuar o finalizardo{ car=toupper(getch()); if (car=='N')break; }while(car!='S'); //debe cumplirse una condición }while(car!='N'); }

• Con Programación Orientada a Objetos

Page 23: Ejercicios Resueltos de Programas en C++ (Parte 3)

Elaborar un programa que muestre un menú de opciones de la siguiente manera (para salir del programa presionar tecla “6”, en caso contrario repetir el programa):

Menú principal 1.- Altas2.- Bajas3.- Consultas4.- Modificaciones5.- Imprimir6.- Salir Elija una opción:

Ejercicio #13:

Page 24: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<stdio.h>#include<conio.h>

void main()

{

char resp; clrscr();

do{ printf("\n\nMenú Principal:"); printf("\n1.-Altas"); printf("\n2.-Bajas"); printf("\n3.-Consultas"); printf("\n4.-Modificaciones"); printf("\n5.-Imprimir"); printf("\n6.-Salir"); printf("\n\nElija una Opción: "); resp=getche();

}while (resp!='6');

}

• Con Programación Básica…

Page 25: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerías#include<conio.h> class menu{ //nombre de la clasepublic: //especificador de acceso menu(){ //constructor cout<<"se construye"<<endl;} ~menu(){ //destructor cout<<endl<<"se destruye";} void mostrar(){ cout<<endl<<"Menu Principal"; cout<<endl<<"\t1.Altas"; cout<<endl<<"\t2.Bajas"; cout<<endl<<"\t3.Consultas"; cout<<endl<<"\t4.Modificaciones"; cout<<endl<<"\t5.Imprimir"; cout<<endl<<"\t6.Salir"; cout<<endl<<endl<<"\tSeleccione una opcion:"; }}; //fin de la clase

void main(){ //función principal menu m; int opcion; //variables

do{ //inicia el ciclo controlado

clrscr(); m.mostrar(); cin>>opcion; if(opcion==6)break; }while((opcion>=1&&opcion<=5)||(opcion>5||opcion<1)); }

• Con Programación Orientada a Objetos

Page 26: Ejercicios Resueltos de Programas en C++ (Parte 3)

Crear un programa que lea un carácter. Si es un número que imprima el mensaje “Has presionado un número” y se sale del programa, en caso de que se lea una letra o símbolo imprimir el mensaje “Carácter no valido”. Repetir el ejercicio hasta que se teclee un número. Use la función getch() de la librería conio.h

Ejercicio #14:

Page 27: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<stdio.h>#include<conio.h>

Void carácter (int);Void main (){ int c,b=0; char v; do{ printf(“\nDame un carácter:”); c=getch(); carácter(c); }while(b==1);

{

Void carácter(int){ if(a){ printf(“\nHas presionado un número”); b++; }else printf(“\nCaracter no válido”);}

• Con Programación Básica…

Page 28: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerias#include<conio.h>#include<ctype.h> class caracter{ //nombre de la claseprivate: //especificador de acceso char c; //variablepublic: //especificador de acceso  caracter(){ //constructor cout<<"construyendo"<<endl;}~caracter(){ //destructor cout<<endl<<"destruyendo";} int verificar (char c1){c=c1;return isdigit(c1); }}; //fin de la clase 

void main(){ //funcion principalchar c1; //variablescaracter car; cout<<endl<<“Introduce caracter:"; //solicita el datofor(;;){c1=getch();if(car.verificar(c1)!=0){ cout<<endl<<"tecla para salir"; getch();break;}else cout<<endl<<"caracter no valido"; }};

• Con Programación Orientada a Objetos

Page 29: Ejercicios Resueltos de Programas en C++ (Parte 3)

Modificar el programa anterior, con la diferencia que: a) para cualquier dato invalido generar un “pitido” (función sound() de la librería

dos.h - ver el ejercicio 22); b) que el carácter leído tenga eco (ver el ejercicio 20); c) cuando se lea un numero para salir del programa (Use la función exit(1) –ver el

programa 23.), que imprima un mensaje de despedida con una duración de 3 segundos.

PROGRAMA EN MS-DOS**Ejercicio #15:

Page 30: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<stdio.h>#include<conio.h>#include<time.h>#include<dos.h>

Void carácter (char);Void carácter (){ int b=0; int v,a; do{ printf(“\nDame un carácter:”); a=getch(); carácter(a); }while(b==1);}

Void carácter (char a){ if(a>=’0’||a<=‘0’){ printf(“\nHas presionado un número”); b++;

exit(1); } else{

printf(“\nCaracter no válido:%c”,v); sound(sleep(3)); delay(2000); nosound(); }}

• Con Programación Básica…

Page 31: Ejercicios Resueltos de Programas en C++ (Parte 3)

#include<iostream.h> //librerías#include<conio.h>#include<ctype.h>#include<dos.h>#include<stdlib.h> class caracter{ //nombre de la claseprivate: //especificador de acceso char c; //variablepublic: //especificador de acceso  caracter(){ //constructor cout<<"construyendo"<<endl;} ~caracter(){ //destructor cout<<endl<<"destruyendo";}int verificar(char c1){ c=c1; return isdigit(c1); }}; //fin de la clase

void main(){ //funcion principal char c1; caracter car;clrscr(); cout<<endl<<"introduce caracter:"; //solicita el dato for(;;){ c1=getche(); if(car.verificar(c1)!=0){ cout<<endl<<"Has presionado 1 número"; cout<<endl<<"Finalizando el programa, por favor espere..."; delay(5000);exit(1); }else cout<<endl<<"caracter no valido"<<endl; sound(800);delay(10);nosound(); } }

• Con Programación Orientada a Objetos