Trabajo Con Funciones En C++
wfchaparrop22 de Abril de 2014
3.304 Palabras (14 Páginas)351 Visitas
EJERCICIOS DE APOYO
A continuación encontrará 2 programas, el primero no incluye funciones diseñadas por el programador, en el segundo programa se desarrollo el mismo ejercicio, pero incluyendo funciones diseñadas por el programador, para que analicen la diferencia en la codificación.
Ustedes pueden seleccionar la codificación de cada programa y copiarla en el entorno de desarrollo para compilarlo y ejecutarlo, así pueden visualizar los resultados.
Les aclaro que los programas fueron desarrollados y compilados en Borland C++ 5.02, por lo tanto si los ejecutan en Dev C++ algunas funciones generarán errores.
Les recomiendo analizar muy bien cada sentencia y tratar de cambiarlo para mejorarlo. Recuerden que la programación sólo se puede aprender practicando.
PROGRAMA 1: SIN FUNCIONES DISEÑADAS POR PROGRAMADOR
#include <stdio.h>
#include <conio.h>
main()
{ int op, a,b,c, resultado;
do
{ clrscr();
gotoxy(5,3); printf("PROGRAMA SIN UTILIZAR FUNCIONES DEL PROGRAMADOR");
gotoxy(30,5); printf("MENU");
gotoxy(10,7); printf("1. Suma");
gotoxy(10,9); printf("2. Resta");
gotoxy(10,11); printf("3. Multiplicacion");
gotoxy(10,13); printf("4. Division");
gotoxy(10,15); printf("5. Salir");
gotoxy(5,18); printf("Elija el numero de la operacion a realizar : ");
gotoxy(50,18); scanf("%d", &op);
switch(op)
{ case 1: clrscr();
gotoxy(15,5); printf("SUMA DE 3 NUMEROS POSITIVOS");
gotoxy(5,8); printf("Digite el primer numero : ");
gotoxy(33,8); scanf("%d",&a);
while(a<0)
{ gotoxy(10,20); printf("Numero incorrecto, se requiere un numero positivo");
gotoxy(33,8); printf(" ");
gotoxy(33,8); scanf("%d",&a);
}
gotoxy(10,20); printf(" ");
gotoxy(5,10); printf("Digite el segundo numero : ");
gotoxy(33,10); scanf("%d",&b);
while(b<0)
{ gotoxy(10,20); printf("Numero incorrecto, se requiere un numero positivo");
gotoxy(33,10); printf(" ");
gotoxy(33,10); scanf("%d",&b);
}
gotoxy(10,20); printf(" ");
gotoxy(5,12); printf("Digite el tercer numero : ");
gotoxy(33,12); scanf("%d",&c);
while(c<0)
{ gotoxy(10,20); printf("Numero incorrecto, se requiere un numero positivo");
gotoxy(33,12); printf(" ");
gotoxy(33,12); scanf("%d",&c);
}
gotoxy(10,20); printf(" ");
resultado=a+b+c;
gotoxy(10,14); printf("%d + %d + %d = %d",a,b,c,resultado);
gotoxy(5,17); printf("Digite una tecla para volver al menu ");
getch();
break;
case 2: clrscr();
gotoxy(25,5); printf("RESTA");
gotoxy(5,8); printf("Digite el primer valor: ");
gotoxy(33,8); scanf("%d",&a);
gotoxy(5,10); printf("Digite el segundo valor: ");
gotoxy(33,10); scanf("%d",&b);
resultado=a-b;
gotoxy(15,14); printf("%d - %d = %d",a,b,resultado);
gotoxy(20,16); printf("DIGITE UNA TECLA PARA CONTINUAR ...");
getch();
break;
case 3: clrscr();
gotoxy(25,5); printf("MULTIPLICACION");
gotoxy(5,8); printf("Digite el primer valor: ");
gotoxy(33,8); scanf("%d",&a);
gotoxy(5,10); printf("Digite el segundo valor: ");
gotoxy(33,10); scanf("%d",&b);
gotoxy(5,12); printf("Digite el tercer valor: ");
gotoxy(33,12); scanf("%d",&c);
resultado=a*b*c;
gotoxy(10,15); printf("%d x %d x %d = %d",a,b,c,resultado);
gotoxy(10,17); printf("Digite una tecla para continuar");
getch();
break;
case 4: clrscr();
gotoxy(15,5); printf("DIVISION");
gotoxy(5,8); printf("Digite el primer valor : ");
gotoxy(33,8); scanf("%d",&a);
gotoxy(5,10); printf("Digite el segundo valor : ");
gotoxy(33,10); scanf("%d",&b);
while(b==0)
{ gotoxy(10,15); printf("Valor incorrecto, la division entre 0 no es posible");
gotoxy(10,16); printf("Digite un nuevo valor");
gotoxy(33,10); printf(" ");
gotoxy(33,10); scanf("%d",&b);
gotoxy(10,15); printf(" ");
gotoxy(10,16); printf(" ");
}
resultado=a/b;
gotoxy(10,14); printf("%d / %d = %d",a,b,resultado);
gotoxy(10,16); printf("Digite una tecla para continuar");
getch();
break;
case 5: clrscr();
gotoxy(20,15); printf("Fin del programa");
gotoxy(20,17); printf("Digite una tecla para salir");
getch();
break;
default: gotoxy(10,20);printf("No existe esa opcion");
gotoxy(10,21); printf("Digite una tecla para continuar");
getch();
gotoxy(50,18); printf(" ");
}
} while((op!=5));
}
EXPLICACIÓN PROGRAMA 1
1. El problema que resolvemos es realizar las 4 operaciones básicas (suma, resta, multiplicación y división), con cierta cantidad de números y ciertas condiciones establecidas.
• Suma: sumar 3 números digitados por el usuario, con la condición de que sean positivos.
• Resta: restar 2 números digitados por el usuario y mostrar la respuesta.
• Multiplicar: multiplicar 3 números digitados por el usuario
• División: dividir 2 números digitados por el usuario, con la condición de que el segundo número no puede ser cero (0), porque es un error dividir entre cero (0).
2. El lenguaje C tiene infinidad de funciones propias del lenguaje. En la codificación he incluido algunas, que aunque sencillas son muy útiles en el momento de presentar la información en pantalla. Para utilizarlas se debe incluir la librería conio.h
• clrscr(); se utiliza para limpiar pantalla (no funciona bien en Dev C++)
• gotoxy(); se utiliza para ubicar la información el cursor en unas coordenadas específicas de la ventana (no funciona bien en Dev C++).
La ventana de presentación de resultados está conformada por 24 filas y 80 columnas aproximadamente. En su sintaxis se debe incluir 2 argumentos de tipo numérico entero, pueden utilizar directamente los valores o trabajar con variables; el primero corresponde a la posición de la columna y el segundo a la posición de la fila.
Ej. 1: gotoxy(5,10); printf(“Bienvenidos”); //escribe en la columna 5, fila 10 la palabra Bienvenidos.
Ej. 2: int f=8, c=10; //definimos 2 variables y les asignamos valores
gotoxy(c,f); printf(“Programación”); //escribe en la columna 10, fila 8 la palabra programación.
PROGRAMA 2: CON FUNCIONES DISEÑADAS POR PROGRAMADOR
#include <stdio.h>
#include <conio.h>
int ValidarNumeroPositivo(int);
void suma();
int resta(int,int);
void multiplicacion(int,int,int);
void division();
main()
{ int op, rtaResta, r1,r2, m1,m2,m3;
do
{ clrscr();
gotoxy(5,3); printf("Bienvenido a un sencillo programa de las operaciones basicas ");
gotoxy(30,5); printf("MENU");
gotoxy(10,7); printf("1. Suma");
gotoxy(10,9); printf("2. Resta");
gotoxy(10,11); printf("3. Multiplicacion");
gotoxy(10,13); printf("4. Division");
gotoxy(10,15); printf("5. Salir");
gotoxy(5,18); printf("Elija el numero de la operacion a realizar : ");
gotoxy(50,18); scanf("%d", &op);
switch(op)
{ case 1: suma();
break;
case 2: clrscr();
gotoxy(25,5); printf("RESTA");
gotoxy(5,8); printf("Digite el primer valor: ");
gotoxy(33,8); scanf("%d",&r1);
...