본문 바로가기
프로그래밍/프로그래밍

C++로 간단한 퀴즈 프로그램 만들기

by 완소루피 2018. 3. 22.
728x90
반응형

C++로 간단한 퀴즈 프로그램 만들기



C++에서 파일 입출력을 이용한

아주 간단한 퀴즈 프로그램을 만들어보겠습니다!

이건 랜덤이 아니라 더 더 간단합니다


  

#include <iostream>

#include <time.h>

#include <iomanip>

#include <fstream>

#include <string>

#include <Windows.h>

using namespace std;


int score = 0; //점수

int cnt = 0; //횟수

void AnswerTrue(); //정답일 때

void AnswerFail(); //오답일 때

void print();


void main(){

char name[20]; //이름

char answer[25]; //답

string group; //분류

string ques; //문제

char ans[500]; //답

char choose[20]; //종료 선택


ifstream inFile("QUIZ.txt", ios::in); //파일 열기. 입력전용


print();


cout << "\t\t게임을 시작하시겠습니까?(Y || y) : ";

cin >> choose;

if (!strcmp("Y", choose) || !strcmp("y", choose)){


system("cls");

print();


ofstream fout("info.txt");

cout << "\t\t사용자의 이름을 입력해주세요 : ";

cin >>name;


fout <<name;

fout.close();


while (inFile >> group >> ques >> ans){ //저장

Sleep(1500);     // 3초간 대기 

system("cls");

print();

cout << "\t\t" << group << endl;

cout << "\t\t" << ques << endl;

cout << "\t\t답 : ";


cin >> answer;


if (!strcmp(ans, answer)){

AnswerTrue();

}

else{

AnswerFail();

cout <<"\t\t"<<"정답 : "<< ans << endl;

}

Sleep(1500);     // 3초간 대기 

system("cls");

printf("\n\n\n");

printf("\t--------------------------------------------------------------\n");


cout << "\t게임 그만할래요(stop) or 게임 계속할래요(아무키나 입력) : ";

cin >> choose;

if (!strcmp("stop", choose) || !strcmp("STOP", choose)){

Sleep(1500);

system("cls");

ifstream infoRea("info.txt", ios::in);

while (infoRea>>name){

printf("\n\n\n");

cout << "\t\t----------점수 알림----------\t" << endl;

cout <<"\t\t"<<"  이름 : "<< name << "\t 점수 : "<<score<<"점"<<endl;

}

infoRea.close();


Sleep(1500);

return;

}

}

}

else

return;

}


void print(){

printf("\n\n\n");

printf("\t\t-------------------------------------\n");


}


void AnswerTrue(){

cout << endl;

system("cls");

print();

cout << "\t\t" << "정답입니다." << endl;

cnt++;

score++;

cout << "\t\t" << "---" << endl;

cout << "\t\t" << cnt << "회" << endl;

cout << "\t\t" << "---" << endl;

cout << "\t\t" << " O" << endl;

cout << "\t\t" << "---" << endl;

cout << "\t\t" << "현재 점수 : " << score << "점" << endl;

printf("\t\t-----------------------------------\n");

}


void AnswerFail(){

cout << endl;

system("cls");

print();

cout << "\t\t" << "아쉽게 틀렸습니다ㅠㅠ" << endl;

score--;

cnt++;

cout << "\t\t" << "---" << endl;

cout << "\t\t" << cnt << "회" << endl;

cout << "\t\t" << "---" << endl;

cout << "\t\t" << " X" << endl;

cout << "\t\t" << "---" << endl;

score++;

cout << "\t\t" << "현재 점수 : " << score << "점" << endl;

printf("\t\t-----------------------------------\n");

}






저는 QUIZ라는 텍스트 파일을 만들어서

많은 양의 퀴즈들을 이런 식으로 넣었답니다

하지만 문제는

띄어쓰기 처리를 하지 않았어요

그래서 가독성이 많이 떨어집니다



게임을 시작하는 화면입니다



y를 누르면

이름을 입력하는 곳으로 이동합니다



그러면 문제가 나오고

답을 입력합니다


결과 화면이 나오고

그 다음에 게임을 계속 할 건지 묻습니다


끝나면 최종 결과를 보여줍니다



이렇게 C++ 파일 입출력을 이용해서 cmd에 간단한 퀴즈 프로그램을 만들 수 있습니다!

다만 어느 정도의 조건은 배제한 초간단 프로그램이죠!!


728x90
반응형

'프로그래밍 > 프로그래밍' 카테고리의 다른 글

[ADB] Airplane Mode 변경  (0) 2020.11.12
c# 다중언어  (0) 2020.11.02
[C#] C로 작성된 Dll 사용하기  (0) 2020.10.30
버블정렬  (0) 2018.03.22