Solution Chapter 2

7
Lp trình ng dng trong kthut Chương 2 Bmôn Cơ điện tTrang 1 BÀI TP CHƯƠNG 2 : C++/CLI CĂN BẢN. 1-3. SV tkim tra. 4. Viết chương trình có các chức năng sau : - Cho phép người dùng nhp vào mt chui kí t. - Đưa ra các lựa chọn cho người sdng : o Nhấn F1 để chuyn chui kí tva nhp thành chHOA. o Nhấn F2 để chuyn chui kí tva nhp thành chthường. o Nhấn ESC để thoát chương trình. -Sau khi hin thchui mi, tiếp tục đưa ra 2 lựa chn. o Nhấn Backspace để nhp li chui kí t(lp lại chương trình). o Nhấn ESC để thoát chương trình. //Bai4.cpp #include "stdafx.h" using namespace System; int main() { String ^A; ConsoleKeyInfo b; S: Console::WriteLine(L"Input String A : "); A = Console::ReadLine(); Console::WriteLine(L"Press F1 to convert String A to uppercase."); Console::WriteLine(L"Press F2 to convert String A to lowercase."); Console::WriteLine(L"Press any key to exit the programe."); b = Console::ReadKey(1); if(b.Key == ConsoleKey::F1) { Console::Clear(); Console::WriteLine("String A uppercase :"+A->ToUpper()); } else if(b.Key == ConsoleKey::F2) { Console::Clear(); Console::WriteLine("String A lowercase :"+A->ToLower()); } else { goto E; }

description

Solution Chapter 2

