PROGRAMACIÓN EN C++ (1)

download PROGRAMACIÓN EN C++ (1)

of 74

Transcript of PROGRAMACIÓN EN C++ (1)

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    1/74

    PROGRAMACIN EN C++

    Introduccin al curso

    C++ es un lenguaje de programacin creado por Bjarne Stroustrupen los laboratorios de At&T en 1983.

    Stroustrup tom como base el lenguaje de programacin ms popular en a!uella "poca el cual era C.

    #l C++ es un deri$ado del m%tico lenguaje C el cual 'ue creado en la d"cada de los () por la mano del

    'inado*ennis itc,iepara la programacin del sistema operati$o -un sistema parecido a ni/

    es 02inu/4 el cual surgi como un lenguaje orientado a la programacin de sistemas -S5stem

    6rogramming4 5 de ,erramientas -tilities4 recomendado sobre todo para programadores e/pertos 5

    !ue no lle$aba implementadas muc,as 'unciones !ue ,acen a un lenguaje ms comprensible.

    Sin embargo aun!ue esto en un inicio se puede con$ertir en un problema en la prctica es su ma5or

    $irtud 5a !ue permite al programador un ma5or control sobre lo !ue est ,aciendo. A7os ms tarde un

    programador llamado Bjarne Stroustrup creo lo !ue se conoce como C++.

    ecesitaba ciertas 'acilidades de programacin incluidas en otros lenguajes pero !ue C no soportaba

    al menos directamente como son las llamadas clases 5 objetos principios usados en la programacin

    actual. 6ara ello redise7 C ampliando sus posibilidades pero manteniendo su ma5or cualidad la de

    permitir al programador en todo momento tener controlado lo !ue est ,aciendo consiguiendo as% una

    ma5or rapide !ue no se conseguir%a en otros lenguajes.

    C++ pretende lle$ar a C a un nue$o paradigma de clases 5 objetos con los !ue se realia unacomprensin ms ,umana basndose en la construccin de objetos con caracter%sticas propias solo de

    ellos agrupados en clases. #s decir si 5o !uisiera ,acer un programa sobre animales crear%a una clase

    llamada animales en la cual cada animal por ejemplo un pato ser%a un objeto de tal manera !ue se

    $e el intento de esta 'orma de programar por ser un 'iel re'lejo de cmo los ,umanos -en teor%a4

    manejamos la realidad.

    Se dice !ue nuestro cerebro trabaja de 'orma relacional -relacionando ,ec,os4 es por ello !ue cada $e

    !ue recuerdas algo -cuentas un ,ec,o4 termina siendo di'erente -se agregan u omiten partes4.

    https://es.wikipedia.org/wiki/Bjarne_Stroustruphttps://es.wikipedia.org/wiki/Dennis_Ritchiehttps://es.wikipedia.org/wiki/Dennis_Ritchiehttps://es.wikipedia.org/wiki/Dennis_Ritchiehttps://es.wikibooks.org/wiki/GNU/Linuxhttps://en.wikipedia.org/wiki/System_programminghttps://en.wikipedia.org/wiki/System_programminghttps://es.wikipedia.org/wiki/Dennis_Ritchiehttps://es.wikibooks.org/wiki/GNU/Linuxhttps://en.wikipedia.org/wiki/System_programminghttps://en.wikipedia.org/wiki/System_programminghttps://es.wikipedia.org/wiki/Bjarne_Stroustrup
  • 7/25/2019 PROGRAMACIN EN C++ (1)

    2/74

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    3/74

    #jercicio 1

    Escriba un programa que nos permita hallar el rea de un tringulo

    :include ;iostream

    'loat basealturaarea=

    cout;;?@ngrese la base del triangulo?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    4/74

    $olumen E236@poG-radio34=

    cout;;?#l $olumen es ?;;$olumen;;endl=

    return )=

    D#jercicio 3

    Escriba un programa que lea 3 notas $ muestre el promedio final%

    :include ;iostream

    'loat nota1notanota3promedioHinal=

    cout;;?ota 1?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    5/74

    cout;;?os grados en 'a,ren,eit es ?;;'a,ren,eit;;endl=

    return )=

    D

    #jercicio F&alcular la distancia entre + puntos (0 $ 0+) locali1ados en un plano 2%

    istancia = "ai1((5+-5) #+ ($+-$) #+)

    :include ;iostream

    cout;;?#ntro al i'?;;endl=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    8/74

    else>

    cout;;?o se cumple el i'?;;endl=

    D

    return )=D

    :include ;iostream

    2#STCTA CJ*@C@JA NT@6#2

    c,ar $ariable=2c,ar2

    cin

    cout;;?#l numero es par?;;endl=

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    9/74

    D

    else>

    cout;;?#l numero es impar?;;endl=

    D return )=

    D

    #jercicio (

    Escriba un programa que diga si un n6mero es positivo7 negativo o neutro

    :include ;iostream

    int numero=

    cout;;?@ngrese el numero?=

    cin

    cout;;?#l numero es negati$o?;;endl=

    D

    else>

    cout;;?#l numero es neutro?;;endl=

    D

    return )=

    D

    #jercicio 8

    En un estacionamiento cobran 8/%%9 por hora o fracci:n% ise;e un programa que determine

    cuanto debe pagar un cliente por el estacionamiento de su veh int ,orasminutos=

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    10/74

    'loat total=

    cout;;?Roras?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    11/74

    case Pcout;;?unio?=

    breaI=

    case (cout;;?ulio?=

    breaI= case 8cout;;?Agosto?=

    breaI=

    case 9cout;;?Setiembre?=

    breaI=

    case 1)cout;;?Jctubre?=

    breaI=

    case 11cout;;?o$iembre?= breaI=

    case 1cout;;?*iciembre?=

    breaI=

    de'ault cout;;?umero de mes incorrecto?;;endl=

    D

    return )=

    D

    #jercicio 1)

    &onstru$a un programa que identifique si una letra es una vocal%

    :include ;iostream

    c,ar letra=

    cout;;?@ngrese un letra?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    12/74

    case OeO

    case OiO

    case OoO

    case OuO case OAO

    case O#O

    case O@O

    case OJO

    case OOcout;;?#s una $ocal?;;endl=

    breaI=

    de'aultcout;;?o ,a ingresado una $ocal?;;endl= D

    return )=

    D

    #jercicio 11

    !ngresar el sueldo de un trabaador7categoria7 condicion estable(E) o no estable(>) $ reportar el

    pago total que se le debe hacer de acuerdo a lo siguiente% El porcentae de bonificacion conrespecto al sueldo se calcula con respecto a la siguiente tabla?

    &@AEBC"!@ EDA@FE >C EDA@FE

    @ +9G .G

    HG G

    & G 4G

    +G 9G

    El clculo del descuento es con respecto al sueldo bonificaci:n%

    Estable IG >o estable 4G

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    13/74

    :include ;iostream

    'loat sueldo= c,ar categoriacondicion=

    cout;;?Categoria?=

    cin

    sGitc,-categoria4>

    case OAO sueldo sueldo1.1(=

    breaI=

    case OBO sueldo sueldo1.1F=

    breaI=

    case OCO sueldo sueldo1.1E=

    breaI=

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    14/74

    case O*O sueldo sueldo1.1)=

    breaI=

    D

    sueldo sueldo).9P= D

    cout;;?#l sueldo 'inal es ?;;sueldo;;endl=

    return )=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    15/74

    #STCTAS #6#T@T@AS

    :include ;iostream

    2 #structuras repetiti$a

    1.M U,ile M< Nientras

    .M *o U,ile M< Racer mientras

    2

    int numero F=

    2 ?6#?MCJ*@C@J 2

    G,ile-numeroP4>

    cout;;?Ciclo G,ile?;;endl=

    D

    2 ?6JST? CJ*@C@JA2

    do>

    cout;;?Ciclo doMG,ile?;;endl=

    DG,ile-numeroP4=2;MM2

    return )=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    16/74

    Contadores

    :include ;iostream

    2 Contador 5 acumulador

    2

    int contador)acumulador)=

    cout;;acumulador;;endl=

    G,ile-contador;1)4>

    cout;;contador;;endl=

    contador++=

    acumulador acumulador + contador=

    2

    CJTA*J ACNA*J

    ) )

    1 1

    3

    3 P

    E 1)

    F 1F

    P 1

    ( 8

    8 3P

    9 EF

    1) FF

    11 PP

    2

    D

    cout;;?Contador ?;;contador;;endl=

    cout;;?#l $alor de acumulador es ?;;acumulador;;endl=

    return )=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    17/74

    #structura Hor

    :include ;iostream

    2 #structura 'or -6ara4 2

    'or-int i1=i;1)=iMM4>

    cout;;i;;endl=

    D

    return )=

    D

    Vmbito de una $ariable

    :include ;iostream

    2 Ambito de una $ariable 2

    'or-==i++4>

    cout;;i;;endl=

    i'-true4>

    cout;;i;;endl=

    D

    D

    return )=

    D

    #jercicio 1

    Jostrar los primeros n6meros naturales%

    :include ;iostream

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    18/74

    'or-int i)=i;1))=i++4>

    cout;;i;;endl=

    D

    return )=D

    #jercicio 13

    Escriba un programa que calcule la cantidad de d

    int numerocontador)=

    cout;;?@ngrese el numero?=

    cin

    'loat numerosuma)=

    do>

    cout;;?umero?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    19/74

    D

    DG,ile-numero %

    :include ;iostream

    int =

    'loat suma)=

    cout;;?@ngrese ?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    20/74

    int =

    cout;;?@ngrese ?=

    cin

    cout;;??=

    D

    cout;;endl=

    D

    return )=

    D

    #jercicio 1(

    Fos tKrminos de la sucesi:n de 'ibonacci se calculan as

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    21/74

    D

    cout;;?#l nMesino termino es ?;;an;;endl=

    D

    return )=D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    22/74

    ARRELGO !NI"IMENIONALE # BI"IMENIONALE

    Arreglos unidimensionales

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    23/74

    :include ;iostream

    2 Arreglos unidimensionales 2 int arreglo1X1)Y=2declaracion2

    int arregloXY>13EFD=2asignacion2

    'or-int i)=i;1)=i++4>

    cout;;?@ndice ?;;i;;??=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    24/74

    return )=

    D

    Bu''er de entrada

    :include ;iostream

    2 BHH# *# #TA*A 2

    c,ar nombreXFY=

    int edad=

    2BHH#

    2

    cout;;?@ngresa tu edad?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    25/74

    cout;;?A#0J 1?;;endl=

    'or-int i)=i;NAK=i++4>

    cout;;?@ndice ?;;i;;? ?=

    cin

    arreglo3XiY arreglo1XiYarregloXiY=

    D

    'or-int i)=i;NAK=i++4>

    cout;;arreglo3XiY;;? ?=

    D

    return )=

    D

    #jercicio 19

    ea arreglos enteros 5 genere otro con la combinacin de ambos arreglos.

    o necesariamente tendrn la misma dimensin.

    Arreglo1 1 3 E

    Arreglo F P (

    Arreglo3 1 3 E F P (

    :include ;iostream

    cout;;arreglo3XiY;;? ?=

    D

    return )=

    D

    #jercicio )

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    27/74

    ea su nombre en min]scula 5 muestre por consola su nombre escrito en ma5]scula. se la'uncin toupper.

    :include ;iostream

    c,ar nombreX3)Yc=

    int i)=

    cout;;?@ngresa tu nombre?=

    cin.getline-nombre3)4=

    G,ile-nombreXiY4>

    c toupper-nombreXiY4=

    i++=

    cout;;c=

    D

    return )=

    D

    #jercicio 1

    ea un arreglo e indi!ue cual es el menor elemento 5 en !u" %ndice se encuentra. F 8 P 3 1 ) 9

    N

    :include ;iostream

    int arregloX1)Y=

    int menor= 'or-int i)=i;1)=i++4>

    cout;;?@ngrese el $alor de indice ?;;i;;? ?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    28/74

    menor i=

    D

    D

    cout;;?#l menor elemento es ?;;arregloXmenorY;;? con el indice ?;;menor;;endl= return )=

    D

    #jercicio

    Jrdenamiento Burbuja

    F 3 1 P E ( M< despues del primer paso

    3 1 F E P ( M< despues del segundo paso

    1 3 E F P ( M< despues del tercer paso 1 3 E F P ( M< despues del cuarto paso

    1 3 E F P ( M< despues del !uinto paso

    ( P F E 3 1 M< necesitaria ( pasos

    :include ;iostream

    int AXY>PF93)18(ED=

    'or-int i)=i;1)=i++4>

    'or-int e)=e;9=e++4>

    i'-AXeY;AXe+1Y4>

    int au/ AXeY=

    AXeY AXe+1Y=

    AXe+1Y au/=

    D

    D

    D

    'or-int e)=e;1)=e++4>

    cout;;AXeY;;? ?=

    D

    return )=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    29/74

    Arreglos bidimensionales

    :include ;iostream 2 NAT@C#S

    C) C1 C

    H) 1 3

    H1 E F P

    H ( 8 9

    2

    int AXYX3Y>>13D>EFPD>(89DD= int 'ilas3columnas3=

    int BX'ilasYXcolumnasY=

    'or-int i)=i;'ilas=i++4>

    'or-int j)=j;columnas=j++4>

    cout;;?X?;;i;;?YX?;;j;;?Y ?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    30/74

    #scriba un programa !ue pida al usuario los datos de dos matrices de / 5 luego muestre susuma.

    :include ;iostream

    'or-int j)=j;3=j++4>

    CXiYXjY )=

    'or-int I)=I;3=I++4> CXiYXjY CXiYXjY + -AXiYXIYBXIYXjY4=

    D

    cout;;CXiYXjY;;? ?=

    D

    cout;;endl=

    D

    return )=

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    32/74

    D

    #jercicio F

    #scriba un programa !ue genere la matri transpuesta de

    una matri. 1 3 1 E

    E F P F

    3 P

    :include ;iostream

    int AXYX3Y>>13D>EFPDD=2 'ilas 3 columnas 2 int 'ilas columnas 3=

    int BXcolumnasYX'ilasY=

    'or-int i)=i;'ilas=i++4>

    'or-int j)=j;columnas=j++4>

    BXjYXiY AXiYXjY=

    D

    D

    'or-int i)=i;columnas=i++4>

    'or-int j)=j;'ilas=j++4>

    cout;;BXiYXjY;;? ?=

    D

    cout;;endl=

    D

    return )=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    33/74

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    34/74

    P!N$ERO # RE%ERENCIA

    *eclaracin de un puntero 5 operador de direccin

    :include ;iostream

    2 6T#JS

    M< declaracion de puntero

    & M< direccin de ...

    partes de la $ariable

    nombre 5 tipo

    contenido

    direccin de memoria

    2

    int $ar 1))= int puntero &$ar=

    cout;;?Contenido de $ar ?;;$ar;;endl=2 N#STJ # CJT#@*J *# A A@AB# 2

    cout;;?*ireccin de $ar ?;;&$ar;;endl=2 N#STJ A *@#CC@_ *# A A@AB# 2

    cout;;endl=

    cout;;?Contenido del puntero ?;;puntero;;endl=

    cout;;?*ireccion del puntero ?;;&puntero;;endl=

    return )=

    D

    Jperador de indireccin

    :include ;iostream

    2 @ndireccion

    M< indireccion M< dentro de la direccion

    2

    int $ar 1)1)=

    int puntero &$ar=2 E b5tes 2

    puntero F)=

    cout;;?#l $alor de $ar es ?;;$ar;;endl=

    return )=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    36/74

    e'erencias

    :include ;iostream 2 e'erencia

    & M< operador de re'erencia

    2

    int $ar 1))=

    int &re'erencia $ar=

    cout;;?#l contenido de $ar es ?;;$ar;;endl=

    cout;;?a direccion de $ar es ?;;&$ar;;endl= cout;;endl=

    cout;;?#l contenido de re'erencia es ?;;re'erencia;;endl=

    cout;;?a direccion de re'erencia es ?;;&re'erencia;;endl=

    return )=

    D

    Arreglos 5 aritm"tica de punteros

    :include ;iostream

    2 6T#JS L A#0JS 2

    int arra5XY >1))3)E)D=

    cout;;arra5;;endl=

    cout;;-arra5+14;;endl=

    cout;;-arra5+4;;endl=

    cout;;-arra5+34;;endl=

    return )=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    37/74

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    38/74

    %!NCIONE

    Hunciones 5 procedimientos

    :include ;iostream

    i'-es6ar-844>

    cout;;?#l numero es par?;;endl=

    D

    else>

    cout;;?o es par?;;endl=

    D return )=

    D

    $oid mensaje-4>

    cout;;?Nensaje dentro de un procedimiento?;;endl=

    D

    int suma-int aint b4>

    int c a+b=

    return c=

    D

    bool es6ar-int a4>

    i'-aQ)4>

    return true=

    D

    else>

    return 'alse=

    D

    D

    6aso por $alor 5 paso por re'erencia

    :include ;iostream

    int numero F=

    cout;;?Antes del procedimiento ?;;numero;;endl=

    cambiarCien-numero4= cout;;?*espues del procedimiento ?;;numero;;endl=

    return )=

    D

    2 6ASJ 6J AJ

    6aso unicamente # AJ de la $ariable

    MMMM

    int a numero= 6ASJ 6J #H##C@A

    6aso A #H##C@A de una $ariable

    MMMM

    int &a numero=

    2

    $oid cambiarCien-int &a4>

    a 1))=

    D

    6aso de punteros

    :include ;iostream

    int numero F=

    cout;;?Antes del procedimiento ?;;numero;;endl=

    cambiarCien-&numero4= cout;;?*espues del procedimiento ?;;numero;;endl=

    return )=

    D

    2 6ASJ *# 6T#JS

    int a &numero=

    2

    $oid cambiarCien-int a4> a 1))=

    D

    6aso de arreglos 5 matrices

    :include ;iostream

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    42/74

    cout;;AXiY;;? ?=

    D

    cout;;endl=

    D$oid llenarArreglo-int AXYint 4>

    'or-int i)=i;=i++4>

    cout;;?#lemento ?;;i;;??=

    cin

    cout;;NXiYXjY;;? ?=

    D

    cout;;endl=

    D

    D

    $oid llenarNatri-int NXYXNAKYint 'ilasint columnas4>

    'or-int i)=i;'ilas=i++4>

    'or-int j)=j;columnas=j++4>

    cout;;?#lemento ?;;i;;??;;j;;??=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    43/74

    'loat suma-'loat'loat4=

    double suma-doubledouble4=

    'loat suma-intdouble4=

    int main-4> int a 1)bE)=

    'loat c E).)d F).)=

    double e 1)).F)=

    cout;;suma-cd4;;endl=

    return )=

    D

    int suma-int aint b4> return a+b=

    D

    'loat suma-'loat a 'loat b4>

    return a+b=

    D

    double suma-double adouble b4>

    return a+b=

    D

    'loat suma -int adouble b4>

    return a+b=

    D

    #jercicio P

    #scriba una 'uncion !ue calcule la potencia de un numero

    $alor M< e/ponente

    ` 3 8

    :include ;iostream

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    44/74

    cout;;potencia-((4;;endl=

    return )=

    D

    int potencia-int $alorint e/ponente4> 2 ` 3 2

    int acumulador 1=

    'or-int i1=i;e/ponente=i++4>

    acumuladoracumulador$alor=

    D

    return acumulador=

    D#jercicio (

    #scriba una 'uncion !ue diga si dos n]meros son amigos.

    *os numeros son amigos si cada uno de ellos es igual a la suma de

    los di$isores del otro.

    8E 1 + + E + (1 + 1E )

    ) 1 + + E + F + 1) + 11 + ) + + EE + FF + 11) 8E

    :include ;iostream

    i'-sonAmigos-8E)44>

    cout;;?Son amigos?;;endl=

    D

    else>

    cout;;?J son amigos?;;endl=

    D

    return )=

    D

    bool sonAmigos-int n1int n4>

    i'-suma*i$isores-n14 n && suma*i$isores-n4n14>

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    45/74

    return true=

    D

    else>

    return 'alse= D

    D

    int suma*i$isores-int numero4>

    2 1) M< 1 3 E F P ( 8 9 2

    int acumulador )=

    'or-int i1=i;numero2=i++4>

    i'-numeroQi)4> acumulador acumulador + i=

    D

    D

    return acumulador=

    D

    #jercicio 8

    Cree una 'uncion !ue permita in$ertir los elementos de un arreglo

    :include ;iostream

    int arregloXY>9)18D=

    mostrarArreglo-arregloE4=

    in$ertir-arregloE4=

    mostrarArreglo-arregloE4=

    return )=

    D

    $oid in$ertir -int AXYint 4>

    2

    9)F18 M< 8 1 F ) 9

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    46/74

    ) 1 3 E

    9 ) 1 8 M< 8 1 ) 9

    2

    'or-int i)=i;2=i++4> int au/ AXiY=

    AXiY AXM1MiY=

    2

    ) 3

    1

    2

    AXM1MiY au/= D

    D

    $oid mostrarArreglo-int AXYint 4>

    'or-int i)=i;=i++4>

    cout;;AXiY;;? ?=

    D

    cout;;endl=

    D

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    47/74

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    48/74

    REGI$RO

    :include ;iostream

    c,ar nombreX3)Y=2 campos 2 c,ar apellidoX3)Y=

    int edad=

    D=

    int main-4>

    2 #0@STJS 2

    6ersona p=

    cout;;?@ngrese el nombre?=

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    49/74

    cin.getline-p.nombre3)4=

    cout;;?@ngrese el apellido?=

    cin.getline-p.apellido3)4=

    cout;;?@ngrese la edad?= cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    50/74

    int main-4>

    6ro$eedor pro$eedoresX3)YmasBaratomasCaro=

    int F=

    llenar6ro$eedores-pro$eedores4= masBarato buscarNasBarato-pro$eedores4=

    masCaro buscarNasCaro-pro$eedores4=

    cout;;?6J##*J NAS BAATJ?;;endl=

    mostrar6ro$eedor-masBarato4=

    cout;;?6J##*J NAS CAJ?;;endl=

    mostrar6ro$eedor-masCaro4=

    return )=D

    $oid llenar6ro$eedores-6ro$eedor AXYint 4>

    'or-int i)=i;=i++4>

    cout;;?6ro$eedor ?;;i+1;;endl=

    cout;;? ombre ?=

    cin.getline-AXiY.nombre3)4=

    cout;;?Cantidad $endida ?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    51/74

    D

    D

    return masCaro=

    D6ro$eedor buscarNasBarato-6ro$eedor AXYint 4>

    6ro$eedor masBarato AX)Y=

    'or-int i1=i;=i++4>

    i'-AXiY.precionitario;masBarato.precionitario4>

    masBarato AXiY=

    D

    D return masBarato=

    D

    $oid mostrar6ro$eedor-6ro$eedor p4>

    cout;;? ombre ?;;p.nombre;;endl=

    cout;;?6recio nitario ?;;p.precionitario;;endl=

    cout;;?Cantidad $endida?;;p.cantidadendida;;endl=

    cout;;? @mporte ?;;p.importe;;endl=

    D

    #jercicio 9

    #scribir un programa !ue permita ingresar el nombre 5 3 notas de alumnos 5 los almacene en unarra5 de estructura. Nostrar los alumnos ingresados inclu5endo su promedio ordenado por ordende merito.

    :include ;iostream

    c,ar nombreX3)Y=

    'loat nota1=

    'loat nota=

    'loat nota3=

    'loat promedio=

    D=

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    52/74

    $oid llenarAlumnos-AlumnoXYint4=

    $oid mostrarAlumnos-AlumnoXYint4=

    $oid ordenar6romedios-AlumnoXYint4=

    int main-4> Alumno alumnosX3)Y=

    int E=

    llenarAlumnos-alumnos4=

    ordenar6romedios-alumnos4=

    cout;;?J*# *# N#@TJ?;;endl=

    mostrarAlumnos-alumnos4=

    return )=D

    $oid llenarAlumnos-Alumno AXYint 4>

    'or-int i)=i;=i++4>

    cout;;?ANJ ?;;i+1;;endl=

    cout;;?ombre ?=

    cin.getline-AXiY.nombre3)4=

    cout;;? ota 1 ?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    53/74

    cout;;? ombre ?;;AXiY.nombre;;endl=

    cout;;?6romedio ?;;AXiY.promedio;;endl=

    cout;;endl=

    DD

    $oid ordenar6romedios-Alumno AXYint 4>

    2

    13 1 1) 9

    2

    'or-int i1=i;=i++4>

    'or-int j)=j;M1=j++4> i'-AXjY.promedio;AXj+1Y.promedio4>

    Alumno au/ AXjY=

    AXjY AXj+1Y=

    AXj+1Y au/=

    D

    D

    D

    D

    #jercicio 3)

    *ise7ar un programa !ue imprima todos los nombres apellidos 5 edades de todos los $aronesnacidos entre dos 'ec,as ingresadas desde el teclado. n registro contiene los siguientes datos ApellidosombresHec,a de nacimiento-*%aNesA7o4 edad 5 se/o

    :include ;iostream

    int dia=

    int mes=

    int an,o=

    D=

    struct 6ersona>

    c,ar nombreX3)Y=

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    54/74

    c,ar apellidoXEFY=

    int edad=

    c,ar se/o=

    Hec,a 'ec,aacimiento=D=

    $oid llenar6ersonas-6ersonaXYint4=

    $oid mostrararones-6ersonaXYintHec,aHec,a4=

    6ersona leer6ersona-4=

    Hec,a leerHec,a-4=

    bool esta#ntreHec,as-6ersonaHec,aHec,a4=

    int numero*ias-Hec,a4=int main-4>

    6ersona personasX3)Y=

    int E=

    Hec,a ini'in=

    llenar6ersonas-personas4=

    cout;;?Hec,a inicio ?=

    ini leerHec,a-4=

    cout;;?Hec,a de 'in ?=

    'in leerHec,a-4=

    cout;;endl=

    mostrararones-personasini'in4=

    return )=

    D

    $oid llenar6ersonas-6ersona 6XYint 4>

    'or-int i)=i;=i++4>

    cout;;?6#SJA ?;;i+1;;endl=

    6XiY leer6ersona-4=

    cout;;endl=

    D

    D

    $oid mostrararones-6ersona 6XYint Hec,a iniHec,a 'in4>

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    55/74

    'or-int i)=i;=i++4>

    i'--6XiY.se/o ONO4 && -esta#ntreHec,as-6XiYini'in444>

    cout;;? ombre ?;;6XiY.nombre;;endl=

    cout;;?Apellido ?;;6XiY.apellido;;endl= cout;;? #dad ?;;6XiY.edad;;endl=

    cout;;endl=

    D

    D

    D

    6ersona leer6ersona-4>

    6ersona p= cout;;? ombre ?=

    cin.getline-p.nombre3)4=

    cout;;?Apellido?=

    cin.getline-p.apellidoEF4=

    cout;;? #dad?=

    cin

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    56/74

    F2121 F + 13) + 13PF E))

    (2121 ( + 13)+13PF E

    2

    int dias@ni numero*ias-ini4= int diasHin numero*ias-'in4=

    int diasacimiento numero*ias-p.'ec,aacimiento4=

    i'-dias@ni;diasacimiento && diasacimiento;diasHin4>

    return true=

    D

    else>

    return 'alse= D

    D

    int numero*ias-Hec,a '4>

    return '.dia + '.mes3)+'.an,o3PF=

    D

    ARC&I'O "E $E($O # BINARIO

    Arc,i$os de te/to. Salida - #scritura 4

    :include ;iostream

    entrada.getline-linea8)4=

    cout;;linea;;endl=

    D

    else>

    cout;;?Arc,i$o en mal estado?;;endl=

    D

    return )=

  • 7/25/2019 PROGRAMACIN EN C++ (1)

    60/74

    D

    eer m]ltiples l%neas de te/to

    :include ;iostream

    entrada.getline-lineaFP4=

    cout;;linea;;endl=

    D

    D

    else>

    cout;;?o se puede leer?;;endl=

    D

    entrada.close-4=

    return )=

    D

    Arc,i$os Binarios. #scritura

    :include ;iostream