cần giúp đỡ về C++

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi tvt123, 24/10/08.

  1. kknml001

    kknml001 C O N T R A

    Tham gia ngày:
    4/9/06
    Bài viết:
    1,631
    bạn giải thích rõ 1 chút được không ^^, VD như type code cái lệnh đó như thế nào ấy . Như dùng if để so sánh như bạn trên kia thì mình hiểu rồi .
    còn lệnh getMax này thì nó lấy giá trị và ss như thế nào mình chưa rõ .
    -hỏi thêm trong C++ có code để xuất ra màn hình chữ màu dc không mấy bạn :D
     
  2. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    hàm getMax này lấy max trogn 2 số, đọc qua chắc là hiểu
    Ý bạn là lấy max 2 số rồi lấy max đó ss với số thứ 3, tức là viết như thế này
    maxAll = getMax(getMax((getMax(getMax(a,b),c),d),e);
     
  3. REALM

    REALM Legend of Zelda

    Tham gia ngày:
    30/6/03
    Bài viết:
    970
    Nơi ở:
    HCM city
    cái ruột hàm đó là như vầy vô cùng đơn giản 1 dòng
    Mã:
    tempate <class T>
    T getMax(T a, T b)
    {
       return (a>b) ? a:b;
    }
    
     
  4. kknml001

    kknml001 C O N T R A

    Tham gia ngày:
    4/9/06
    Bài viết:
    1,631
    hiểu rồi :D . Mà hàm này nằm trong thư viện nào vậy bạn . lúc mình viết xong cho chạy thì nó báo là error C2065: 'getMax' : undeclared identifier . Có phải là do mình chưa khai báo thư viện cho hàm này không .
    -Cho mình hỏi thêm là kiểu char sao có thể nhập được nhiều ký tự or ký tự có dấu cách ?
    VD như :
    //Step #1 , welcome user
    cout<<" Hi , This program will calculating sum of 2 number \n" ;
    //Step #2 , input value
    float T , a , b ; // statement variable , data type .
    char again;
    do
    {
    cout<< " Please enter vablue a " ;
    cin >> a ; // enter value a
    cout<< " Please enter value b " ;
    cin >> b ; // enter value b
    //Step #3 , calculating sum of 2 number
    T = a + b; // sum of 2 number
    //Step #4 , Display the results
    cout<< " result is T = " << T << endl; // Display the results
    cout<<"\n";
    cout<<"\n do you want to continue (y/n) ? ";
    again;
    }
    while (again=='y');
    cout<<"\nThank you for using my program :D";
    //Step #5 Sign off message
    cout<< " \n\t Please come again\n\n " << endl;
    return 0;


    Khi mình thay y = yes , co , ok .... lúc chạy thì hàm do while nó không thực hiện lại các bước mà kết thúc luôn . Bạn nào chỉ mình cách nhập được nhiều ký tự hay ký tự cách khoản với . thanks ^^
     
  5. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Người ta chưa học template đã đưa thế thì loạn mất :))
    hàm này phải khai báo riêng, đọc bài mình ở trên có đó.
    Nhập dãy kí tự có 2 cách, 1 là dùng class String, 2 là dùng char[] và hàm cin.getline();
     
  6. kknml001

    kknml001 C O N T R A

    Tham gia ngày:
    4/9/06
    Bài viết:
    1,631
    bạn có thể chỉ mình cách dùng được không , string với char[] và hàm cin.getline() mình không biết xài ra sao nữa ?::(
    có VD minh họa thì tốt quá ^^
     
  7. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    hm, nếu bạn học mảng rồi thì dùng char[], còn String thì sau khi học class hẵn học cách dùng
    Khai báo : giả sử dùng 1 biến kí tự độ dài 15
    char a[15];
    nhập số: cin.getline(a, 15);
    in ra thì cout << a; như bt.
     
  8. ricky_martin

    ricky_martin Lão Làng Lão Làng GVN

    Tham gia ngày:
    30/12/05
    Bài viết:
    453
    có cái đề như thế này :
    nhập vào 3 số tùy ý và xuất ra theo thứ tự tăng dần.
    em làm ntn :
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    main()
    {
    int a,b,c;
    printf ("nhap vao 3 so tuy y:");
    scanf ("%d%d%d",&a,&b,&c);
    if (a>b)
    if (b>c) printf ("%d%d%d",c,b,a);
    else if (c>a) printf ("%d%d%d",b,a,c);
    else printf ("%d%d%d",b,c,a);
    else if (a>c) printf ("%d%d%d",c,a,b);
    else if (c>b) printf ("%d%d%d",a,b,c);
    else printf ("%d%d%d",a,c,b);
    getch();
    }

    Nhưng trong sách hướng dẫn nó có làm ntn mà vẫn chạy dc :

    ..............
    main()
    {
    int a,b,c;
    printf ("nhap vao 3 so tuy y");
    scanf ..............
    if (a>b)
    {
    a=a+b;
    b=a-b;
    a=a-b;
    }
    ...............
    Em ko hỉu cái phần nằm trong dấu {...} của lệnh if nghĩa là gì,rồi tại sao mà cái a>b nằm trong (...),còn phần kia lại nằm trong {.....}
    anh nào bik về C chỉ dùm em nghe
    mới học đc vài bữa nên còn tệ lắm
     
  9. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Cách
    là cách đảo chỗ 2 số ko dùng biến tạm.
    Tư tưởng 2 cách viết khác nhau.
    Cách 1: so sánh 3 số rồi in ngay.
    Cách 2: so sánh từng cặp 2 số rồi đảo số nhỏ lên, hay nói cách khác là sắp xếp 3 số tăng dần
     
  10. ricky_martin

    ricky_martin Lão Làng Lão Làng GVN

    Tham gia ngày:
    30/12/05
    Bài viết:
    453
    ý em hỏi nó có nghỉa ntn ấy
    theo em học thì dấu = là phép gán,vậy em ko hỉu đã gán a=a-b rồi sao lại a=a+b nữa ạh
    còn tại sao lại đc đặt trong dấu {....},nó có phải là 1 phần của lệnh if ko,khi nó đặt trong dấu {...}thì có chức năng gì
    làm phiền anh nhé
     
  11. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Giả sử a = x, b = y
    a = a + b tức là a = x + y
    b = a -b tức là b = x + y - y = x
    a = a - b tức là a = (x + y) - x = y
    a,b đảo chỗ :D.
    Các đoạn trong dấu { } là 1 khối lệnh, được đặt sau if thì nó cho phép thực hiện nhiều lệh đằng sau if
     
  12. DHBL

    DHBL Youtube Master Race

    Tham gia ngày:
    7/11/08
    Bài viết:
    58
    viết đại vầy đi cho em nó hiểu.
    Giả sử a=5, b=4
    thì nó phù hợp với điều kiện này "if(a>b)" và chúng ta thì muốn a phài bé hơn b nên ta dùng như vầy.

    a=a+b=5+4=9// b=4
    b=a-b=9-4=5//a=9
    a=a-b=9-5=4//a=4

    đúng ý: khi ra khỏi khối lệnh if thì a=4, và b=5.

    để đơn giản người ta viết cái này
    Mã:
     int c=a;
     a=b;
     b=c;
    là tương tự nhau, cách trong sách trên kia đỡ tốn 2 byte.
    
     
  13. kknml001

    kknml001 C O N T R A

    Tham gia ngày:
    4/9/06
    Bài viết:
    1,631
    các bạn cho hỏi :
    - trong C++ thì mình dùng hàm nào để nó hiện ra màn hình chữ có màu và tạo font luôn , VD như mình nhập 1 đoạn văn chẳng hạn và muốn đoạn văn đó có màu or nhiều màu và FONT chữ khác thỉ fải dùng code gì và code đó nằm trong thư viện nào .
    - tại ông thầy ổng bắt làm 1 bài tập xuất ra màn hình 1 dòng chữ có màu mà mình chẵng biết dùng code nào cả , mình có search ra code SetTextcolor và CreateFont mà ko biết xài cũng ko biết nó nằm trong thư viện nào ::(
    - bạn nào biết giúp mình với .Mình tìm hoài nhưng ko ra T.T
     
  14. DHBL

    DHBL Youtube Master Race

    Tham gia ngày:
    7/11/08
    Bài viết:
    58
    àh há cái này thư viện hồi mẫm rùi, bạn chạy trên borlanc c++ 3.1 nhé, mấy cái đời mới hem có chạy đâu:
    1 trong 2 hoặc chơi cả 2 cái thư viện ( cái nào báo lỗi thì bỏ ra, vì máy tính đời mới hay lỗi khi chạy)
    Mã:
    	conio.h
    	graphis.h
    // ngoài ra xuất chử thì chơi cái hàm cprintf với scanf nhé
    
    màu nền thì dùng hàm( đều là hàm voi hết nhá):
    Mã:
    	textbackground(int color)
    
    màu chử dùng hàm
    Mã:
    	textcolor(int color)
    
    Còn color thì theo bảng sau:
    Mã:
    	Đen=0
    	Blue=1
    	green=2
    	cyan=3
    	...
    	white=15
    	//Trong đó thì từ số 8->15 dành riêng cho chữ
    	//0->7 dành cho background và chữ luôn
    
    Thân, chúc vui vẻ
    .
    ___________Auto Merge________________

    .
    mình không rõ bạn sài cái trình biên dịch nào nên lấy đại cái borlandc có gì thì pm lại cái trình biên dịch mới biết mà mò bạn nhé
    to mod: em ko spam tại máy em bị virut ko gửi bài dài dc
     
  15. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    ông thầy bạn cũng hay nhỉ, bài tập đơn giản học sinh chưa làm được mà ổng đã cho mấy bài khó, thể thì học kiểu chi
     
  16. kknml001

    kknml001 C O N T R A

    Tham gia ngày:
    4/9/06
    Bài viết:
    1,631
    thanks bạn DHBL nha , mà muốn chạy trên microsoft visual C++ dc không bạn , nghe nói fải cần cái gì nữa chứ ko fải đơn giản là viết code ko fải hem . tại visual C++ chạy trên win nên fải xài đồ họa của win ?
    - nếu viết dc trên win thì bạn VD code viết sao cho mình hiểu ha . mình muốn biết code nó chạy ra sao nữa . bạn biết code font chữ thì giúp mình với hén :D
    - các bạn chỉ mình cái code và cách xài thui cũng dc , mình cố gắng viết ^^
    .
    to funnny : tại thầy mình tìm tòi và suy nghĩ cách làm , cách làm thì mình nghĩ ra dc nhưng code thì mình mù T.T , mình tìm hoài nhưng kết quả ko như ý muốn nên fải lên đây hỏi ^^ . các bạn biết thì chỉ mình nha . thanks :D
     
  17. DHBL

    DHBL Youtube Master Race

    Tham gia ngày:
    7/11/08
    Bài viết:
    58
    viết trên Tc với borland c for dos thì mới sử dụng mấy hàm kia, còn trên visual c++ mình không kiếm ra được, nếu có thì chỉ có sài gdi để làm trên MFC của visual C++ 6.0 thui.
     
  18. kknml001

    kknml001 C O N T R A

    Tham gia ngày:
    4/9/06
    Bài viết:
    1,631
    T.T mình kiếm hoài mà cũng ko ra .
    bạn cho mình hỏi code tọa độ trong VC++ đi ^^
    chẳng là có 1 bài tập yêu cầu xuất ra màn hình 1 dòng chữ giữa màn hình
    bạn cho mình code xác định tọa độ với đo màn hình ha ^^ . thanks
    có VD luôn thì tốt quá :x
     
  19. DHBL

    DHBL Youtube Master Race

    Tham gia ngày:
    7/11/08
    Bài viết:
    58
    cái visual c++ dùng lập trình ứng dụng gui mà, cái ứng dụng console của nó đâu có hàm cho xuất màu ra đâu, nó đã bỏ driver cho console rồi.

    Ứng dụng console: Số đòng X số cột.
    Ứng dụng mfc= Số Điểm hàng ngang * số điểm hàng dọc.
    --->cơ chế đồ hạo khác nhau đâu có làm được. Bồ phải hỏi ông thầy của bồ là làm ứng dụng console hay là làm ứng dụng gui vì:
    gui: mới tích hợp font chữ vào được, lấy fonr gì cũng ok ví dụ là cái soft bkav là gui, muốn sài chữ font gì cũng ok.
    console: mặc định là hệ thống của dos chỉ hiển thị kí tự, làm gì có font mà chọn, nếu có cũng ko chọn được.
     
  20. DHBL

    DHBL Youtube Master Race

    Tham gia ngày:
    7/11/08
    Bài viết:
    58
    :viết dài gửi ko dc sr;
    Nếu sài mấy cái môi trường ide như visual c++, eclipse, dev ---> bó tay vì driver dành cho đồ dos và font bị bay đi rồi không còn nữa. Vì các soft này ra đời sau, lúc này ko còn vụ đồ họa trên dos nữa rồi.
    Còn sài trên borland c và turbor c for dos mới làm được và bạn chỉ có thể dùng font và driver kèm theo:
    code này viết lại trong sách c++ của giáo sư Phạm Văn Ất
    Mã:
    #include<graphics.h>
    void main()
    {
    	int mh=0, mode=0,y,size;
    	initgraph(@mh,&mode,"");
    	y=10;
    	settjustify(0,0);
    	for(size=1,size<=5,++size)
    	{
    		settextslyte(0,0,size);
    		//Thêm màu gì nơi này luôn hai hàm ờ trên kia ép vào đây
    		outtextxy(0,y,"GRAPHICS");
    		y+=textheight("GRAPHICS") +10;
    	}
    	getch();
    	closegraph();
    }
    
     

Chia sẻ trang này