Формат ISSN в c ++, проблемы с пробелом, функция bool и массив - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь вернуть булеву функцию, запрашивающую ввести номер 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;
}

Должен ли я купитьвсе это в массиве, чтобы было проще манипулировать?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...