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

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderators: mindphp, ผู้ดูแลกระดาน

pappiiza
PHP Newbie
PHP Newbie
Posts: 1
Joined: 24/03/2012 6:53 pm

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

Post by pappiiza »

ทำโปรแกรม คำศัพท์
พอพิมพ์ 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
touleg
PHP Super Member
PHP Super Member
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

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

Post by touleg »

ถ้าเขียนบน 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
เครดิต อ.ธันวา ศรีประมง ม.เทคโนโลยีมหานคร
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 10 guests