universidad nacional abierta ya distancia

Anuncio
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
LENGUAJE C: En 1983, el Instituto Americano de Normalización (ANSI) se dio a la tarea de estandarizar el
lenguaje C, aunque esta tarea tardó 6 años en completarse, y además con la ayuda de la Organización
Internacional de Normalización (ISO), en el año de 1989 definió el C Estándar.
C++ es un lenguaje de nivel medio pero no porque sea menos potente que otro, sino porque combina la
programación estructurada de los lenguajes de alto nivel con la flexibilidad del ensamblador.
Dev-C++ es un Entorno Integrado de Desarrollo para el lenguaje de programación C/C++ que usa Mingw
(Minimalist GNU for Windows, www.mingw.org) de GCC (GNU Compiler Collection
www.gnu.org/home.es.html). Es un software de libre distribución (www.bloodshed.net) sujeto a los
términos de la Licencia Pública General (GPL) de GNU.
ESTRUCTURA BÁSICA DE UN PROGRAMA
Un programa escrito en C está conformado por pequeños módulos de código llamados funciones.
El módulo principal o programa principal está conformado por la función que denominamos main( )
las instrucciones que conforman ésta se encierran entre { }.
Sobre la parte superior de la función main() y dentro de la función se pueden declarar los siguientes
objetos que pueden manipular un programa.
1. Directivas para Incluir archivos, #include
2. Directivas para incluir macros y constantes #define
3. Declaración de Prototipos de funciones
4. Declaración de Variables globales
5. Declaración de tipos de datos.
6. Dentro del main() se encuentran las declaraciones de variables y las instrucciones que definen
procesos que debe realizar la computadora.
7. Por fuera del main() y después de la llave } que cierra el main aparecen las declaración de las
funciones.
ENTRADA Y SALIDA EN C++
La biblioteca estándar de E/S para C, descrita por el archivo de cabecera stdio.h está disponible en
C++. Sin embargo, C++ introduce sus propios archivos de cabecera; por ejemplo, iostream.h, fstream.h y
strstream.h, que implementan su colección particular en funciones de E/S. cin, cout
En C++ los flujos stdin, stdout son: cin, cout. Estos dos flujos se abren automáticamente cuando
comienza la ejecución de programas, y se convierte en la interfaz entre el programa y el usuario. El flujo cin
está asociado con el teclado del terminal. El flujo cout se asocia con el monitor de vídeo.
1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
Los operadores >> y <<
La entrada y salida en C++ ha sido significativamente realzada y perfeccionada por la biblioteca de
operadores de flujo >> ("get from" o extracción) y << ("put on" o inserción). Cada operador está
sobrecargado propiedad de C++ que delega en el compilador la responsabilidad de determinar que
operador lógico o función nombrada debe ejecutarse basándose en los tipos de datos de las variables
asociadas. Cada uno de los operadores << y >> puede manipular todos los tipos de datos estándar, clases
incluidas.
Los siguientes dos ejemplos muestran de manera rápida la mayor facilidad de manejo de E/S
(entrada y salida)
Utilizando printf : printf("Un entero %d, un real %f", a,b);
Ahora equivalente en C++: cout <<"Un entero" <<a<<"un real"<<b;
Utilizando scanf para entrar datos: scanf("%d%f%c",&entero,&real,&caracter);
ahora en C++: cin >> entero >>real>>caracter;
DECLARACIÓN DE VARIABLES:
Antes del main() o después de él se deben definir las variables, ejemplo:
float a, b, x;
Las variables que se declaran dentro del main() se dice que son variables locales, las que se
declaran fuera se dicen globales.
La siguiente tabla muestra los distintos tipos de dato que podemos usar en C para declarar variable en un
programa en C.
TIPO
char
int
double
float
pointer
long double
TIPOS DE DATOS BÁSICOS RECONOCIDOS POR TURBO C
TAMAÑO en
RANGO de Valores que Puede
Bytes de la Variable
Almacenar
Cuando Usamos
1
0..255
‘Á’...’Z’, $
Para almacenar números
2
-32767..32768
enteros
Para almacenar números
8
1.7E-308..1.7E308
Reales
4
3E-38..3E38
Variables que almacenan
números reales.
2 byte
Punteros near, __es, _es, ss
Para variables que
guardan direcciones de
memoria
10 bytes
3.4E-4932 a 1.1 E 4932
Variables Reales
OPERACIÓN DE ASIGNACIÓN:
Es la operación mediante la cual se le asigna un valor determinado a una variable en memoria.
SINTAXIS:
<Identificador>=<expresión>
Estamos indicando a la computadora que evalúe la expresión y la almacene en la variable que se
identifica por el identificador. Una expresión puede ser un valor de constante, o fórmula matemática.
Ejemplos:
Horas=30;
salario=5000; caracter='C';
salario=salario + 1000;
NUNCA se escribe la expresión a la izquierda del operador de asignación:
2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
salario*2 = sal_total
INSTRUCCIONES DE CONTROL y CICLOS REPETITIVOS
FLUJO DE CONTROL:
Se llama flujo de control de un programa al orden en que se ejecutan las instrucciones que lo
conforman.
El flujo de control de los programas, es lineal, esto significa que la computadora ejecuta una a una
las instrucciones que se le indican, sin alterar el orden en que se escriben.
EXPRESION LÓGICA:
Una expresión lógica en C es una sentencia que al ser evaluada, la computadora da un valor 0 si es falsa y un
valor distinto de cero si es verdadera.
OPERADORES DE RELACIÓN:
Los siguientes operadores los utilizaremos para construir expresiones lógicas y establecen relaciones que
pueden ser falsas o verdaderas.
OPERADOR
>=
<=
==
!=
<
>
SIGNIFICADO
Mayor o igual que
Menor o igual que
Igual que
Diferente
Menor que
Mayor que
EJEMPLO:
A+B>=C*2;
X= ='S';
X<>S;
La expresión: z= a+b>=c*2;
Compara el valor de la suma de a y b con el doble de c, si es menor almacena en z el valor 0 si es
mayor o igual almacena un valor distinto de cero.
OPERADORES LÓGICOS:
OPERADORES
&&
||
!
SIGNIFICADO
y
o
no
EJEMPLOS:
Si tenemos la expresión : !(5>3) al evaluarla el resultado que da es 0.
La expresión: z=!(5>3);
Almacena 0 en la variable z
La expresión: z=!(a+b>=c*2)
Almacena 1 en la variable z si el resultado de comparar a+b con el doble de c es menor, puesto que la
proposición es falsa, al negarla da verdadera
PRIORIDAD DE OPERADORES:
Teniendo los operadores ya definidos, debemos definir la prioridad nuevamente así:
3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
CATEGORÍA DEL
OPERADOR
OPERADORES
ASOCIATIVA
Operadores Monarios
-,++,--,!, sizeof(tipo)
Derecha a Izquierda
Multiplicación división y
*, /, %
Izquierda a Derecha
residuo
Suma y sustracción aritmética
+, Izquierda a derecha
Operadores de relación
<, <=, >, >=
Izquierda a derecha
Operadores de igualdad
= = , !=
Izquierda a derecha
y
&&
Izquierda a derecha
o
||
Izquierda a derecha
Operadores de asignación
=, +=, - =, *=, /=, %=
Izquierda a derecha
Las expresiones entre paréntesis se evalúan primero.
Los operadores de asignación tienen menor prioridad que todos los otros operadores. Por tanto las
operaciones monarios, aritméticos, de relación, de igualdad y lógicos se realizan antes que las de
asignación.
INSTRUCCIÓN if (expresión lógica) else:
La instrucción si evalúa la expresión lógica, si ésta es verdadera, ejecuta la instrucción definida en
<acción A>, si es falsa se ejecuta la instrucción inmediata al else definida en <acción B>, después de eso
ejecuta la instrucción siguiente a la <acción B> y las que le siguen
if (expresión lógica)
Expresión lógica
<Acción A>;
Si
else
No
Acción A
Acción B
<Acción B>;
EJEMPLO:
Escriba un programa en lenguaje C que le permita a un estudiante calcular la nota definitiva de tres notas,
que tienen el mismo valor porcentual. El programa debe imprimir la nota definitiva y un mensaje adecuado
que diga 'Gano la materia', o 'Perdió la Materia', según si la nota sea mayor igual que cero o menor que
cero.
#include <stdio.h>
void main()
{
double nota1, nota2, nota3;
double definitiva;
clrscr();
printf("Escriba la primera nota\n");
scanf("%lf",&nota1);
printf("Escriba la segunda nota\n");
scanf("%lf",&nota2);
printf("Escriba la tercera nota\n");
scanf("%lf",&nota3);
4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
definitiva=(nota1+nota2+nota3)/3;
if (definitiva>=6)
printf("Su nota es %f GANO",definitiva);
else
printf("Su nota es %f PERDIO",definitiva);
getch();
}
Otra versión del programa usando la instrucción que hemos visto es:
#include <iostream.h>
#include <conio.h>
#define gano "Gano la Materia"
#define perdio "Perdio la Materia"
void main()
{
double nota1, nota2, nota3;
double definitiva;
clrscr();
cout<<"Escriba la primera nota";
cin>>nota1;
cout<<"Escriba la segunda nota";
cin>>nota2;
cout<<"Escriba la tercera nota";
cin>>nota3;
definitiva=(nota1+nota2+nota3)/3;
if (definitiva>=6)
cout<<"Su nota es "<<definitiva<<gano;
else
cout<<"Su nota es "<<definitiva<<perdio;
getch();
}
SENTENCIA COMPUESTA:
Cuando un programador, necesita que la computadora ejecute más de una instrucción en el
momento de que la expresión lógica sea verdadera o sea falsa, lo indica encerrando entre llaves { } las
instrucciones que siguen al then o al else.
EJEMPLO:
Escriba un programa que lea tres números reales a, b, c. Una vez leídos, el programa debe calcular la
solución a la ecuación:
A* X 2  B * X  C  0
y debe escribir las soluciones reales si existen y las soluciones complejas.
5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
Lea a,b,c
discri:=b*b - 4*a*c
b*b - 4*a*c >= 0
Si
No
x1 
b
 b  discri
