Lap trinh C++ - FINAL

download Lap trinh C++ - FINAL

of 71

Transcript of Lap trinh C++ - FINAL

  • 7/26/2019 Lap trinh C++ - FINAL

    1/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 2

    LP TRNH C++y l nhng ni dung c bn SV cn nm vng:

    Chng I: Gii thiuTin hc i cng (hay lp trnh C++), ni chung tinh thn ca mn hc

    l cng da phn ln vo cch lp trnh m chng tng nghin cu tin hci cng A1 (lp trnh Pascal). V vy a s nhng lnh c trong pascal chngta s gp li trong ngn ng C++, mc d c mt s im sai khc (nh cu

    php), nhng nhn chung mc ch ca nhng lnh hon ton ging vi ngnng Pascal m chng ta hc . i vi nhng tp lnh ny chng ta s khngnghin cu chi tit v mt l thuyt, m ch yu tp trung vo phn thc hnh,vn dng (c th dng phn mm chuyn ngn ng t pascal sang C++ hiu r hn- download ti http://fit.hcmup.edu.vn/~thqthu).

    Ring vi nhng tp lnh c th ring ca C++ chng ta s nghin cuk hn v phn l thuyt.

    + Ngn ng lp trnh: C+++ Mi trng lp trnh: Visual C++ 6.0 hoc Dev-Cpp

    + B gip ngn ng (help): MSDN 2001

  • 7/26/2019 Lap trinh C++ - FINAL

    2/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 3

    1.1.To v bin dch mt chng trnh C++ trn mi trng Visual C++Phn tch v d n gin: Chng trnh Hello World

    Kt qu xut ra mn hnh (Bm phm CTRL + F5, hoc F5)

    Chthch

    Chy chng trnh

    Khai bo thvin ca lnh

    std::cout

    Lnh xut chui ramn hnh

    Lnh xunghng

    Ni thng boli , n u c l i

    bm F4tm li

    Hm main:Chng trnh lun b t

    u t y

    Ni bo cnh bo: cnh bo

    khng lm nh hng n vicchy ct, tuy nhiu i vi mts cnh bo quan trng ta nn

    kim tra k

  • 7/26/2019 Lap trinh C++ - FINAL

    3/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 4

    Mt s yu cu khi trnh by son tho mt chng trnh (bt buc)

    Tab

    Ni khai both vin vhm main cchnhau 1 dng

    Cc dng lnh c ngha khc nhaunn cch nhau 1dng

    S dng phmTab lngcc dng lnhvi nhau

    Nn c ch thch cc dng lnhquan trng

  • 7/26/2019 Lap trinh C++ - FINAL

    4/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 5

    1.2 Lm quen vi mi trng lp trnh Visual C++ 6.0

    1. Chy chng trnh Microsoft Visual C++ 6.02. Vo File -> New

  • 7/26/2019 Lap trinh C++ - FINAL

    5/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 6

    3. Ti th Projects,chn Win32 Console Application,nh tn bi lm voproject name( y l BaiLamQuenVC6), chn ni lu tr bi Location( y chn lu D:\BaiLamQuenVC6) => ok

  • 7/26/2019 Lap trinh C++ - FINAL

    6/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 7

    4. Chn An empty project, nhnfinish , nhn ok

    5. Vo File -> New

  • 7/26/2019 Lap trinh C++ - FINAL

    7/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 8

    6. Ti th File, ta chn C++ source file, v nh tn file vo File Name(y l FileSource) (Ch nhng vng mu )

  • 7/26/2019 Lap trinh C++ - FINAL

    8/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 9

    7. G ni dung chng trnh Hello World

    8. Bin dch: vo Build-> Rebuild All

  • 7/26/2019 Lap trinh C++ - FINAL

    9/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 10

    Quan st cui mn hnh, nu bin dch thnh cng ta s thy dng ch 0

    error(s), 0 warning(s). Nu khng thnh cng th cn xem li on m

    mnh g vo ng cha, bm F4 tm li

    Lu :Mt thi quen tt l nn ghi li v hiu cc dng bo li lnsau c th t sa li.

    9. Chy chng trnh, bm Ctrl + F5(hoc F5, nu bm F5 Mn hnh chychng trnh c th hin th ri tt rt nhanh, do cn quan st k.)

    Lu quan trng:1. Trong mt chng trnh:

    -Hm main l ni chng trnh bt u.

    -Mt chng trnh ch c mt hm main duy nht

    2. Khi vit xong mt chng trnh, vit tip chng trnh khc, ta phi

    ng chng trnh trc i bng cch vo menu File - > Close Workspace

    3 . m mt chng trnh c sn, trong mi trng VC6++, vo File ->

    OpenWorkspace ri chn file *.dsw

    4. Trong th mc cha chng trnh, ta lun c 1 th mc Debug, trong th

    mc ny c mt file *.exel file chy trc tip, cn nhng file khc l nhngfile bin dch khng quan trng, ta nn xo chng khi copy t my trng vnh hoc np bi tp cho gio vin.

  • 7/26/2019 Lap trinh C++ - FINAL

    10/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 11

    Chng 2: Bin v Kiu d liu

    2.1. Kiu d liu:a. Cc loi d liu thng dng:

    Tn kiu d liu Phm vi ngha V d

    int -32768 -> 32767 Kiu s nguyn -2

    unsigned int 0 -> 65535 S nguyn khng m 5

    long -2147483648->2147483647 S nguyn di 3445

    float S thc 4.5

    double S thc 7.8

    char -128 -> 127 K t A, +

    unsigned char 0 -> 255 K t B,-

    bool true, false Kiu logic

    Ch :

    - Kiu k t cng c th l mt dng ca kiu s nguyn

    - Kiu bool L kiu th hin gi tr ng sai

    + C hai gi tr: true hoc false

    + Cc php ton:

    && php AND (v)

    || php OR (hoc)

    ! php NOT (ph nh)

    b. Kiu d liu do ngi dng nh ngha

    - T kho: typedef

    - C php: typedef tn_kiu_c tn_kiu_mi

    - ngha: sau khi khai bo, ta c th s dng tn_kiu_mi nh mt

    kiu d liu bnh thng khc.

  • 7/26/2019 Lap trinh C++ - FINAL

    11/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 12

    V d:

    - nh ngha li tn kiu d liu s nguyn

    typedef int so_nguyen;

    Khi khi so_nguyenl mt kiu d liu nh kiu int

    2.2. Bin: nh ngha - Cc thnh phn ca bin - Khai bo bin- Mi bin cn phi khai bo trc khi s dng.

    - Vic khai bo bin c thc hin theo c php sau:

    Kiu_d_liu tn_bin;

    Kiu tn_bin = gi_tr_ban_u_ca_bin;

    Kiu tn_bin1, tn-bin2,...;

    V d:int i, j; //i v j l 2 kiu s nguyn

    char a; //a l kiu k t

    float f; // f l kiu s thc

    - Lu :

    + Mt tn hp l l mt dy ca cco Ch (hoa v thng)

    o S (Mt tn khng c bt u bi s)

    o Du ni di (Khng nn bt u bng du ni di)

    + Cc tn c phn bit ch hoa v ch thng

    V d: Bien1 khc vi BIEN1

    +Tn bin khng c trng vi tn ca cc lnh, cc t khotrong C++ (v d khng c t tn bin l int, return, cout,...)

    2.3. Biu thc v ton t: Biu thc - Ton t v u tin ca ton tTn ton t ngha V d

    + cng a+b

    - tr a-b

    * nhn a*b

  • 7/26/2019 Lap trinh C++ - FINAL

    12/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 13

    / chia a/b

    % chia ly phn d a%b

    > a>b

    < a

  • 7/26/2019 Lap trinh C++ - FINAL

    13/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 14

    2.4. Cu lnh gn: C php - Thi hnh cu lnh gnC php: tn_bin = biu thc (hoc bin);

    ngha:

    Gi tr ca bin bn tri du = s bng gi tr ca biu thc sau

    khi tnh ton xong(hoc gi tr ca bin) bn phi du =

    V du:

    int i, j ; //khai bo bin i v j l kiu s nguyn

    i = 3; // i s c gi tr l 3;

    j = i +7; // j s c gi tr l 10 ( 3 + 7)

    Lu :

    So snh php ton a++vi ++a(tng t cho a--v -- a)

    V du:

    /* khai bo bin a v b l kiu s nguyn v cng c gi tr ban u l 5

    */

    int a = 5;

    int b = 5;int i,j; //khai bo bin i v j

    i = ++a; ngha:

    - Thc hin php ton a=a+1 trc, tc gi tr a tng

    ln 1 n v, hay a s c gi tr l 6

    - Sau i s c gn gi tr 6 ca a

    - Gi tr ca a sau lnh ny s c gi tr l 6j = b++; ngha:

    - Thc hin php gn j=b trc, do gi tr ca b hin

    gi l 5, nn j s c c tr l 5

    - Sau php ton b=b+1 s c thc hin, tc gi

    tr ca b s c tng ln 1 n v, khi b s c gi tr

    l 6

  • 7/26/2019 Lap trinh C++ - FINAL

    14/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 15

    2.5. Chuyn i kiu (p kiu)p kiu l mt th thut kh hay dng bin i kiu ca mt bin,

    hay mt biu thc sang mt kiu d liu ph hp vi nhu cu tnh ton ca

    chng trnh.

    C php: (tn kiu mi) tn_bin(hoc biu thc);

    Lu : gi tr ca php p kiu s chuyn gi tr sang kiu d liu

    mi, nhng kiu d liu ca nhng bin tham gia vo php p kiu vn

    khng b thay i kiu d liu

    V d 1:

    1.34 : l mt s thc, thuc kiu s thc

    (int) 1.34 : gi tr c p kiu sang kiu s nguyn, khi kt

    qu s l 1

    V d 2:

    float i = 2.34; /* i c khai bo l kiu s thc, vi gi tr ban

    u l 2.34 */

    int j = (int) i ; // p kiu khi j s c gi tr l 2, tuy nhingi tr ca i vn l 2.34

  • 7/26/2019 Lap trinh C++ - FINAL

    15/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 16

    Nhng lu quan trng:

    Tt c lnh u kt thc bng du chm phy ;

    Cch ch thch:

    o Ch thch 1 dng: dng k hiu //

    o Ch thch nhiu dng: dng k hiu m /* v k kiu ng */

    V d:

    /*y l dng ch thch dng 1

    y l dng ch thch dng 2 */

    Mt s k t c bit:

    \n l m xung dng

    \tl m du Tab

    \ l m du nhy kp

    \\l m du \

    Chui: bt u v kt thc bng du v

    o V d:

    y l mt chui

    y l mt chui c xung dng \n

  • 7/26/2019 Lap trinh C++ - FINAL

    16/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 17

    2.6Lnh xut/nhp chun:

    Mt s lnh c bn cn nm

    - std::cout (xut d liu ra mn hnh)

    V d:

    std::cout

  • 7/26/2019 Lap trinh C++ - FINAL

    17/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 18

    getch(); //Dng mn hnh

    return 0;

    }

  • 7/26/2019 Lap trinh C++ - FINAL

    18/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 19

    Chng 3: Cu trc iu kin

    3.1. iu kin if:a. C php:

    1. if (BT lgic)

    {

    ................ //Khi lnh

    }

    2. if (BT lgic)

    {

    .................... //Khi lnh 1

    }

    else

    {

    .................... //Khi lnh 2

    }

    BT lgic

    Khi lnh

    true false

    Khi lnh 2

    BT lgic

    Khi lnh 1

    true false

  • 7/26/2019 Lap trinh C++ - FINAL

    19/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 20

    3. if (BT lgic)

    {

    .................... //Khi lnh

    }else

    if (BT lgic)

    {

    ............. //Khi lnh

    }

    b. Bi tp:i. Bi tp 1: Nhp vo mt s x, xc nh tnh chn l ca x

    ii. Bi tp 1: Nhp vo mt s x, xc nh s x l s dng, hay s m

    hoc bng 0 ?

    iii. Bi tp 2: Nhp vo 2 s nguyn a,b. Tm s ln nht.

    iv. Bi tp 2: Nhp vo 3 s nguyn a,b,c. Tm s ln nht v s nh

    nht trong 3 s .

    Ch :

    + C++ qui c:

    true != 0

    false == 0

    + Kiu Logic:

    L kiu th hin gi tr ng sai C hai gi tr: true hoc false Cc php ton:

    && php AND (v) || php OR (hoc) ! php NOT (ph nh)

  • 7/26/2019 Lap trinh C++ - FINAL

    20/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 21

    v. Gii phng trnh Ax + B = 0. Vi A, B l hai h s c nhp vo

    t bn phm

    vi*. Nhp vo mt s n, xc nh xem c phi l s chnh phng hay

    khng?

  • 7/26/2019 Lap trinh C++ - FINAL

    21/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 22

    3.2. Cu trc la chn switch case a. Trng hp s dng Khi c qu nhiu la chn dn n nu dng cu trc if else

    if s di dng v kh hiu. Khi s so snh ch l so snh bng, khng phi so snh th t.

    b. C php:switch(biu thc nguyn){

    casetrng hp 1:Cc cu lnh 1;break;

    casetrng hp 2:Cc cu lnh 2;break;

    default:

    Cc cu lnh n;break;

    }

    Lu :- Biu thc nguyn: Bin kiu nguyn, biu thc c gi tr nguyn, hoc

    kiu k t, kiu logic.- Trng hp ... : l s nguyn, hng k t, hoc biu thc hng, gi tr

    logic.- default: (trng hp ngoi l), s c thc thi nu cc trng hp

    trn khng xy ra (thnh phn khng bt buc).

    c. Bi tp:

    Bi tp 1: Nhp vo mt s x, xc nh tnh chn l ca x

    Bi tp 2: Vit chng trnh cho tr chi thi trc nghim

    - Xut ra mn hnh mt cu hi v 4 p n a, b, c, d.

    - Nu ngi chi chn p n sai th xut cu thng bo sai ri

    - Cn nu ngi chi chn p n ng th bo ng ri

    Biu thc= TH1

    exit

    true Cc cu lnh 1

    true

    false Cc cu lnh n(default)

    Biu thc= TH2

    Cc cu lnh 2

    false

    break

    break

    break

    Khng break

    Khng break

  • 7/26/2019 Lap trinh C++ - FINAL

    22/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 23

    Bi tp 3: Xut kt qu ca php ton

    A php_ton B

    Vi A, B l 2 s thc nhp t bn php

    V php ton l mt trong nhng php ton sau: +, -, *, /

    Bn hy vit chng trnh xut ra kt qu ca php ton trn ph

    hp vi php ton m ngi dng nhp vo.

    V d:

    Ngi dng nhp A = 2

    B = 3.5

    Php ton: *

    Khi kt qu ca php ton l: 2 * 3.5 = 7

  • 7/26/2019 Lap trinh C++ - FINAL

    23/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 24

    Chng 4: Cu trc lp4.1. Cc cu trc lp:

    1. while (BT lgic)

    {

    ................ //Khi lnh

    }

    2. do

    {

    ................ //Khi lnh}while (BT lgic);

    Lu :

    -c du ; cui lnh while

    - Khi lnh lun c thc hin t

    nht 1 ln

    BT lgic

    //khi lnh

    true false

    BT lgic

    //khi lnh

    true

    false

  • 7/26/2019 Lap trinh C++ - FINAL

    24/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 25

    3. for (khi to; iu kin; lnh thchin sau)

    {........... //Khi lnh

    }

    V d:for(int i=0; i< 5; i++)

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    25/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 26

    - continue (thng thy trong vng lp for): Trong vng lp khi gp t

    kho ny th chng trnh bt u mt vng mi ca vng lp.

    4.2. Mi lin quan gia for v while:a. Chuyn lnh for thnh while:

    Khi_to_for;

    while (iu_kin_ca_for)

    {

    .... //Khi lnh trong thn lnh for

    Lnh_thc_hin_sau_ca_for;

    }

    b. Chuyn lnh while thnh for:for ( ; iu_kin_ca_while; )

    {

    ..... //Khi lnh trong thn lnh while

    }

    2. Bi tp:Thc hin bng cu trc while, do... while, for cho c 3 cu i, ii, iii

    i. Tnh tng 1 + 2 + 3 + 4 + ... + n

    ii. Tnh tng 1 + 1/2 + 1/3 + 1/4 + ... +1/ n

    iii.Tnh tng 12+ 22+ 32+ 42+ ... + n2

    iv.Nhp vo mt s n, xc nh xem c phi l s nguyn t khng?

    v. Xut ra cc s nguyn t t 1 n n, vi n l s nguyn dng nhp t bn

    phm

  • 7/26/2019 Lap trinh C++ - FINAL

    26/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 27

    Chng 5: Cu trc

    5.1. Nhc li cch khai bo mt kiu d liu mi (typedef):a. C php:

    typedef Kiu_d_liu_c Kiu_d_liu_mi;

    b. ngha:

    Khi khai bo mt kiu d liu mi bng typedef, tc l

    Kiu_d_liu_mi l 1 kiu d liu nh kiu Kiu_d_liu_c

    Ta c th s dng kiu d liu mi nh nhng kiu d liu bnhthng khc (s dng ging nh kiu d liu int, float, double,

    char, )

    c. V d:

    typedef int so_nguyen;

    so_nguyen i;

    int j;for (so_nguyen t = 0; t

  • 7/26/2019 Lap trinh C++ - FINAL

    27/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 28

    b. C php:

    i. Cch 1: dng tyedef nh ngha kiu mi

    typedef struct{

    kiu_d_liu trng_1;

    kiu_d_liu trng_2;

    .....

    }tn_cu_trc;

    ii. Cch 2: khng dngtyedef nh ngha kiu mi

    struct tn_cu_trc{

    kiu_d_liu trng_1;

    kiu_d_liu trng_2;

    .....

    };

    khai bo tn cu trc ng thi c th khai bo cng lc cc

    bin kiu cu trc.

    struct tn_cu_trc{

    kiu_d_liu trng_1;

    kiu_d_liu trng_2;

    .....

    }bin_1, bin_2,...;

    Lu :

    - C du chm phy (;) cui khai bo cu trc- Ta s dng kiu cu trc nh mi kiu bnh thng khc

  • 7/26/2019 Lap trinh C++ - FINAL

    28/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 29

    c. V d:

    Xy dng kiu cu trc PHN S, vi 2 trng l T v MU kiu s

    nguyn

    Cch 1:

    typedefstruct

    {

    int tu;

    int mau;

    } PHANSO;

    Cch 2:

    struct PHANSO

    {

    int tu;

    int mau;

    };

    khi ta c th s dng kiu cu trc PHANSO nh l mt kiu bnh

    thng

    PHANSO ps;

    c. Cch truy cp vo cc trng ca cu trc:

    Ta dng c php sau truy cp vo trng ca cu trc

    Tn_bin_kiu_cu_trc.trng

    (lu : c du chm (.) ngn cch gia bin_kiu_cu_trc v trng

    c gi)V d, vi cu trc PHANSO c khai bo nh trn, ta c th nhp v

    xut cc trng ca bin ps c kiu cu trc PHANSO nh sau:

    PHANSO ps;

    cin>>ps.tu>>ps.mau;

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    29/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 30

    5.2. Bi tp cu trc1) Vit chng trnh nhp vo 2 phn s ps1, ps2

    o Tnh tng, hiu, tch, nhn 2 phn s , kt qu tr v l

    phn s

    (Lu : phi kim tra tnh ng n ca d liu nhp vo, v d mu

    ca phn s phi lun khc khng)

    2) Vit chng trnh nhp vo 3 im A, B, C trong h trc ta Oxy,

    hy:

    o Kim tra xem 3 im c thng hng hay khng

    o Tnh khong cch t A n B, A n C, v B n Co Nu A,B,C khng thng hng hy tnh din tch, chu vi ca

    tam gic ABC

    3) Vit chng trnh qun l im ca sinh vin, vi

    o S lng sinh vin l n, vi n nhp t bn phm

    o Thng tin v sinh vin gm:

    H v tn Ngy thng nm sinh

    MSSV

    im Ton, L, Ho

    im trung bnh

  • 7/26/2019 Lap trinh C++ - FINAL

    30/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 31

    Chng 6: Mng6.1. nh ngha:

    Mng l mt tp hp nhiu phn t c cng mt kiu gi tr v c cng

    chung mt tn

    6.2. Khai bo:

    Kiu_d_liu Tn_mng[spt][spt]....;

    C th:

    a. Mng mt chiu:

    Kiu_d_liu Tn_mng[spt];b. Mng hai chiu:

    Kiu_d_liu Tn_mng[spt dng][spt ct];

    V

    d:

    -

    Mng

    1

    chi

    u kiu s nguyn c 10 phn t: int a[10];

    a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]

    - Mng 1 chiu kiu k t c 5 phn t:char s[5];

    //Lu : y cng c th xem l mt chui c 5 k t

    - Mng 1 chiu kiu chui c 5 phn t: string chuoi[5];

    - Mng 2 chiu kiu s nguyn c 3 dng, 4 ct: int a[3][4];

    a[0][0] a[0][1] a[0][2] a[0][3]

    a[1][0] a[1][1] a[1][2] a[1][3]

    a[2][0] a[2][1] a[2][2] a[2][3]

    Lu quan trng:

    - Ch s ca mng lun lun c nh t ch s 0

    - Cc phn t ca mng ta c th s dng nh mt bin bnh thng

    V d: Gn mt phn t ca mng cho 10

    a[2] = 10;

  • 7/26/2019 Lap trinh C++ - FINAL

    31/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 32

    6.2. Bi tp:

    i. Thc hin cc php ton ca mng (1 chiu v 2 chiu):

    - Khi to mt mng

    - Xut cc gi tr ca mng

    - Thm mt phn t vo mng (1 chiu)

    - Xo mt phn t trong mng (1 chiu)

    ii.Nhp vo thng tin ca mt sinh:

    - H tn

    - Nm sinh

    - im cc mn hc (lu vo mng)

    Xut ra im trung bnh ca sinh vin

    iii.Nhp vo mt dy s nguyn, tm phn t ln nht, nh nht ca dy (1

    chiu, 2 chiu)

    iv.Nhp vo mt dy s nguyn,

    Xut ra 2 dy s:

    - Dy nhng s m ca mng

    - Dy nhng s dng ca mng

    v.Nhp vo mt dy s nguyn,

    Xut ra 2 dy s:

    - Dy nhng s nguyn t

    - Dy nhng s chnh phng.

  • 7/26/2019 Lap trinh C++ - FINAL

    32/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 33

    Chuyn : Mng k t - chui

    1. K t- V d: c , b, d- Tn kiu d liu: char- V d:

    char c;cin >>c;

    2. Mng- L mt tp hp cc bin c cng kiu d liu- T phn t ca mng ta c th xem l mt bin, v d a[i], a[1],

    a[2][3],.... ta c th thc hin mi lnh, mi php ton trn bin pdng vo t phn t ca mng

    - Lu : Mng lun lun c nh s t 0- Cch khai bo:

    Mng 1 chiu:Tn_d_liu Tn_mng[spt];

    Mng 2 chiu:Tn d liu Tn_mng[s_dng][s_ct]

    - V d:int n;

    int a[100]; //Khai bo mng 1 chiu kiu s nguyn c 10 phn t

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    33/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 34

    - Khai bo: char tn_chui[chiu_di_chui];- Vi char s[10] = Hello th s[0] = H, s[1] = e, s[2] = l,

    s[3]=l, s[4]=o, c bit s s c thm k t kt thc chui ls[5] = \0. Khi chiu di chui l 5 (khng tnh k t ktthc chui)

    - V d:char s[10]; //khai bo mt chui c ti a 10 k t//hay mt mng gm 10 phn t kiu k t

    - Nhp d liu vo chuii. Cch 1:Nhp t phn t ging nh mng

    //Vi L l chiu di ca chuifor (int i = 0; i < L; ++i)

    cin>>s[i];

    ii.Cch 2:Nhp chui khng ckhong trngcin>>s;

    iii.Cch 3:Nhp chui ckhong trnggets(s);

    - Cch xut chuii. Cch 1: Xut t phn t ging nh mng

    //Vi L l chiu di ca chuifor (int i = 0; i < L; ++i)

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    34/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 35

    int atoi(const char* s) i chui s sang s nguyn (nukhng i c kt qu s tr vgi tr 0)V d:

    char s[10] = 123;int i = atoi(s);cout

  • 7/26/2019 Lap trinh C++ - FINAL

    35/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 36

    Lu :-Cch khai bo hng:(hng l nhng bin l gi tr s khng bao gi b

    thay i trong chng trnh)+ Cch 1: (dng macro #define)

    #define bin_hng gi_tr //Khng c du ; cui lnh

    - ngha: nu dng t kho marco #define, trong khi bin dch,chng trnh s thay tt c bin_hngbng gi_tr- V d:

    #define bien_hang 123+ Cch 2:

    const kiu_d_liu tn_hng = gi_tr; //c du ; cui lnhV d:

    const int bien_hang = 123;

    -

    Khi lp trnh trn mi trng Visual C++, trong khi nh lnh ta c thdng phm nng Ctrl + Space bar hin th cc lnh ca trong C++

    -

    Dng phm nngCtrl+ space barhin lnh

  • 7/26/2019 Lap trinh C++ - FINAL

    36/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 37

    Do hm getline trong Visual C++ b li, ta s sa li bng cch sau:+ Bc 1: Bm chut phi ln ch khai bo th vin , bm chut

    phi chn Open Document

    + Bc 2: Bm phm nng Ctrl + F+ Bc 3: g vo hp thoi tm kim dng ch:

    else if (_Tr::eq((_E)_C, _D))

  • 7/26/2019 Lap trinh C++ - FINAL

    37/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 38

    + Bc 4: Thay i mt s lnhBan u Sau khi sa

    else if (_Tr::eq((_E)_C, _D)){_Chg = true;

    _I.rdbuf()->snextc();

    break; }

    else if (_Tr::eq((_E)_C, _D)){_Chg = true;//_I.rdbuf()->snextc();

    //Phn thm vo_I.rdbuf()->sbumpc();break; }

    + Bc 5: Bm Ctrl + S (lu ni dung thay i), sau ng ca sli.

  • 7/26/2019 Lap trinh C++ - FINAL

    38/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 39

    Bi tp b sung:

    1. Nhp vo mt mng 2 chiu n x n (ma trn vung) Tnh tng cc s hng trn ng cho chnh Tnh tng cc s hng trn ng cho ph Duyt phn na trn ca ng cho chnh

    2. Sp xp tng dn/gim dn cc gi tr ca mt mng 1 chiu3. Bi tp v phn s

    Nhp vo 2 phn s (phn s gm c t v mu) Tnh tng, hiu, tch, thng ca 2 phn s Rt gn phn s

    4. Xut ra mn hnh cc hnh sao (vi chiu cao ca mi hnh l mt s nguyndng h c nhp t bn phm)

    ***************

    ***

    *******

    *****

    ****

    *****

    *******

    ***************

    *

    5. Nhp vo mt chui s v mt k t c, kim tra xem trong s c k t c khng,nu c th xut v tr ca c trong s, nu khng xut ra gi tr -16. Tng t nh bi tp 4, nhng thay v l k t c, ta s thay bng mt chui s2

    h

  • 7/26/2019 Lap trinh C++ - FINAL

    39/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 40

    Chuyn :H tr k thut lp trnh

    A. Phm vi hot ng ca mt bin1. Phn loi bin:

    - Bin ton cc: L nhng bin c phm vi hot ng xuyn sut t u

    n cui chng trnh

    - Bin cc b:

    + L nhng bin c phm vi hot ng ti mt thi im ca

    chng trnh.

    + Phm vi hot ng ca bin cc b l t lc khai bo bin cho

    n du ng khi gn nht cha n.

    2. Ni khai bo bin:

    - Bin ton cc: khai bo ngoi hm main

    - Bin cc b: khai bo trong hm main

    B. Debug

    1. Phn loi cc loi li (Error):

    - Li c php: L nhng li do ngi lp trnh khng ghi ng c php

    lnh, nhng li ny s c chng trnh bin dch thng bo.

    Ni thng boli c php ,

    nu c libm F4

    tm liNi bo cnh bo: cnh bo

    khng lm nh hng n vicchy ct, tuy nhiu i vi mts cnh bo quan trng ta nn

    kim tra k

  • 7/26/2019 Lap trinh C++ - FINAL

    40/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 41

    - Li logic: L nhng li chng trnh do ngi lp trnh vit khng thc

    hin ng vi ni dung yu cu c t ra (v d: yu cu ca bi ton, yu cu

    ca khch hng,...)

    2. Debug l g?:

    -L cch tm nhng li logic bng cch chng trnh chy tng dng

    lnh (chy tng bc t trn xung), qua tng dng lnh ta s xc nh gi tr

    ca tng bin thay i nh th no c ng vi thut ton a ra hay khng =>

    t ta c th xc nh c li logic ca chng trnh.

    3. Cch hot ng ca Debug:

    Bc 1: t nhng im dng breakpointbng bm phm nng F9

    (breakpoint s nh du nhng dng lnh, khi chng trnh s

    dng li ti nhng dng lnh cha breakpoint)

    i vi nhng li logic chng ta phi s dng Debug tm ra li.

    im dngbreakpoint

    im dngbreakpoint

  • 7/26/2019 Lap trinh C++ - FINAL

    41/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 42

    Bc 2: Bm F5 chng trnh s bt u ch Debug (chng trnh s

    dng li v tr breakpoint).

    Tu theo mc ch ca ngi kim tra li, ta c cc phm nng h

    tr

    + F10: chng trnh chy tng bc, b qua chng trnh con

    + F11: chng trnh chy tng bc, nu gp chng trnh con s

    vo kim tra (khng b qua chng trnh con).

    + F5: n im dng breakpoint gn nht

    + F9: thm im dng breakpoint

    + Shift + F5: Dng ch Debug

    Lu :

    1 .Mn hnh trong ch debug gm 3 ca s chnh

    2. Ctrl + F5: chy chng trnh khng Debug

    F5: chy chng trnh ch Debug

    Dnglnh angkim tra

    Ca s kimtra gi tr bin(do chngtrinh bindch qun l)

    (ca s quickwatch) Cas kim tra gi tr bin (do

    ngi lp trnh qun lbng cch nhp tn binvo).

    Nu khng c, bm Shift +F9 (vo menu Debug ->quickwatch..)

  • 7/26/2019 Lap trinh C++ - FINAL

    42/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 43

    for (i = 0; i < n; i++)

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    43/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 44

    for (i = 0; i < n; i++)

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    44/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 45

    for (i = 0; i < n; i++)

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    45/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 46

    b. Hm khng c gi tr tr v:C php:i. Hm khng c truyn tham s

    C php V dvoidtn_hm()

    { //Khi lnh;}

    void Hm_Cho()

    { cout

  • 7/26/2019 Lap trinh C++ - FINAL

    46/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 47

    7.3. Khai bo hm khai bo prototype:C php:

    void Tn_Hm(danh sch kiucc tham s);kiu_tr_v Tn_Hm(danh sch kiucc tham s);

    Ch : - Danh sch kiu tham s: ch ra cc kiu ca tham s (c th choc khng c tn bin)

    V d://Khai bo prototype

    void Xuat_Tong(int , int ) ;void main(){

    //Khi lnh trong hm main}

    //nh ngha hmvoid Xuat_Tong(int a, int b){

    int s = a + b;cout

  • 7/26/2019 Lap trinh C++ - FINAL

    47/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 48

    7.4. Li gi hm:a. V d vi hm khng c gi tr tr v

    //Khai bo prototypevoid Xuat_Tong(int , int ) ;

    void main(){Xuat_Tong( 2 , 3 ); //Gi hm Xuat_Tong

    }

    //nh ngha hmvoid Xuat_Tong(int a, int b){

    int s = a + b;

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    48/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 49

    Tng t ta c s so khp nh sau:Hm int Tinh_Tong(int a , int b)

    Li gi hm i = Tinh_Tong( 2 , 3 );

    Hay ti thi im gi hm Xuat_Tong a s c gi tr 2, b s c gi tr l 3V gi tr 5 s c tr vcho bin i, khi i s c gi tr l 5

    7.5. Tham tr v tham chiu (quan trng):Tham tr Tham chiu

    - khi khai bo khng c du &giakiu v tham sV d:void ham(int a){

    //Khi lnh}

    - khi khai bo c du & gia kiu vtham s

    void ham(int&a){

    //Khi lnh}

    - Khng lm thay ibin c gi - Lm thay ibin c gi

    void binh_phuong(int );

    void main(){

    int i = 5;binh_phuong( i );cout

  • 7/26/2019 Lap trinh C++ - FINAL

    49/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 50

    7.6. Gi tr mc nh ca tham s:a. ngha:

    Cho php gi hm mt cch linh hot:- Nu c truyn tham s th hm s ly tham s c truyn- Nu khng c truyn tham s th hm s ly gi tr mc nh

    b. Cc khai bo:Ta ch cn khai bo cc gi tr mc nh ca tham s lc khai boprototype (khai bo hm)

    V d 1:int Tinh_Tong(int , int b = 1); //Gi tr mc nh ca b l 1

    int main(){

    int i;i = Tinh_Tong ( 2 , 3);cout

  • 7/26/2019 Lap trinh C++ - FINAL

    50/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 51

    7.7. Qu ti hm:a. Cc thnh phn ca hm:

    Hai hm khc nhau khi chng c t nht 1 trong 3 thnh phn khc nhau,gm:

    o Tn hm

    o Kiu ca tham so S lng tham s

    b. Qu ti hm:Qu ti hm l nhng hm c cng tn hm, nu ri vo 1 trong 2 trnghp sau:

    o S lng tham s khc nhauo Cng s lng tham s, khc nhau mt kiu d liu no ca

    tham s

    V d 1:void Xuat_Tong(int a, int b);void Xuat_Tong(int a, int b, int c);

    int main(){

    Xuat_Tong( 1 , 2);

    Xuat_Tong( 1 , 2, 3);}

    void Xuat_Tong(int a, int b){

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    51/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 52

    7.8. Qu ti ton t:a. Cc ton t trong C++:

    Cc ton t quen thuc trong C++Ton t V d

    + a = b + c;

    - a = b c;* a = b * c;/ a = b / c;

    % a = b % c;= a = b;

    == if (a == b){}[] a[1]; //vi a l mng>i;

    Cc ton trong C++ u c chung mt cch t tn hmtheo m t sau:operator

    b. Qu ti ton t:ng dng: ta c th s dng cc ton t ca C++ i vi cc bin cu

    trc m ta t ngha nh nhng kiu bnh thng trong C++V d:

    vi kiu cu trc PHNS c khai bo nh sau:

    struct PHANSO{int x;int mau;

    };

    int main(){

    PHANSO ps1, ps2;

    cin>>ps1>>ps2; //Nhp nh kiu d liu bnh thng

    PHANSO ps;ps = ps1 + ps2; //Thc hin php cng nh kiu d liu

    //bnh thng khc

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    52/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 53

    V d:1. Qu ti ton t + ca 2 phn s

    PHANSO operator + (PHANSO a , PHANSO b){

    PHANSO ps;

    ps.tu = a.tu * b.mau + a.mau * b.tu;ps.mau = a.mau * b.mau;return ps;

    }

    2. Qu ti ton t

  • 7/26/2019 Lap trinh C++ - FINAL

    53/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 54

    Bi tp v hm:

    1. S dng hm v qu ti hm, qu ti ton t vit li bi tp phn sa. kim tra tnh ng n ca phn s

    b.Nhp / Xut phn s

    c. Rt gn phn sd. Cng tr nhn chia phn se. Qu ti ton t nhp, xut, = , ==, +, - , *, /

    2. S dng hm v qu ti hm, qu ti ton t vit li bi tp v mng 1chiu kiu s nguyn

    a.Nhp / xut mng 1 chiub. Tm cc s nguyn t trong mngc. Tm cc s chnh phng trong mng

    d.

    Thm 1 phn t vo u dye. Thm 1 phn t vo cui dyf. Thm 1 phn t vo v tr kg. Xo 1 phn t v tr kh. Tm kim phn t c gi tr xi. Tm min

    j. Tm maxk. Tnh tngl. Tnh trung bnh cc s hngm.o ngc dyn. Sp xp theo th t tng/gim

    3. S dng hm v qu ti hm, qu ti ton t vit li bi tp v mng 2chiu kiu s nguyn

    a.Nhp / xut mngb. Thm 1 dng vo u ma trnc. Thm 1 phn t vo cui ma trnd. Thm 1 phn t vo dng th ke. Xo dng th kf. Tm min

    g. Tm maxh. Tnh tngi. Tnh trung bnh cc s hng

    j. Tm kim phn t c ga tr x

  • 7/26/2019 Lap trinh C++ - FINAL

    54/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 55

    Chng 8:T chc th vin

    8.1. ngha ca vic t chc th vin:Khi lp trnh, lp trnh vin lun c xu hng s dng li nhng hm m

    mnh vit, khng phi tn cng vit li nh ban u. V vy h t chc cc

    hm thng s dng li thnh th vin, khi no cn s dng li th ch cn

    gi hm ra, m khng cn phi nh ngha li hm.

    8.2.Cc bc to th vinCc bc to th vin mang tn tenthuvien

    i. Giai on 1: To file tenthuvien.hBc 1: Vo menu Project -> Add to project -> NewBc 2: Ti ther File, chn C/C++ header fileBc 3: nh vo: tenthuvien.h vo file name

    Bc 4: bm OK

    Tn th vin, trongv d ny th vin

    c tn l:Tinh_tong

  • 7/26/2019 Lap trinh C++ - FINAL

    55/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 56

    Bc 5: Khi ta c mt file l tenthuvien.h , trong flie ny tason ni dung nh sau:

    - u file:#ifndef __TENTHUVIEN_H__#define __TENTHUVIEN_H__

    - Gia file:- Khai bo hm (prototype ca hm) ca cc hm m ta munt chc thnh th vin

    - Cui file:#endif

    ii. Giai on 2: To file tenthuvien.cppBc 1: Vo menu Project -> Add to project -> NewBc 2: Ti ther File, chn C/C++ Source FileBc 3: nh vo: tenthuvien.cpp vo file name

    Sau chn okBc 4: Khi ta c mt file l tenthuvien.cpp , trong flie ny tason ni dung:

    -u file:#include tenthuvien.h

    -Cc nh ngha hm c khai bo trong tenthuvien.h

    iii.Giai on 2: S dng th vin tenthuvien nhng file no c s dng cc hm trong th vin

    tenthuvienta u phi khai bo th vin u file#include tenthuvien.hSau ta c th s dng cc hm trong th vin mt cch

    bnh thng nh cc hm trong C++.

  • 7/26/2019 Lap trinh C++ - FINAL

    56/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 57

    8.3.Phn tch v dV d ta c chng trnh tnh tng 2 s a v b c vit mt cch bnh

    thng nh sau:

    Vit li chng trnh trn vi cch t chc th vin xy dng th vinTnh_tong

    i. Ni dung file Tinh_tong.h

  • 7/26/2019 Lap trinh C++ - FINAL

    57/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 58

    ii.Ni dung file Tinh_tong.cpp

    iii.Ni dung file s dng th vin Tinh_tong

    8.4.Ch th #include: so snh 2 cch khai bo th vin

    #include #include th_vin.hChng trnh s tm th_vin trong thmc mc nh cha cc th vin trongC++

    - Chng trnh s tm th vin trongth mc gc (nn ct ang chy)- Nu khng tm thy th vin, chngtrnh s tm trong th mc mc nhcha cc th vin trong C++

    Thng l cc th vin chun ca C++ Thng l cc th vin do ngi lptrnh t nh ngha

  • 7/26/2019 Lap trinh C++ - FINAL

    58/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 59

    Bi tp:Vit li cc tt c bi tp trong chng hm (chng 10) bng cch t

    chc thnh th vin

  • 7/26/2019 Lap trinh C++ - FINAL

    59/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 60

    Chng 9: Qun l b nh ng9.1. Khi nim v nh - a ch trong lp trnh:

    Khi ta khai bo mt bin, iu c ngha l chng trnh s to cho

    ta mt nh lu tr bin .

    int main(){

    int a;int b;int c;

    a = 10;

    b =20;c = 30;

    return 0}

    8 30 c4 20 b0 10 a

    a chGi tr hinthi ca

    nhbin

    Mt nh gm c 2 thnh phn c bn sau:- a ch ca nh (do h iu hnh qun l)- Gi tr hin thi ca nh

    Vi mt bin a, ta mun bit a ch nh lu tr ca n l bao nhiuth ta dng ton t & xc nh a ch.

    V d:int a = 20;cout

  • 7/26/2019 Lap trinh C++ - FINAL

    60/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 61

    9.3. Cc thao tc trn con tr:i. Con tr lu a ch nh, nn

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    61/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 62

    Bin tnh Bin ng

    Kch thc c nh khng c nh

    Phm vi s dng t lc khai bo n htkhi gn nht cha n.

    t lc c to ra v ktthc khi b hy.

    Tn ca bin dng

    Lu gi tr Lu a ch

    Cch truy xut gi tr tn_bin *tn_bin

    Cch truy cp a ch & tn_bin tn_bin

    T ng gii phng khiht phm vi s dng

    Khng t ng giiphng. Lp trnh vinphi lo vic ny.

    9.4. Mng ng (mng con tr)- Khai bo

    kiu_d_liu* tn_bin = new kiu_d_liu[spt];- Hu mng ng:

    delete [] tn_bin;- u im: s dng c mng vi s phn t rt ln- V d:

    #define MAX 100000int * a = new int [MAX];for (int i = 0 ; i< MAX ; i++)

    a[i] = i;delete[] a;

  • 7/26/2019 Lap trinh C++ - FINAL

    62/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 63

    9.5. Chui con tr- Khai bo- char* tn_chui = new char[chiu_di_ti_a_ca_chui];- Hu chi:- delete[] chui;

    - Khi ta c th s dng cc lnh v chui p dng cho chui con trmt cch bnh thng

    9.6. Con tr kiu cu trc:V d:

    struct PHANSO{

    int tu;int mau;

    };int main(){

    PHANSO *ps; //con tr lu a ch ca bin kiu cu trcps = new PHANSO;

    //truy cp n trng ca cu trc bng du chm (.)*ps . tu = 1;*ps . mau = 2;cout

  • 7/26/2019 Lap trinh C++ - FINAL

    63/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 64

    9.7. Mi quan h gia mng v con tr:Tn mng l mt hng a ch

    int a[10];a tng ng vi &a[0] (a ch ca phn t a[0])a + i tng ng vi &a[i] (a ch ca phn t a[i])

    *(a+i) tng ng vi a[i]

    V vy ta c th tr con tr n bin mng nh sau:int *p;int a;

    p = a;p tng ng vi &a[0] (a ch ca phn t a[0])p + i tng ng vi &a[i] (a ch ca phn t a[i])*(p+i) tng ng vi a[i]

    hoc: int *p;int a;

    p = &a[k];p tng ng vi &a[k] (a ch ca phn t a[k])p + i tng ng vi &a[k + i] (a ch ca phn t a[k+i])*(p+i) tng ng vi a[k+i]

    9.8. Mt s v d n gin:

    #include #include using namespace std;int main(){

    int * p;int a = 1;

    p = & a;cout

  • 7/26/2019 Lap trinh C++ - FINAL

    64/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 65

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    65/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 66

    Chng 10: Th vin STL(Standard Template Library)

    10.1. iostream: #include cc lnh lin quan n vic xut nhp

    Lnh ngha V dcout xut chun cout

  • 7/26/2019 Lap trinh C++ - FINAL

    66/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 67

    10.4. i tng string: #include + khai bo i tng string

    string tn_i_tng_string;+ Nhp v xut

    string s; //Khai bo mt i tng stringcin>>s; //Nhp vo chui khng c khong trnggetline(cin, s); //Nhp vo mt chui c khong trng

    + Cc phng thc ca i tng stringPhng thc ngha V d

    size() - Ly chiu di chui string s = hello;cout

  • 7/26/2019 Lap trinh C++ - FINAL

    67/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 68

    -1: s1 nh hn s2find(char kt , int chis_bdu)find(string chui, intchis_bdu)

    Tm k t (hoc chui) trongdy bt u t ch_s_bduca chui.- nu tm thy s ch ra v tr

    ca k t (chui) trong chui- nu k tm thy s tr v -1

    string s = hello;

    int i = s.find( e ); //i=1

    int j = s.find( t ); //i=-1

    Ton t + cng 2 chui string s1 =Hellostring s2 = World

    string s = s1 + s1;//s=Hello World

    Ton t [] Truy cp n phn t cachui

    cout

  • 7/26/2019 Lap trinh C++ - FINAL

    68/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 69

    getch();return 0;

    }

    getch();return 0;

    }

    Cc phng thc c bn ca vector

    Phng thc ngha V dpush_back Thm phn t vo cui

    vector

    size() - kch thc (s lng phn

    t) ca vector

    vector vec;

    vec.push_back(2);vec.push_back(1);vec.push_back(3);

    //Khi //vec[0]=2,vec[1]=2,vec[3]=3cout

  • 7/26/2019 Lap trinh C++ - FINAL

    69/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 70

    10.6. fstream: #include a. Mc ch:

    + Qun l vic nhp d liu t File (i tngifstream)+ Qun l vic xut d liu vo File (i tngoifstream)

    b. Nhp d liu t File:Nhp d liu t bn phm Nhp d liu t file+ Kh qun l d liu nhp + D liu nm trong file, nn d qun

    l+ Mi ln chy chng trnh l phinhp d liu li

    + Mi ln chy chng trnh ta khngcn nhp d liu li

    + Khng cn file lu tr d liu + Phi to file lu tr d liu trc khichy chng trnh (thng l *.txt)

    V dvit chng trnh nhp vo ba s nguyn a, b, cNhp d liu t bn phm Nhp d liu t file#include #include

    using namespace std;

    int main()

    { int a, b, c;

    cin>>a;cin>>b>>c;

    getch();return 0;

    }

    #include #include #include

    using namespace std;

    int main()

    { int a, b, c;

    ifstream ifile;//To i tng ifstreamifile.open(data.txt); //M file data.txt

    ifile>>a;ifile>>b>>c;

    //ng fileifile.close();

    getch();return 0;

    }

  • 7/26/2019 Lap trinh C++ - FINAL

    70/71

    Lp trnh C++

    GV: Trn Hu Quc Th Trang 71

    Ch :Ngi ta thng dng phng thc eof() ca ifstream kim tra l c

    ht file cha (thng dng vic nhp d liu cho mng t file)

    ifstream ifile;//To i tng ifstream

    ifile.open(data.txt); //M file data.txt

    int n = 0;

    //Trong khi cha c ht filewhile (!ifile.eof()){

    ifile>>a[n++];}

    //ng fileifile.close();

    V tr cui file:ifile.eof() == true

  • 7/26/2019 Lap trinh C++ - FINAL

    71/71

    Lp trnh C++

    c. Xut d liu vo File:

    Xut d liu ra mn hnh Xut d liu ra file+ Kh qun l d liu xut + D liu c xut ra file, nn d

    qun l

    V d vit chng trnh nhp vo ba s nguyn a, b, cNhp d liu t bn phm Nhp d liu t file

    #include #include

    using namespace std;

    int main(){int a, b, c;a= 1;

    b= 2;c= 3;

    cout