Member 14056553 Ответов: 2

Проверьте электронную почту со знаком"@".


Я хочу написать код, который попросит пользователей ввести свою электронную почту.
условие состоит в том, что электронная почта должна включать знак"@". поэтому, если он/она напишет свой адрес электронной почты без знака"@", программа попросит их ввести его снова(цикл)

Что я уже пробовал:

Как я могу сделать это с помощью массива и цикла?(флаг или пока.. прием.)

на языке с ++.
спасибо

KarstenK

вы также должны проверить некоторые символы ("abc@abc.abc") и то "."

2 Ответов

Рейтинг:
2

OriginalGriff

Петля? Довольно просто:

#include <iostream>

using namespace std;
bool ContainsChar(char c, const char *str)
{
    while (*str)
    {
        if (*str++ == c) return true;
    }
    return false;
}
int main()
{
    cout<<ContainsChar('@', "Hello World");
    cout<<ContainsChar('@', "Hello@World");

    return 0;
}


Рейтинг:
15

CPallini

#include <iostream>
#include <fstream>
using namespace std;

bool is_input_ok( const string & input )
{
  return (input.find('@') != string::npos);
}


int main()
{
  string email_address;
  do
  {
    cout << "please enter the email address:\n";
    cin >> email_address;
  } while ( ! is_input_ok( email_address) );
}


Member 14056553

спасибо. но это не работает в моей программе. может быть, язык Си?

CPallini

"Не работает" - это немного расплывчато. Подробности?

Member 14056553

я использую borland c++