Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia C++
Guia C++
DEV C++
Pag 1
LENGUAJE DE PROGRAMACION I
DEV C++
Pag 2
LENGUAJE DE PROGRAMACION I
DEV C++
Pag 3
LENGUAJE DE PROGRAMACION I
DEV C++
Una vez de haber concluido con la escritura del cdigo es necesario Compilar y luego
ejecutar.
Para Compilar el programa hacer clic en Execute ->compile (Ctrl. +F9)
VENTANA DE ERRORES
Pag 4
LENGUAJE DE PROGRAMACION I
DEV C++
NOTA : Tambien podremos utilizar la barra de herramientas compile y Run para compilar
y ejecutar nuestros programas
Compilar
ejecutar
compilar y ejecutar
Pag 5
LENGUAJE DE PROGRAMACION I
DEV C++
Pag 6
LENGUAJE DE PROGRAMACION I
DEV C++
Pag 7
LENGUAJE DE PROGRAMACION I
CAPITULO 2
DEV C++
Pag 8
LENGUAJE DE PROGRAMACION I
DEV C++
0123456789
Solo hay dos restricciones en cuanto a la composicin:
El primer carcter debe ser una letra o el guin bajo. El Estndar establece que
los identificadores comenzando con guin bajo y mayscula no deben ser
utilizados. Este tipo de nombres se reserva para los compiladores y las Libreras
Estndar. Tampoco se permite la utilizacin de nombres que contengan dos
guiones bajos seguidos.
El estndar ANSI establece que como mnimo sern significativos los 31 primeros
caracteres, aunque pueden ser ms, segn la implementacin [1]. Es decir, para
que un compilador se adhiera al estndar ANSI, debe considerar como
significativos, al menos, los 31 primeros caracteres.
Los identificadores distinguen maysculas y minsculas, as que Sum, sum y suM
son distintos para el compilador.
Descripcion
tam*
Rango*
signed: -128 to 127
unsigned: 0 to 255
1byte
Entero corto
signed: -32768 to
2bytes 32767
unsigned: 0 to 65535
int
Entero
signed: -2147483648
to 2147483647
4bytes
unsigned: 0 to
4294967295
long int
(long)
Entero largo.
char
short int
(short)
LENGUAJE DE PROGRAMACION I
DEV C++
bool
1byte
float
double
1 o 0
2.4 VARIABLES
Anteriormente vimos la forma general de un programa, un programa
sumamente sencillo. Ahora veamos un programa muy parecido al anterior:
Programa # 2
#include <iostream>
using namespace std;
int main( ){
int variable;
variable=5;
cout<<variable;
system(pause);
return 0;
}
Ejecucin del programa
10
Presione una tecla para continuar . . .
Notemos en esta ocasin slo la parte: int variable; . A esta seccin se le
denomina declaracin. Se trata de la declaracin de una variable de nombre
variable.
Una variable es una posicin de memoria con nombre que se usa para mantener
un valor que puede ser modificado por el programa3. Las variables son
declaradas, usadas y liberadas. Una declaracin se encuentra ligada a un tipo, a
un nombre y a un valor.
Bsicamente , la declaracin de una variable presenta el siguiente aspecto:
tipo nombre [=valor];
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
10
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Los corchetes significan que esa parte es opcional. Por ejemplo, la declaracin:
int mi_variable=5;
declara una variable tipo entero de nombre mi_variable y le asigna el valor 5.
C++ es sensible a maysculas y minsculas, as que si el nombre de nuestra
variable empieza con una letra en maysculas, debemos de asegurarnos que
durante el resto del cdigo nos refiramos a ella exactamente como la escribimos.
Los nombres de las variables no pueden usar signos de puntuacin, slo
caracteres A-Z, a-z, _, 0- 9, aunque ningn nombre debe comenzar con un
nmero (0-9). Adems no se deben de repetir nombres de variables en el mismo
contexto.
Adems de las restricciones anteriores, existe otra, y esta tiene que ver con las
palabras reservadas del lenguaje, que no son muchas a comparacin de otros
lenguajes como Basic. Las palabras que se presentan en la siguiente lista, no
pueden ocuparse como nombres de variables, funciones, u otras instrucciones
definidas por el programador.
asm, auto, bool, break, case, catch, char, class, const, const_cast,
continue, default, delete, do, double, dynamic_cast, else, enum,
explicit, export, extern, false, float, for, friend, goto, if,
inline, int, long, mutable, namespace, new, operator, private,
protected, public, register, reinterpret_cast, return, short,
signed, sizeof, static, static_cast, struct, switch, template, this,
throw, true, try, typedef, typeid, typename, union, unsigned, using,
virtual, void, volatile, wchar_t, while
Las variables se pueden declarar en tres sitios bsicos: dentro de las funciones
(ya sea la funcin main u otras creadas por el programador), estas variables son
llamadas locales; en la definicin de parmetros de una funcin, como se ver
ms adelante; y fuera de todas las funciones, variables globales.
Programa # 3
#include <iostream>
using namespace std;
int variable_global=10;
int main(){
int variable_local=20;
cout<<"\nprograma que muestra los usos de variables globales y
locales\n"<<endl;
cout<<"la variable global tiene asignado un
<<variable_global<<endl;
cout<<"\nla variable local tiene asignado un "
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
11
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
<<variable_local<<endl;
system(pause);
return 0;
}
Ejecucin del programa:
Programa que muestra los usos de las variables globales y locales
La variable global tiene asignado un 10
La variable local tiene asignado un 20
Presione una tecla para continuar . . .
Una variable global puede ser modificada en cualquier parte del programa,
mientras que una variable local slo puede ser modificada y utilizada dentro de la
funcin en la que se ha declarado. Por supuesto, antes de utilizar una variable y
hacer operaciones con ella, hay que declararla.
Por lo general, siempre se trata de utilizar lo menos posible la declaracin de
variables globales. El siguiente ejemplo muestra que se pueden declarar
variables en cualquier parte del programa, siempre y cuando se declaren antes
de usarlas.
programa # 4
#include <iostream>
using namespace std;
int main( ){
int variable1=10;
cout<<"la variable 1 tiene almacenado un: "
<<variable1<<endl;
variable1=50;
int variable2=variable1+30;
cout<<"\nla variable 2 almacena un: "
<<variable2<<endl;
system(pause);
return 0;
}
Ejecucin del programa:
La variable 1 tiene almacenado un 10
La variable 2 almacena un 80
Presione una tecla para continuar. . .
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
= valor_inicial ;
Por ejemplo, si queremos declarar que una variable int de nombre a y que sea
inicializada con un valor 0 en el momento que es declarado , nosotros podramos
escribir:
int a = 0;
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
int a (0);
Ambas formas son validas y equivalentes en C++
Veamos el siguiente ejemplo :
Programa # 6
// inicializacion de variables
#include <iostream>
using namespace std;
int main ()
{
int a=5;
// valor inicial = 5
int b(2);
// valor inicial = 2
int resultado;
// valor inicial indeterminado
a = a + 3;
resultado = a - b;
cout << resultado<<endl;
system(pause);
return 0;
}
Ejecucin del programa :
6
Presione una tecla para continuar. . .
2.6 Introduccin a cadenas
Las variables que pueden almacenar los valores no numricos que son ms largos
que un carcter son conocidas como cadenas.
El librera del lenguaje C ++ proporciona el soporte a las cadenas mediante la
clase estandar string . Este no es un tipo fundamental, pero se comporta de un
modo similar como tipos fundamentales haciendo su uso ms sencillo.
Una primera diferencia con los tipos de datos fundamentales es que para
declarar y usar las variables de este tipo tenemos que incluir un archivo de
cabecera adicional en nuestro cdigo original: <string>
programa # 7
// mi primera cadena
#include <iostream>
#include <string>
using namespace std;
int main (){
string micadena = "Ao del deber ciudadano";
cout << micadena<<endl;
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
14
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
system(pause);
return 0;
}
CONSTANTES
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
2.7 Literales
Los literales son usados para expresar valores particulares dentro del cdigo
original de un programa. Ya hemos usado estos antes para dar valores concretos
a variables o expresar mensajes que quisimos que nuestros programas
imprimieran, por ejemplo, cuando escribimos
a = 10;
El 10 en este pedazo de cdigo es un literal constante.
El literales constantes puede ser dividido en Nmeros enteros, Nmeros de
Punto flotante, Carcteres, Cadenas y Valores Booleanos.
2.8 Numeros Enteros
1652
507
-274
Los nmeros anteriores son constantes
numricos
que identifica valores
decimales enteros . Ntese que para expresar una
constante numrica no
tenemos que escribir comillas dobles ("), ni ningn carcter especial. No hay
duda que es un constante: siempre que nosotros escribamos 1776 en un
programa, nos referiremos al valor 1776.
Adems de nmeros decimales (aquellos que usamos cada da) C ++ permite el
empleo como literales constantes de nmeros octales (base 8) y nmeros
hexadecimales (base 16). Si queremos expresar un nmero octal tenemos que
precederlo con 0 (el carcter cero). Y para expresar un nmero hexadecimal
tenemos que precederlo con los carcteres 0x . Por ejemplo, los literales
constantes siguiente son equivalentes
75
0113
0x4b
// decimal
// octal
// hexadecimal
//
//
//
//
int
unsigned int
long
unsigned long
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
//
//
//
//
3.14159
6.02 x 1023
1.6 x 10-19
3.0
Estos son cuatro nmeros vlidos con decimales expresados en C ++. El primer
nmero es la PI, el segundo es el nmero de Avogadro, el tercero es la carga
elctrica de un electrn (un numero sumamente pequeo ) - todos ellos
aproximados - y el ltimo es el nmero tres expresado como literal numrico de
punto flotante .
El tipo de por defecto para literales de punto flotante es double. Si usted
explcitamente quiere expresar explcitamente literal numrico float o long
double , podr usar los sufijos de f l respectivamente:
3.14159L
6.02e23f
// long double
// float
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
en \
Usted tambin puede concatenar varias cadenas separandolas por una o varios
espacios en blanco, tabuladores o newline .
"esto forma " "una simple " "cadena " "de caracteres"
Finalmente , si deseamos escribir amplias cadenas de caracteres podemos
prcederla con el prefijo L :
L"Esta es una amplia cadena de caracteres"
2. 11 Literales Booleanos
Hay slo dos valores vlidos Booleanos: verdadero y falso. Estos pueden ser
expresados en C ++ como los valores de tipo bool por usando los literales
Booleanos verdaderos y falsos.
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
#define PI 3.14159
#define NUEVALINEA '\n';
int main (){
double r=5.0;
double circle;
//radio
circle = 2 * PI * r;
cout << circle;
cout << NUEVALINEA;
system(pause);
return 0;
2.14 OPERADORES
Ahora que sabemos de
la existencia de variables y constantes, podemos
comenzar a operar con ellos. Para tal objetivo, C ++ integra a los operadores. A
diferencia de otras lenguajes cuyos operadores son principalmente las palabras
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
20
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
// operador de asignacin
#include <iostream>
using namespace std;
int main ()
{
int a, b;
// a:?, b:?
a = 10;
// a:10, b:?
b = 4;
// a:10, b:4
a = b;
// a:4, b:4
b = 7;
// a:4, b:7
cout << "a:";
cout << a;
cout << " b:";
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
21
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
a = 2 + (b = 5);
Es equivalente a:
b = 5;
a = 2 + b;
Esto quiere decir: primero asigne 5 a la variable b y luego asigne a la variable a
el valor 2 ms el resultado de la asignacin anterior de b (es decir 5), quedando
con un valor final de 7. La expresin siguiente es tambin vlida en C ++:
a = b = c = 5;
Asigna el valor de 5 a las tres variables : a, b y c.
2.14.2 Operadores Arimeticos ( +, -, *, /, % )
Las cinco operaciones aritmticas soportadas por el lenguaje C ++ son:
+ adicin
-
sustraccin
multiplicacin
divisin
% Modulo o resto
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
es equivalente a
valor += incremento;
a -= 5;
a = a - 5;
a /= b;
a = a / b;
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Ejemplo 2
B=3;
B=3;
A=++B;
A=B++;
// A contiene 4, B contiene 4 // A contiene
3, B contiene
No igual a
>
Mayor que
<
Menor que
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
// evaluado falso(0).
// evaluado verdadero(1).
// evaluado verdadero(1).
// evaluado verdadero(1).
// evaluado a falso(0).
Desde luego, en vez de usar solo constantes slo numricas, podemos usar
cualquier expresin vlida, incluyendo variables. Suponga a=2, b=3 y c=6,
(a == 5)
(a*b >= c)
(b+4 > a*c)
((b=2) == a)
// da falso(0).
// da verdadero(1)
// da falso(0)
//da verdadero(1).
The logical operators && and || are used when evaluating two expressions to
obtain a single relational result. The operator && corresponds with Boolean logical
operation AND. This operation results true if both its two operands are true, and
false otherwise. The following panel shows the result of operator && evaluating
the expression a && b:
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Los operadores lgicos && y || son usados para evaluar dos expresiones para
obtener resultado relacional simple. El operador && corresponde con la
operacin Booleana lgica AND (Y). Esta operacin resulta verdadera si sus dos
operandos son verdaderos o ambos son falsos. La siguiente tabla muestra los
resultados del operador && evaluando la expresin a && b.
a
a && b
2.14.7 OPERADOR ||
a
a || b
Por ejemplo:
( (5 == 5) && (3 > 6) ) // da falso( V && F ).
( (5 == 5) || (3 > 6) ) // da verdadero ( V || F ).
2.14.8 OPERADOR CONDICIONAL ( ? )
El operador condicional evala una expresin que devuelve un valor si aquella
expresin es verdadera y otro si la expresin es evaluada como falso. Su formato
es:
condicion ? result1 : result2
Si la condicin es verdadera la expresin devolver el resultado1 , de lo
contrario retornara el resultado2
Pag
LENGUAJE DE PROGRAMACION I
7==5 ? 4 : 3
7==5+2 ? 4 : 3
5>3 ? a : b
DEV C++
// devuelve 3
// devuelve 4
// devuelve el valor de a.
// conditional operator
#include <iostream>
using namespace std;
int main ()
{
int a,b,c;
a=2;
b=7;
c = (a>b) ? a : b;
cout << c;
return 0;
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
a = (b=3, b+2);
Primero asignara el valor 3 a la b, y luego asignara b+2 a la variable a. Tan, al
final, la variable a contendra el valor 5 mientras la variable b contendra el valor
3.
2.14.10 Operador tipo Casting ( Conversin de tipo de datos)
El tipo operador Casting le permite convertir un dato de un tipo dado al otro.
Hay varios modos de hacer esto en C ++. El ms simple, que ha sido heredado
del lenguaje C, debe preceder la expresin para ser convertida por el nuevo tipo
incluido entre parntesis (()):
int i;
float f = 3.14;
i = (int) f;
El cdigo anterior convierte el nmero 3.14 de punto flotante a un valor de
nmero entero (3), el resto se pierde. Aqu, el operador typecasting era (int).
Otro modo de hacer la misma cosa en C ++ es usando la notacin funcional:
precediendo la expresin a ser convertida por el tipo encerrando la expresin
entre parntesis:
i = int ( f );
Ambas formas de conversin de tipos son validos en C++.
2.15 Jerarquia de operadores
Cuando se escriben expresiones complejas con varios operandos, podemos tener
algunas dudas sobre el cual operando es evaluado primero y cual despus . Por
ejemplo, en esta expresin:
a = 5 + 7 % 2
Podremos dudar sobre su interpretacin :
a = 5 + (7 % 2)
a = (5 + 7) % 2
// resulta 6, o
// resulta 0
Operador
::
Descripcion
ambito
agrupacion
Izq. A der.
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
() [] . -> ++ -- dynamic_cast
static_cast reinterpret_cast
const_cast typeid
postfix
unario (prefix)
* &
indireccion y
reference
(punteros)
+ -
Operador de signo
unario
(type)
type casting
Der. A izq
.* ->*
Puntero -amiembro
Izq. A der
* / %
multiplicativo
Izq. A der
+ -
aditivo
Izq. A der
<< >>
shift
Izq. A der
relacional
Izq. A der
10
== !=
equality
Izq. A der
11
&
bitwise AND
Izq. A der
12
bitwise XOR
Izq. A der
13
bitwise OR
Izq. A der
14
&&
logical AND
Izq. A der
15
||
logical OR
Izq. A der
16
?:
condicional
Der. A izq
17
asignacion
Der. A izq
18
coma
Der. A izq
Izq. A der.
Der. A izq
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
o
a = (5 + 7) % 2;
Dependiendo de la operacin que buscamos
Si se quiere escribir expresiones complicadas y usted no est completamente
seguro de los niveles de preferencia, siempre incluya parntesis. Esto tambin
har un cdigo ms fcil para leer.
// imprime Hola
// imprime el contenido de la variable hola
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
El operador de insercin (<<) puede ser usado mas de una vez en una sentencia
simple:
cout << "Hola " << "yo soy " << "una sentencia C++";
Esta ltima declaracin imprimira el mensaje Hola!, soy una sentencia C ++ en
la pantalla. La utilidad de repetir al operador de insercin (<<) es demostrada
cuando queremos imprimir una combinacin de variables y constantes o ms de
una variable
90064
sentencia.";
Primera sentencia.
Segunda sentencia
Tercera sentencia
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
31
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Primera sentencia.
Segunda sentencia.
int edad;
cin >> edad;
La primera declaracin declara una variable de tipo int llamada edad , y el
segundo espera una entrada de cin (desde el teclado) para almacenarlo en esta
variable entera. cin slo puede procesar la entrada del teclado una vez que la
tecla RETURN haya sido presionada. Por lo tanto, incluso si usted solicita un solo
carcter , la extraccin de cin no tratar la entrada hasta que el usuario presione
la tecla RETURN despus que el carcter haya sido ingresado.. Usted siempre
debe considerar el tipo de la variable que se esta usando como un contenedor de
las extracciones cin. Si usted solicita un nmero entero deber recibir un
nmero entero, si usted solicita un carcter , deber recibir un carcter y si
usted solicita una cadena de caracteres usted deber ingresar una cadena de
caracteres.
Programa # 13
//ejemplo entrada y salida
i/o
#include <iostream>
using namespace std;
int main ()
{
int i;
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
32
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
El usuario de un programa puede ser uno de los factores que generan errores
an en los programas ms simples que usan cin (como el que que acabamos de
ver). Desde si usted solicita un valor de nmero entero y el usuario introducen un
nombre o cadena de caracteres el resultado puede causar su programa una
operacin fallida ya que no es lo que nosotros esperbamos del usuario.
Tambien se podra usar cin cuando se requieran ingresar mas de un dato.
cin >> a >> b;
Es equivalente a:
cin >> a;
cin >> b;
En ambos casos el usuario debe dar dos datos, una para la variable a y el otro
para la variable b que puede ser separada por cualquier separador vlido : un
espacio, un tab o una nueva lnea.
EJERCICIOS PROPUESTOS.
1.- Convertir la edad en aos de una persona a meses.
2.- Convertir soles a dlares.
3.- Evaluar la funcin
4.-Calcular el inters que gana un capital de x soles a una tasa de inters del
15% anual en un periodo de n aos.
5.-Dado un numero(N) cualesquiera obtener su raiz y potencia cuadrada .
6.-Convertir C a F.
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Diagrama de flujo:
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Su Sintaxis es:
if (condicin) instruccin
Donde la condicin es la expresin que est siendo evaluada. Si esta condicin es
verdadera, la declaracin es ejecutada. Si es falso, la declaracin no es
ejecutada y el programa sigue directamente despus de esta estructura
condicional.
Por ejemplo, la seccin de cdigo siguiente imprime x es 100 slo si el valor
almacenado en la variable x es igual a 100:
if (x == 100)
cout << "x es 100";
if (x == 100)
{
cout << "x is ";
cout << x;
}
Diagrama de flujo:
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Sintaxis:
if (condicion) instruccion1 else instruccion2
Por ejemplo:
if (x == 100)
cout << "x es 100";
else
cout << "x no es 100";
Diagrama de flujo:
es positivo";
0)
es negativo";
es 0";
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Recuerde que en caso de que queremos que ms que una declaracin sola sea
ejecutada, debemos agruparlos en un bloque por incluyndolos entre llaves.
Programas Propuestos
1.- Capturar un nmero cualesquiera e informar si es o no es mayor de 100
2.- Capturar un numero entero cualesquiera e informar si es o no es mltiplo de
4 ( recordar el operador mod(%), analizado en el tema de operadores
aritmticos).
1 - Se ingresan tres notas de un alumno, si el promedio es mayor o igual a once
mostrar el mensaje 'Promocionado'. Tener en cuenta que para obtener
el promedio debemos operar suma=nota1+nota2+nota3; y luego
hacer promedio=suma/3;
3.-Una compaa de alquiler de automviles sin conductor, desea un
programa para emitir las facturas de sus clientes, teniendo presente
los siguientes puntos:
Cantidad fija de $500 si no rebasan los 300 Kms.
Distancia recorrida mayor de 300 Kms.:
Si Dist > 300 Kms. y <= 1000 Kms. se pagar $500 + $30 por Km extra.
Si Dist > 1000 Kms. se pagar $500 $30 por Km extra hasta los primeros
1000 Kms. y $20 por Km.
extra a partir del Km. 1000.
1 - Realizar un programa que lea por teclado dos nmeros, si el primero es mayor al segundo
informar su suma y diferencia, en caso contrario informar el producto y la divisin del
primero respecto al segundo.
2 - Se ingresa por teclado un valor entero, mostrar una leyenda que indique si el nmero es positivo,
cero o negativo.
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
de 5 %.
c) Si el sueldo es mayor o igual a 500 mostrar el sueldo en la pgina sin cambios
Diagrama de flujo:
switch (expresion)
{
case constante1:
grupo de instrucciones 1;
break;
case constante2:
group of statements 2;
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
38
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
break;
.
.
.
default:
grupo default de instrucciones
}
.
Equivalente if-else
switch (x) {
if (x == 1) {
case 1:
cout << "x es 1";
cout << "x es 1";
}
break;
else if (x == 2) {
case 2:
cout << "x es 2";
cout << "x es 2";
}
break;
else {
default:
cout << " valor de x desconocido ";
cout << "valor de x desconocido";
}
}
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
switch (x) {
case 1:
case 2:
case 3:
cout << "x es 1, 2 o 3";
break;
default:
cout << "x no es 1, 2 o 3";
}
Note que el interruptor slo puede ser usado para comparar una expresin contra
constantes. Por lo tanto no podemos poner variables como etiquetas (por
ejemplo case n : donde la n es una variable) o rangos (case (1 .. 3):) porque
ellos no son constantes validas en C ++ .
Si usted tiene que comprobar rangos o los valores que no son constantes, se
usan un anidamiento if..else
Ejercicios Propuestos
1.- Escribe un programa que calcule el sueldo semanal de un empleado, si la
empresa donde trabaja, paga a sus empleados por horas trabajadas
semanalmente, siguiendo las siguientes consideraciones:
Existen dos departamentos, en los que a sus empleados se les pagan las
siguientes cantidades por hora:
1) Contabilidad
6.25 Soles/hora
2) Produccin
2.45 Soles/hora
Adems la empresa otorga a sus empleados un bono por asistencia segn el
reporte de asistencias del ltimo ao
0 (cero) faltas... 18.50 soles adicionales
2 faltas...............
9.00 soles adicionales
3 faltas...............
3.00 soles adicionales
Ms de 3 faltas no recibe bono por asistencia
El programa deber preguntar:
El departamento en que trabaja en el empleado (1 =contabilidad 2
=produccin), el nmero de faltas que tiene en el ltimo ao trabajado y horas
trabajadas por semana.
Despus de pedir esta informacin el programa calcular el sueldo integrado del
empleado, que se obtendr de la siguiente manera:
sueldo_neto= (horas_trabajadas*sueldo_diario)
sueldo_integrado=sueldo_neto+bono_por_asistencia
Finalmente mostrara un reporte como el siguiente:
Sueldo neto......................:xxxxx.xx
Bono por asistencia........:xxxxx.xx
Sueldo integrado..............:xxxxx.xx
2.-Un almacn de alimentos, atendiendo al monto anual que los clientes compran
al almacn, los clasifica y les otorga descuentos permanentes segn la tabla que
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
40
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
se muestra a continuacin:
a.- Cliente Preferente
recibe el 5% de descuento en montos menores a 500.00 soles
recibe el 10% de descuento en montos de 500.00 soles o ms
b.- Cliente especial
recibe el 2% de descuento en montos menores a 500.00 soles
recibe el 5% de descuento en montos de 500.00 soles o ms
c.- Cliente Ordinario
no recibe descuento
El programa deber preguntar la clasificacin del cliente y el monto a pagar,
posteriormente mostrar un reporte como el siguiente:
Monto a pagar...................:xxxxx.xx
Descuento.........................:xxxxx.xx
TOTAL con descuento......:xxxxx.xx
3.-Una empresa familiar de zapatos, fabrica 3 modelos de zapatos para caballero
con los siguientes precios de venta:
1.- Modelo Ejecutivo..........345.50
2.- Modelo Premier............298.70
3.- Modelo Emperador......246.00
Los 3 modelos son fabricados nicamente en talla 8. La empresa planea fabricar
los tres modelos tambin en tallas 9 y 10, y desea un programa que calcule los
precios de venta para estas nuevas tallas. Se sabe que por cada nmero que se
aumente en la talla del zapato, su precio de venta deber incrementarse 10
soles, esto significa que si el modelo Emperador cuesta 246.00 soles en medida
nmero 8, su costo en nmero 9 ser 256.00 y en 10 es 266.00
Escribe un programa que pida el modelo del zapato (a, b c) y la medida (8,9
10) e imprima en pantalla su precio de venta correspondiente.
4.-Una asociacin de asistencia social otorga las siguientes cantidades por
concepto de beca mensual a estudiantes con pobreza extrema y moderada, de
los siguientes 3 niveles:
a) Primaria..................beca bsica=300.00
b) Secundaria.............beca bsica=600.00
c) Preparatoria............beca bsica=900.00
Adicionalmente se suman las siguientes cantidades a la beca bsica dependiendo
del estado de la vivienda en la que habita el estudiante.
1) Su familia vive en casa propia.....= no se incrementa su beca bsica.
2) Su familia renta casa.....................= se suman 100.00 soles a su beca
bsica.
3) Vivienda irregular, sin servicios..= se suman 200.00 soles a su beca bsica.
Escribe un programa que pregunte el nivel del estudiante:
( a)primaria, b)secundaria c)preparatoria)
Pregunte tambin la condicin de la vivienda que el estudiante habita:
(1) casa propia, 2)casa rentada 3)vivienda irregular, sin servicios)
Posteriormente muestre en pantalla el monto total de su beca.
5.-Escribe un programa que muestre nombres propios para hombre o mujer, cuya
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
41
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
primer letra sea una vocal, esto es, el programa deber pedir la Vocal con la que
se desea el nombre (a, e, i, o, u), y preguntar si se desea nombre para hombre o
para mujer (1.- hombre, 2.- mujer), posteriormente mostrar el nombre que
corresponda a esa seleccin, los nombres propuestos son:
Alberto...ngela
Ernesto...Emilia
Ignaciol....Iris
Octavio...Odalis
Ulises....Ursula
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
int main ()
{
int n;
cout << "Ingrese numero inicial > ";
cin >> n;
while (n>0) {
cout << n << ", ";
--n;
}
cout << "FIN\n";
system(pause);
return 0;
}
1.
2.
3.
Cuando creamos un lazo While , siempre debemos considerar que tiene que
terminarse en algn punto, por lo tanto debemos proporcionar dentro del bloque
algn mtodo de obligar a la condicin de hacerse falsos en algn punto, si no el
lazo seguir infinitamente. En este caso hemos incluido - la n; que disminuye el
valor de la variable que es evaluada en la condicin (n) en cada iteracin , hasta
que el valor de n se hace cero y por tanto la condicin sea falsa terminando el
lazo.
Ing. Javier Echegaray Rojo / Ing. Wilder Romn Munive
43
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Desde luego esto es una accin tan simple para nuestro ordenador que la cuenta
regresiva entera es realizada al instante y sin demora .
Ejercicios Propuestos
1 - Realizar un programa que imprima 25 trminos de la serie 11 - 22 - 33 - 44,
etc. (No se ingresan valores por teclado).
2 - Mostrar los mltiplos de 8 hasta el valor 500. Debe aparecer en pantalla 8 -16
-24, etc.
3 - Escribir un programa que lea 10 notas de alumnos y nos informe cuntos
tienen notas mayores o iguales a 11 y cuntos menores.
4 - Se ingresan un conjunto de 5 alturas de personas por teclado. Mostrar la
altura promedio de las personas
5 - En una empresa trabajan 5 empleados cuyos sueldos oscilan entre $100 y
$500, realizar un programa que lea los sueldos que cobra cada empleado e
informe cuntos empleados cobran entre $100 y $300 y cuntos cobran ms de
$300. Adems el programa deber informar el importe que gasta la empresa en
sueldos al personal.
6 - Desarrollar un programa que permita cargar 5 nmeros enteros y luego nos
informe cuntos valores fueron pares y cuntos impares.
Emplear el operador "%" en la condicin de la estructura condicional
if (valor%2==0)
El operador "%" retorna el resto de la divisin valor / 2. Por ejemplo: 12 % 2,
retorna 0; 13 % 2, retorna 1, porque el resto de dividir 13 en 2 es 1.
do instruccin
while (condicion);
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
siguiente repite cualquier nmero en el que usted ingrese hasta que usted
ingrese 0
Programa # 15
#include <iostream>
using namespace std;
int main ()
{
unsigned long n;
do {
cout << "Ingrese un numero (0 para terminar): ";
cin >> n;
cout << "Ha ingresado: " << n << "\n";
} while (n != 0);
system(pause);
return 0;
}
Ejecucin del programa:
12
0
Pag
LENGUAJE DE PROGRAMACION I
c)
DEV C++
Cantidad de mujeres.
Y su principal
funcin es
repetir la
declaracin
mientras
la
condicin
sea
verdadera, como en
el lazo while . Pero
adems, el lazo for proporciona posiciones
especficas para contener una declaracin de
inicializacin y una declaracin de incremento.
Entonces este lazo sobre todo es diseado
para realizar una accin repetidora con un
contador que es inicializado e incrementado
sobre cada iteracin
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIN!
Presione una tecla para continuar. . .
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
+ Y
= Z2
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
Pag
LENGUAJE DE PROGRAMACION I
DEV C++
int n=10;
lazo:
cout << n << ", ";
n--;
if (n>0) goto lazo;
cout << "FIN!\n";
system(pause);
return 0;
}
Pag