Я пытаюсь вернуть булеву функцию, запрашивающую ввести номер ISSN, если это правильный формат для правильного ISSN, он должен вернуть true
, в противном случае false
.
Дело в том, какВы видите, ISSN должен начинаться с ISSN, затем 4 цифры, а затем еще 4 цифры.Но у меня возникают проблемы с пробелом между ISSN и числами **.Кроме того, я рассматривал возможность использования istringstream
для полного возврата ISSN, например: ** ISSN 0395-2037 ****.
Вот мой код:
#include<iostream>
#include<ctype.h>
#include<string>
#include<string.h>
#include <sstream>
using namespace std;
int main()
{
string issn;
string space;
string arr[10];
istringstream is("ISSN 0395-2037");
is >> issn;
is >> space;
for (int i = 0; i < space.length(); i++)
{
arr[i] = space[i];
}
if (issn != "ISSN"
and arr[4] != "-")
{
return false;
}
return 0;
}
Должен ли я купитьвсе это в массиве, чтобы было проще манипулировать?
Спасибо!