'Code moves up lines when its not supposed to
I've recently started programming in C++ (or rather, programming in general), and have been trying to make Tic Tac Toe. This is as far as I have gotten, but when I run the code and type in more than 3 numbers, the 2. and 3. lines start adding themselves to the first. Anyone got an idea what this could be caused by?
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <string>
using namespace std;
string inp;
string inpf;
bool turns = true;
string s1_9[]{ "- ", "- ", "- ", "\n" "- ","- ", "- ","\n", "- ", "- ", "- " };
void printmap() {
for (char i = 0; i < 10; i++) {
cout << s1_9[i];
}
}
int main() {
system("cls");
printmap();
if (turns) {
cin >> inp;
if (inp == "1") {
s1_9[0] = " X";
turns = false;
return main();
}
else if (inp == "2") {
s1_9[1] = " X";
turns = false;
return main();
}
else if (inp == "3") {
s1_9[2] = " X";
turns = false;
return main();
}
else if (inp == "4") {
s1_9[3] = " X";
turns = false;
return main();
}
else if (inp == "5") {
s1_9[4] = " X";
turns = false;
return main();
}
else if (inp == "6") {
s1_9[5] = " X";
turns = false;
return main();
}
else if (inp == "7") {
s1_9[6] = " X";
turns = false;
return main();
}
else if (inp == "8") {
s1_9[7] = " X";
turns = false;
return main();
}
else if (inp == " 9") {
s1_9[8] = " X";
turns = false;
return main();
}
}
else {
cin >> inpf;
if (inpf == "1") {
s1_9[0] = " 0";
turns = true;
return main();
}
else if (inpf == "2") {
s1_9[1] = " 0";
turns = true;
return main();
}
else if (inpf == "3") {
s1_9[2] = " 0";
turns = true;
return main();
}
else if (inpf == "4") {
s1_9[3] = " 0";
turns = true;
return main();
}
else if (inpf == "5") {
s1_9[4] = " 0";
turns = true;
return main();
}
else if (inpf == "6") {
s1_9[5] = " 0";
turns = true;
return main();
}
else if (inpf == "7") {
s1_9[6] = " 0";
turns = true;
return main();
}
else if (inpf == "8") {
s1_9[7] = " 0";
turns = true;
return main();
}
else if (inpf == "9") {
s1_9[8] = " 0";
turns = true;
return main();
}
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
