Варианты практических работ №6 Вариант-9 Задание №1


Download 426.28 Kb.
Sana19.06.2023
Hajmi426.28 Kb.
#1600078
Bog'liq
6 Ташкентский университет информационных технологий


Ташкентский университет информационных технологий
имени Аль-Хоразмий.

Выполнил: Исматов А. Ф.


Cтудент гр. SWD202
Проверил: Абдурахмонов А. А.

Варианты практических работ №6

Вариант-9
Задание №1. Правило ввода адреса а е –майл почты таковы:


  1. Первый символ логина должна быть любая буква.

  2. Длина логина должна > 2 и < 8.

  3. После логина идут символи «@mail.».

  4. После точки «ru» или «bk».

Организовать проверку на правильность введеного адреса почтового ящика.

КОД:

#include
using namespace std;
bool isChar(char c)
{
return ((c >= 'a' && c <= 'z')
|| (c >= 'A' && c <= 'Z'));
}
bool isDigit(const char c)
{
return (c >= '0' && c <= '9');
}
bool is_valid(string email)
{

if (!isChar(email[0]) || email.length()>17 || email.length()<8) {


return 0;
}

int At = -1, Dot = -1;


for (int i = 0;
i < email.length(); i++) {
if (email[i] == '@') {

At = i;
}


else if (email[i] == '.') {

Dot = i;
}


}

if(email[At+1]!='m')return 0;


if(email[At+2]!='a')return 0;
if(email[At+3]!='i')return 0;
if(email[At+4]!='l')return 0;

if (At == -1 || Dot == -1)


return 0;
if (At > Dot)
return 0;
return !(Dot >= (email.length() - 1));
}
int main()
{

string email = "aaa@mail.ru";


bool ans = is_valid(email);
if (ans) {
cout << email << " : "
<< "valid" << endl;
}
else {
cout << email << " : "
<< "invalid" << endl;
}

return 0;


}




Задание №2. Организуйте ввод даты в формате – дд.мм.гг с проверкой на правильность и соответсвие данному формату.
КОД:

#include


#include
#include
#include
#include
using namespace std;
struct Date{
int day, month, year;
char date[10];
bool isset;
Date(){}
Date(char* input){
if(strlen(input)!= 10)
isset = false;
else
{
strcpy(date, input);
char * pch;
pch = strtok (date,"/");
day = atoi(pch);
pch = strtok (NULL,"/");
month = atoi(pch);
pch = strtok (NULL,"/");
year = atoi(pch);
}
}
void show(){
cout << day << "/" << month << "/" << year << endl;
}
};
bool compare(const Date & d1, const Date& d2){
if(d1.year != d2.year) return d1.year < d2.year;
if(d1.month != d2.month) return d1.month < d2.month;
if(d1.day != d2.day) return d1.day < d2.day;
}
int main()
{
char* dates[6] = {"10/12/2005",
"11/03/2050",
"28/01/1912",
"11/12/2005",
"10/11/2005",
"15/11/2005"};
vector vec;
Date d;
for(int i = 0; i != 6; i++){
d = Date(dates[i]);
vec.push_back(d);
}
sort(vec.begin(), vec.end(), compare);
for(int i = 0; i != 6; i++)vec[i].show();
return 0;
}

Download 426.28 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling