ช่วยทีครับ c++

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: ช่วยทีครับ c++

Re: ช่วยทีครับ c++

by touleg » 02/04/2012 3:10 pm

ถ้าเขียนบน Borland C++ หรือ Turbo C++ ให้ใช้ clrscr() ล้างหน้าจอได้ครับ ต้อง include <conio.h>

แต่ถ้าเขียนบน Visual Studio clrscr() จะถูกนำออกไปจาก console หมายความว่าถ้า include <conio.h> ก็ใช้ไม่ได้แล้ว
ให้นำโค้ดนี้ไไปสร้างไฟล์ winconio.h

Code: Select all

//////////////////////////////////////////////////
// WINCONIO.H  Win32 Console I/O emulation 
// This code emulate classic Console I/O functions
// for DOS console in a new Win32 console application. 
//////////////////////////////////////////////////
// This is an unsafe code to be used in C++
//////////////////////////////////////////////////

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <wincon.h>

#define        BLACK    0
#define        BLUE    1
#define        GREEN    2
#define        CYAN    3
#define        RED        4
#define        MAGENTA    5
#define        BROWN    6
#define        LIGHTGRAY    7
#define        DARKGRAY    8
#define        LIGHTBLUE    9
#define        LIGHTGREEN    10
#define        LIGHTCYAN    11
#define        LIGHTRED        12
#define        LIGHTMAGENTA    13
#define        YELLOW            14
#define        WHITE            15

void clrscr(){
  COORD coordScreen = { 0, 0 };
  DWORD cCharsWritten;
  CONSOLE_SCREEN_BUFFER_INFO csbi;
  DWORD dwConSize;
  HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

  GetConsoleScreenBufferInfo(hConsole, &csbi);
  dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
  FillConsoleOutputCharacter(hConsole, TEXT(' '),
                             dwConSize,
                             coordScreen,
                             &cCharsWritten);
  GetConsoleScreenBufferInfo(hConsole, &csbi);
  FillConsoleOutputAttribute(hConsole,
                             csbi.wAttributes,
                             dwConSize,
                             coordScreen,
                             &cCharsWritten);
  SetConsoleCursorPosition(hConsole, coordScreen);
}

void gotoxy(int x, int y){
  COORD point;
  point.X = x; point.Y = y;
  SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),
                           point);
}

void textcolor(int color){
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    WORD newcolor=0;

    if(color&0x01) newcolor|=FOREGROUND_BLUE;
    if(color&0x02) newcolor|=FOREGROUND_GREEN;
    if(color&0x04) newcolor|=FOREGROUND_RED;
    if(color&0x08) newcolor|=FOREGROUND_INTENSITY;

    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&csbi);
    csbi.wAttributes&=(BACKGROUND_INTENSITY | BACKGROUND_RED |
                       BACKGROUND_GREEN | BACKGROUND_BLUE);
    csbi.wAttributes|=newcolor;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
        csbi.wAttributes);
}

void textbackground(int color){
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    WORD newcolor=0;

    if(color&0x01) newcolor|=BACKGROUND_BLUE;
    if(color&0x02) newcolor|=BACKGROUND_GREEN;
    if(color&0x04) newcolor|=BACKGROUND_RED;
    if(color&0x08) newcolor|=BACKGROUND_INTENSITY;

    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&csbi);
    csbi.wAttributes&=(FOREGROUND_INTENSITY | FOREGROUND_RED |
                       FOREGROUND_GREEN | FOREGROUND_BLUE);
    csbi.wAttributes|=newcolor;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
        csbi.wAttributes);
}

void textattr(int color){
    textcolor(color&0x0f);
    textbackground((color&0xf0)>>4);
}

void highvideo(void){
    textattr(WHITE);
}

void normvideo(void){
    textattr(LIGHTGRAY);
}

void lowvideo(void){
    normvideo();
}

void consoletitle(LPCTSTR title){
  SetConsoleTitle(title);
}
 
นำไปไว้ที่เดียวกับไฟล์ .cpp ของโปรเจ็คเรา เวลาใช้งานก็ #include "winconio.h" ถ้ามันมองไม่เห็นให้ Add References ที่ Header ด้วย

ที่มา http://thanwa.cpe.mut.ac.th/howto/thaic ... index.html
เครดิต อ.ธันวา ศรีประมง ม.เทคโนโลยีมหานคร

ช่วยทีครับ c++

by pappiiza » 24/03/2012 6:55 pm

ทำโปรแกรม คำศัพท์
พอพิมพ์ a มันจะขึ้น
a = apple
แล้วมันจะขึ้นให้เลือก
enter Y to pass
enter N to stop
ถ้าพิม N ก็จบโปรแกรม
ถ้าพิม Y ก็เริ่มโปรแกรมต่อ
แต่อยากให้มัน เริ่มหน้าใหม่ แบบวนได้ไม่สุดอะครับ
แบบ พอพิม a
a=apple

enter Y to pass
enter N to stop

ก็พิม Y
แล้วa=appleก็หายไปแล้วมันก็ให้พิมพ์เหมือนกดrunตอนแรก
ก็วนเหมือนเริ่มไหม่เรื่อยๆอะครับ
ทำได้ไหมครับ
ช่วยหน่อยนะครับ
T T
ไม่ต้องเอาทุกตัวอักษรนะครับ เอาสัก 2 ตัว a=apple กับ b=banana ครับ
ทำไปได้เรื่อยๆ จะจบก็ต่อเมื่อพิมพ์N

Top