This cin >> check;
takes input from the keyboard and writes it to the memory that the pointer named check is pointing at. What memory is it pointing at? Let's take a look...
char* check;
Here is where the pointer is made. You are giving it no value, so it will have some random value - the random value is the location of the memory it is pointing to, so it's just pointing at some random memory somewhere. Could be anywhere.
And that's it. You never make it point to some memory. You never give this pointer a value, so when you write into the memory it points at, you are writing into some random memory somewhere. This is very, very bad. Do not write data into memory at random. If you are lucky, the random memory will be something the OS doesn't want you writing into and will segFault. If you are unlucky, it will be data that does belong to you, so the OS won't stop you and you will write over your own data.