preal 
2 * a
2*a
x2 
b  discri
pimag 
2 *a
discri
2*a
Escriba:
''x1=',x1
Escriba:
''x1=',preal,'+i',pimag
Escriba:
''x2=',x2
Escriba:
''x2=',preal,'-i',pimag
Escriba:
#include <iostream.h>
#include <conio.h>
#include <math.h>
#define imagin 'i'
void main(void)
{
double
a,b,c,
discri, preal,
x1, x2, pimag;
clrscr() ;
cout<<"Escribe los coeficientes ?";
cin >>a>>b>>c;
discri=pow(b,2)-4*a*c;
if (discri>=0)
{
x1=(-b+sqrt(discri))/(2*a);
x2=(-b-sqrt(discri))/(2*a);
cout<<"X1="<<x1;
cout<<"x2="<<x2;
}
'' Termine de resolver la ecuacion, presione Enter '
else {
preal=-b/(2*a); pimag=sqrt(abs(discri))/(2*a);
cout<<"\n x1="<<preal<<”imagin”<<pimag;
cout<<"\n x1="<<preal<<”imagin”<<-pimag;
}
getch();
Lea: Enter
}
IF ANIDADOS:
Tendremos situaciones lógicas en las cuales después de hacernos una pregunta se nos hace
necesario hacer una nueva pregunta, en esos caso tenemos entonces que después del then y/o else es
necesario volver a tener una sentencia if then else decimos entonces que anidamos if.
EJEMPLO:
Se requiere un programa que lea A y permita evaluar la función
5 * x  x  1
x3

