SHOW:
|
|
- or go back to the newest paste.
1 | #include <iostream> | |
2 | #include <cstdlib> | |
3 | #include <string> | |
4 | - | #include <fstream> |
4 | + | //#include <fstream> |
5 | using namespace std; | |
6 | ||
7 | void test_gen(); | |
8 | int question_gen(string question, bool invert); | |
9 | ||
10 | int main() | |
11 | { | |
12 | char end_restart('N'); | |
13 | ||
14 | while (end_restart != 'Y') | |
15 | { | |
16 | test_gen(); | |
17 | ||
18 | cout << "Would you like to quit (Y) or take the test again (N)? "; | |
19 | cin >> end_restart; | |
20 | cout << endl; | |
21 | end_restart = toupper(end_restart); | |
22 | } | |
23 | ||
24 | //cout << "Thank you for taking the test.\n"; | |
25 | //system("pause"); | |
26 | ||
27 | return 0; | |
28 | } | |
29 | ||
30 | void test_gen() | |
31 | { | |
32 | int extra_score(0),agree_score(0),con_score(0),emo_score(0),open_score(0); | |
33 | ||
34 | cout << "Welcome to the Big Five Index, originally written by Oliver P. John.\n"; | |
35 | cout << "Please enter a number between 1 and 5 for each question.\n"; | |
36 | cout << "1 is disagree strongly, 2 is disagree, 3 is neutral, 4 is agree, 5 is agree strongly.\n"; | |
37 | cout << "There are 54 questions in this test, so have fun and good luck!\n\n"; | |
38 | cout << "I see myself as someone who...\n"; | |
39 | ||
40 | extra_score += question_gen("Is talkative: ", false); | |
41 | agree_score += question_gen("Tends to find fault with others: ", true); | |
42 | con_score += question_gen("Does a thorough job: ", false); | |
43 | open_score += question_gen("Has a wide range of interests: ", false); | |
44 | emo_score += question_gen("Is depressed, blue: ", true); | |
45 | open_score += question_gen("Is original, comes up with new ideas: ", false); | |
46 | extra_score += question_gen("Is reserved: ", true); | |
47 | agree_score += question_gen("Is helpful and unselfish with others: ", false); | |
48 | open_score += question_gen("Prefers the conventional, traditional: ", true); | |
49 | con_score += question_gen("Can be somewhat careless: ", true); | |
50 | emo_score += question_gen("Is relaxed, handles stress well: ", false); | |
51 | open_score += question_gen("Is curious about many different things: ", false); | |
52 | extra_score += question_gen("Is full of energy: ", false); | |
53 | open_score += question_gen("Prefers work that is routine and simple: ", true); | |
54 | agree_score += question_gen("Starts quarrels with others: ", true); | |
55 | con_score += question_gen("Is a reliable worker: ", false); | |
56 | emo_score += question_gen("Can be tense: ", true); | |
57 | open_score += question_gen("Is clever, sharp witted: ", false); | |
58 | extra_score += question_gen("Tends to be quiet: ", true); | |
59 | open_score += question_gen("Values artistic, aesthetic experiences: ", false); | |
60 | con_score += question_gen("Tends to be disorganized: ", true); | |
61 | emo_score += question_gen("Is emotionally stable, not easily upset: ", false); | |
62 | open_score += question_gen("Has an active imagination: ", false); | |
63 | con_score += question_gen("Perseveres until the task is finished: ", false); | |
64 | agree_score += question_gen("Is somtimes rude to others: ", true); | |
65 | emo_score += question_gen("Has unwavering self-confidence: ", false); | |
66 | open_score += question_gen("Is inventive: ", false); | |
67 | agree_score += question_gen("Is generally trusting: ", false); | |
68 | con_score += question_gen("Tends to be lazy: ", true); | |
69 | open_score += question_gen("Is clear-thinking, intelligent: ", false); | |
70 | emo_score += question_gen("Worries a lot: ", false); | |
71 | open_score += question_gen("Wants things to be simple and clear-cut: ", true); | |
72 | extra_score += question_gen("Is sometimes shy, inhibited: ", true); | |
73 | agree_score += question_gen("Has a forgiving nature: ", false); | |
74 | open_score += question_gen("Is idealistic, can be a dreamer: ", false); | |
75 | con_score += question_gen("Does things efficiently: ", false); | |
76 | emo_score += question_gen("Can be moody: ", true); | |
77 | open_score += question_gen("Is ingenious, a deep thinking: ", false); | |
78 | extra_score += question_gen("Generates a lot of enthusiasm: ", false); | |
79 | agree_score += question_gen("Can be cold and aloof: ", true); | |
80 | open_score += question_gen("Enjoys thinking about complicated problems: ", false); | |
81 | con_score += question_gen("Makes plans and follows through with them: ", false); | |
82 | emo_score += question_gen("Remains calm in tense situations: ", false); | |
83 | - | cout << "Thank you for taking the test.\n"; |
83 | + | |
84 | - | system("pause"); |
84 | + | |
85 | extra_score += question_gen("Seeks adventure and excitement: ", false); | |
86 | emo_score += question_gen("Gets nervous easily: ", true); | |
87 | open_score += question_gen("Is sophisticated in art, music, or literature: ", false); | |
88 | extra_score += question_gen("Has an assertive personality: ", false); | |
89 | open_score += question_gen("Is insightful, sees different possibilities: ", false); | |
90 | agree_score += question_gen("Likes to cooperate with others: ", false); | |
91 | con_score += question_gen("Is easily distracted: ", true); | |
92 | open_score += question_gen("Has few artistic interests: ", true); | |
93 | ||
94 | cout << endl; | |
95 | cout << "You have successfully completed the test!\n"; | |
96 | cout << "All scores range from 9-45, except Openness, which ranges from 18-90.\n"; | |
97 | cout << "Here are your scores:\n"; | |
98 | cout << "Extraversion: " << extra_score << endl; | |
99 | cout << "Agreeableness: " << agree_score << endl; | |
100 | cout << "Conscientiousness: " << con_score << endl; | |
101 | cout << "Emotional Stability: " << emo_score << endl; | |
102 | cout << "Openness: " << open_score << endl << endl; | |
103 | } | |
104 | ||
105 | int question_gen(string question, bool invert) | |
106 | { | |
107 | int input(0); | |
108 | bool valid(true); | |
109 | ||
110 | cout << question; | |
111 | cin >> input; | |
112 | if(input <=0 || input >=6) | |
113 | { | |
114 | valid = false; | |
115 | while(!valid) | |
116 | { | |
117 | cout << "Please enter a valid answer (1-5): "; | |
118 | cin >> input; | |
119 | if(input >=1 && input <= 5) {valid = true;} | |
120 | } | |
121 | } | |
122 | ||
123 | if(invert == true) | |
124 | { | |
125 | if(input == 1) {input = 5;} | |
126 | if(input == 2) {input = 4;} | |
127 | if(input == 4) {input = 2;} | |
128 | if(input == 5) {input = 1;} | |
129 | } | |
130 | ||
131 | return input; | |
132 | } |