Transcript of Solution Chapter 2

  • Lp trnh ng dng trong k thut Chng 2

    B mn C in t Trang 1

    BI TP CHNG 2 : C++/CLI CN BN.

    1-3. SV t kim tra.

    4. Vit chng trnh c cc chc nng sau :

    - Cho php ngi dng nhp vo mt chui k t.

    - a ra cc la chn cho ngi s dng :

    o Nhn F1 chuyn chui k t va nhp thnh ch HOA.

    o Nhn F2 chuyn chui k t va nhp thnh ch thng.

    o Nhn ESC thot chng trnh.

    -Sau khi hin th chui mi, tip tc a ra 2 la chn.

    o Nhn Backspace nhp li chui k t (lp li chng trnh).

    o Nhn ESC thot chng trnh.

    //Bai4.cpp

    #include "stdafx.h"

    using namespace System;

    int main()

    {

    String ^A;

    ConsoleKeyInfo b;

    S: Console::WriteLine(L"Input String A : ");

    A = Console::ReadLine();

    Console::WriteLine(L"Press F1 to convert String A to uppercase.");

    Console::WriteLine(L"Press F2 to convert String A to lowercase.");

    Console::WriteLine(L"Press any key to exit the programe.");

    b = Console::ReadKey(1);

    if(b.Key == ConsoleKey::F1)

    {

    Console::Clear();

    Console::WriteLine("String A uppercase :"+A->ToUpper());

    }

    else if(b.Key == ConsoleKey::F2)

    {

    Console::Clear();

    Console::WriteLine("String A lowercase :"+A->ToLower());

    }

    else

    {

    goto E;

    }

  • Lp trnh ng dng trong k thut Chng 2

    B mn C in t Trang 2

    Console::WriteLine(L"Press Enter to to again.");

    Console::WriteLine(L"Press any key to exit the programe.");

    b = Console::ReadKey(1);

    if(b.Key == ConsoleKey::Enter)

    {

    Console::Clear();

    goto S;

    }

    E:

    return 0;

    }

    5. Vit chng trnh c cc chc nng sau :

    - Cho php ngi dng nhp vo mt chui k t.

    - o ngc th t cc phn t ca chui v in ra mn hnh.

    VD : nhp vo Hello => olleH

    //Bai5.cpp

    #include "stdafx.h"

    using namespace System;

    int main(array ^args)

    {

    String ^A;

    int n;

    ConsoleKeyInfo b;

    S: Console::WriteLine(L"Input String A : ");

    A = Console::ReadLine();

    n = A->Length;

    Console::Write("String A invert : ");

    for (int i = n-1;i>=0;i--)

    {

    Console::Write(A[i]);

    }

    Console::WriteLine(L"\nPress Enter to do again");

    Console::WriteLine(L"Press any key to exit the programe");

    b = Console::ReadKey(1);

    if(b.Key == ConsoleKey::Enter)

    {

    Console::Clear();

    goto S;

    }

    return 0;

    }

    6. Cho hm SqrPrint() c nh ngha nh sau : void SqrPrint(int h,int w)c

    chc nng in ra mn hnh mt hnh vung gm cc k hiu * vi chiu cao l h v chiu

    rng l w.

  • Lp trnh ng dng trong k thut Chng 2

    B mn C in t Trang 3

    VD : h = 2, w= 4

    ****

    ****

    Hy ci t cc cu lnh cho hm ny.

    //Bai6.cpp

    #include "stdafx.h"

    using namespace System;

    void SqrPrint(int h, int w)

    {

    for(int i = 0; iLength;

    for(int i = 0;i

  • Lp trnh ng dng trong k thut Chng 2

    B mn C in t Trang 4

    }

    for(int j = 0;j 1 0000 0000 0000 0000 0000 0000 0001 010.1

    Hy ci t cc cu lnh cho hm ny.

    SV t lm.

    9. Cho hm Fraction() c chc nng tnh giai tha ca mt s nguyn dng a.

    Uint32 Fraction(Uint16 a)

    Hy ci t cc cu lnh cho hm ny.

    Xem trong ti liu l thuyt.

    10. Cho hm DiagMat() c chc nng tnh tng tt c cc phn t trn ng cho chnh

    ca mt ma trn vung.

    Int64 DiagMat(array^ M)

    Hy ci t cc cu lnh cho hm ny.

    11. Cho hm MaxMat() c chc nng tm ra gi tr ca phn t ln nht ca mt ma trn

    mxn.

    Int64 MaxMat(array^ M)

    Hy ci t cc cu lnh cho hm ny.

  • Lp trnh ng dng trong k thut Chng 2

    B mn C in t Trang 5

    Bi 10,11 :

    #include "stdafx.h"

    using namespace System;

    Int64 DiagMat(array^ M)

    {

    Int64 m;

    if (M->GetLength(0)!=M->GetLength(1)) m = 0;

    else

    {

    for(int i = 0;iGetLength(0);i++)

    {

    for(int j = 0;jGetLength(1);j++)

    {

    if (i==j)

    m += M[i,j];

    }

    }

    }

    return m;

    }

    Int64 MaxMat(array^ M)

    {

    Int64 m=0;

    for(int i = 0;iGetLength(0);i++)

    {

    for(int j = 0;jGetLength(1);j++)

    {

    m=Math::Max(m,M[i,j]);

    }

    }

    return m;

    }

    int main(array ^args)

    {

    array ^ M = {{1,2,3},{4,5,6},{7,8,9}};

    Console::WriteLine(DiagMat(M));

    Console::WriteLine(MaxMat(M));

    Console::ReadKey();

    return 0;

    }

    12-14 . SV t thc hin

    15. Cho hm SumMat() l hm tnh tng ca hai ma trn A(n x n) v B(n x n) v tr v

    dng ma trn (n x n).

    array^ SumMat(array^ A,array^ B)

    Hy ci t cc cu lnh cho hm ny.

  • Lp trnh ng dng trong k thut Chng 2

    B mn C in t Trang 6

    16. Cho hm ProdMat() l hm tnh tch ca hai ma trn A(m x n) v B(n x k) v tr v

    dng ma trn (m x k).

    array^ ProdMat(array^ A,array^ B)

    Hy ci t cc cu lnh cho hm ny.

    17. Hy xy dng hm Show() dng qu ti hm (function overloaded) c chc nng in

    ra mn hnh chui k t, s nguyn hoc ma trn 2 chiu.

    void Show(Int64 a)

    void Show(String^ A)

    void Show(array^ A)

    Hy ci t cc cu lnh cho cc hm ny.

    Bi 15,16,17 :

    #include "stdafx.h"

    using namespace System;

    array^ Sum(array^ A,array^ B)

    {

    int n = A->GetLength(0);

    int m = A->GetLength(1);

    array^ C = gcnew array(n,m);

    for(int i = 0;iGetLength(1);

    int k = B->GetLength(1);

    Int32 sum = 0;

    array^ C = gcnew array(m,k);

    for(int i = 0;i

  • Lp trnh ng dng trong k thut Chng 2

    B mn C in t Trang 7

    C[i,j]=sum;

    sum = 0;

    }

    }

    return C;

    }

    void Show(Int64 a)

    {

    Console::WriteLine(a);

    }

    void Show(String^ A)

    {

    Console::WriteLine(A);

    }

    void Show(array^ A)

    {

    for(int i = 0;iGetLength(0);i++)

    {

    for(int j = 0;jGetLength(1);j++)

    {

    Console::Write("\t"+A[i,j]);

    }

    Console::WriteLine();

    }

    }

    int main(array ^args)

    {

    array ^ A = {{1,2,3},{4,5,6}};

    array ^ B = {{1,2,3},{4,5,6}};

    array ^ C = Sum(A,B);

    array ^ D = {{1,2},{2,3},{4,5}};

    array ^ E = Prod(C,D);

    Show("Ma tran A :");

    Show(A);

    Show("Ma tran B :");

    Show(B);

    Show("Ma tran C = A+B :");

    Show(C);

    Show("Ma tran D :");

    Show(D);

    Show("Ma tran E = C*D :");

    Show(E);

    Console::ReadKey();

    return 0;

    }