x2
y   x  5
3  x  9
3
 3
x  9
 x  7* x
#include <stdio.h>
#include <math.h>
void main()
{
double a,y;
clrscr();
printf(" Entre un número real ");
scanf("%lf",&a);
if (a<3)
y=5*a + sqrt(++a);
6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
else
if ((a>=3)&&(a<=9))
y=a+5-(a+2)/3;
else
y=exp(3*log(a))+7*a;
printf("y=%7.2lf",y);
getch();
}
INSTRUCCIÓN while
La instrucción while hace que la computadora repita la ejecución de las instrucciones mientras la
condición es verdadera.
while (expresión lógica )
Expresion lógica
{
Instrucciones
a
Repetir
Instrucciones a
Repetir
}
En el lenguaje C esa instrucción tiene la siguiente sintaxis:
Dentro de las instrucciones a repetir debe haber al menos una instrucción que haga que la
condición sea falsa, de lo contrario no saldrá del ciclo.
EJEMPLO:
Escribir un programa que lea un número entero n, luego de lo cual la computadora debe escribir t odos y
cada uno de los números entre 1 y n luego debe escribir cuanto vale la suma de esos números.
#include <iostream.h>
#include <conio.h>
void main()
{
float n, numero, suma
;
gotoxy(10,10);
textcolor(lightyellow);
cout<<"\n Escriba numero hasta donde desea que cuente ?";
cin>>n;
numero=1;
suma=0;
while (numero<=n)
{
suma += numero;
cout<<numero;
numero += 1;
}
7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
gotoxy(10,12);cout<<"La suma="<<suma;
getch();
}
EJEMPLO:
Escriba un programa que lea un número entero n y luego calcule y escriba los n primeros términos de la
serie 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89.........
#include<iostream.h>
#include<conio.h>
void main()
{
double n, t, af, ai, an, suma;
clrscr();
cout<<"Escriba el número de terminos a crear";
cin>>n;
af=0; ai=1; an=0;
t=1;
suma=0;
while (t<=n)
{
cout<<an<<",\t";
suma+=an;
af = ai;
ai= an;
an =af + an;
t+=1;
}
cout<<"\n\n\ala suma vale"<< suma;
getch();
}
INSTRUCCIÓN do / while (expresion lógica):
La instrucción do/while la utilizan los programadores para indicarle al computador que debe ejecutar una
o varias instrucciones mientras que una condición definida en la expresión lógica sea verdadera, a
diferencia del while, la condición se evalúa después de ejecutar las instrucciones a repetir al menos una vez.
do
{
Instrucciones
a
Repetir
Instrucciones a
Repetir
}while(expresión lógica);
Mientras expr. lógica
EJEMPLO:
Escriba un programa que lea un número entero n y luego calcule y escriba los n primeros términos
de la serie 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89.........
Este programa es el mismo que vimos en las páginas del while, observe como se puede realizar lo anterior
usando el do/while.
8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
#include<iostream.h>
#include<conio.h>
void main()
{
double n, t, af, ai, an, suma;
clrscr();
textcolor(BLUE);
cout<<"Escriba el número de termino a crear";
cin>>n;
af=0; ai=1;
an=0;
t=1;
suma=0;
do
{
cout<<an<<",\t";
suma=suma + an;
af = ai;
ai= an;
an=af + an;
t=t+1;
}while (t<=n);
cout<<"\n\n\ala suma vale"<< suma;
getch();
}
LA INSTRUCCIÓN for:
La utilizan los programadores para indicarle al computador que ejecute un conjunto finito de
instrucciones mientras una condición dada se cumpla.
La sintaxis de la forma general de la sentencia for es:
for (inicialización; condición; incremento)
sentencia_a_ejecutar;
El bucle for permite muchas variaciones, pero existen tres partes principales:
1. La inicialización: Normalmente es una sentencia de asignación que se utiliza para la inicializar una
variable de control del bucle.
2. La condición: Es una expresión lógica que determina cuando finaliza el bucle.
3. El incremento: Como cambia la variable de control cada vez que se repite el bucle.
Las tres secciones se separan por; (punto y coma) el bucle se repite hasta que la condición sea
falsa.
EJEMPLO:
Escriba un programa que calcule el factorial de un número entero n.
#include <iostream.h>
#include <conio.h>
void main ( )
{
float factorial = 1, n, factor;
clrscr ( );
9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
cout<< "Entre un numero al cual le quiere calcular el factorial";
cin>> n;
for (factor = n; factor; factor--)
{
factorial*=factor;
}
cout<<n<<"!="<< factorial;
}
EL OPERADOR COMA.
La coma en "C" tiene como función encadenar varias expresiones. Esencialmente, la coma produce
una secuencia de operaciones. Cuando se usa en la parte derecha de una sentencia de asignación, el valor
asignado es el valor de la última expresión de la lista separada por coma.
EJEMPLO:
y =100;
/* y toma el valor de 100*/
x = ( y = y-50,100/y);
/* y vale 50 y 100/50 es 2*/
tras la ejecución x =2.
Se puede pensar en el operador coma, teniendo el mismo significado que la palabra en español
normal "haz esto y esto y esto".
VARIACIÓN DEL CICLO for:
Utilizando el operador coma se puede hacer que el ciclo for tenga dos o mas variables de control del
bucle.
EJEMPLO:
Escribe un programa que lea un número entero n, el programa debe encontrar cuanto suman los n
primeros números pares e impares.
#include <iostream.h>
#include <conio.h>
void main ( )
{
int n, par, sum,imp, sump, sumi, numeros;
clrscr ( );
sum=sump=sumi = 0;
cout<<"Cual es el valor de n";
cin>>n;
for(numeros = 1, par=2, imp=1; numeros<= n; ++numeros, par+= 2, imp+= 2)
{ cout<<"\n\t\t impar "<<imp<<" par "<<par;
sump+=par;
sumi+=imp;
}
cout<<" \n\t S impares=\a"<<sumi<<" S pares=\a"<<sump;
getch();
}
10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
INSTRUCCIÓN break
Se puede usar para forzar la terminación inmediata de un bucle, saltando la evaluación de la
condición normal del ciclo.
Cuando se encuentra la instrucción break dentro de un bucle finaliza inmediatamente, y la
ejecución continua con la instrucciones que siguen al ciclo.
INSTRUCCIÓN continue.
La sentencia continue, fuerza una nueva iteración del bucle y salta cualquier código que exista entre
medios.
do
{
cout<<"Entre un número igual a 100";
cin>>x;
if ( x<0) continue;
cout<< x;
} while (x!=100);
El ciclo anterior repite la lectura mientras x sea negativo.
Para los bucles while y do-while, una sentencia continue hace que: el control del programa no
ejecute la prueba del condicional y continue el proceso de iteración.
En el bucle for se ejecuta se ejecuta la parte del incremento del bucle, seguida de la prueba
condicional y finalmente hace que el bucle continue.
EJEMPLO:
Escriba un programa que lea un número entero n y determine si n es primo o no.
Recuerde que un número es primo si no existen números en el intervalo entre 2 y n/2 que dividan a n.
#include <iostream.h>
La variable es se hace 1 al
#include <conio.h>
empezar el ciclo, y se pone
void main()
cero si en algún momento
{
int n, divisor,es;
clrscr();
algun divisor divide a n.
cout<<"Escriba el número que va analizar?";
cin>>n;
Solo al finalizar el proceso se
divisor = 2; es=1;
cheque si es es uno.
while (divisor<=n/2)
{
if(n % divisor==0)
{
cout<<"\n"<<n<<" no es primo";
es =0;
En C este if es
break;
equivalente a
}
escribir:
else
{
divisor+=1;
if (es==1)
}
}
if (es)
{
cout<<"\n"<<n<<" es primo";
}
getch();
}
11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
La instrucción break hace que el ciclo termine en el momento en que se encuentra algún divisor de
n.
Cuando se termina el ciclo la computadora cheque si la variable es tiene almacenado un 1 si eso es verdad
el número es primo.
INSTRUCCIÓN switch:
Esta instrucción permite verificar si una variable de tipo char o int tiene un valor determinado.
switch(variable){
case constante1:
instrucciones1;
break;
case constante2
:
instrucciones2;
break;
........
case constanten
:
instrucciones3;
break;
default
:
Instrucciones por defecto;
}
La instrucción switch compara el valor de la variable con la constante1, si son iguales ejecuta las
instrucciones1 y llega al break, y ejecuta luego las instrucciones siguientes a la llave }.
Si no son iguales compara el valor de la variable con el valor de la constante2, sino son iguales
compara con el de la constante3, y así sucesivamente.
Si no existe ninguna constante igual al valor de la variable ejecuta el default, si este existe, sino
continua con la ejecución de las instrucciones después de la llave }.
El break en cada caso es opcional, sino existe se ejecutan las instrucciones siguientes hasta
encontrar un break.
Ejemplo:
Escriba un programa que presente un menú con tres opciones: La opción 1 Sumar, 2 Restar, 3
Salir.
Si el usuario presiona la opción 1, la computadora le pregunta por dos números enteros y por el
valor del resultado de la suma y le dice si el resultado es correcto o no.
Si el número presionado es el 2, la computadora le pregunta por dos números enteros y por el
valor de la diferencia y le dice si el resultado es correcto o no.
Si es 3 termina con la ejecución del programa.
#include <iostream.h>
#include <conio.h>
void main()
{
char opcion;
float a,b,respuesta;
do{
clrscr();
gotoxy(10,10);
cout<<"Las opciones son:"; gotoxy(10,12);
cout<<"1-Sumar dos numeros";
gotoxy(10,13); cout<<"2-Restar dos numeros";
gotoxy(10,14); cout<<"3-Terminar el proceso";
12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
opcion=getch();
switch (opcion){
case '1':clrscr();gotoxy(10,12);
cout<<"Escriba un número "; cin>>a;
gotoxy(10,13);
cout<<"Escriba el otro sumando ";
cin>>b;
gotoxy(10,14);
cout<<"Cuanto suman "<<a<<"+"<<b; cin>>respuesta;
if (respuesta==(a+b))
{
gotoxy(10,16); cout<<"Respuesta correcta ";
}
else
{
gotoxy(10,16);
cout<<"La respuesta no es "<<respuesta<<" la res correcta es "<<a+b;
}
gotoxy(10,17);cout<<"Termine presione cualquier tecla";
getch();
break;
case '2':clrscr(); gotoxy(10,12);
cout<<"Escriba un número "; cin>>a;
gotoxy(10,13); cout<<"Escriba el sustraendo ";
cin>>b; gotoxy(10,14);
cout<<"Cual es la diferencia entre "<<a<<"-"<<b; cin>>respuesta;
if (respuesta==(a-b))
{
gotoxy(10,16); cout<<"Respuesta correcta ";
}
else
{
gotoxy(10,16);
cout<<"La respuesta no es "<<respuesta<<" la res correcta es "<<a-b;
}
gotoxy(10,17); cout<<"Termine presione cualquier tecla";
getch(); break;
case '3':clrscr(); gotoxy(10,10);cout<<"Termine";
break; default
:
gotoxy(10,17);
cout<<"Presione solo 1,2 o 3";
}
} while (opcion!='3');
}
13
Descargar