目前已實現的功能有
1.註冊賬號。
2.登錄賬號。
3.找回密碼。
4.獲取密碼。
5.註冊密碼。
6.退出系統。
7.初始化的菜單界面。
8.錄入之前已經保存的賬號數據。
9.錄入之前已經保存的活動數據。
10.保存活動數據。
11.保存賬號數據。
12.創建活動
13.查看已創建的活動
14.查看已加入的活動
15.發表評論
16.查看所有活動
17.加入活動
18.刪除活動
19.模糊查詢
/----------------------------------
已修復可見bug,歡迎大家在評論區對bug留言
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<ctype.h>
#include<limits>
#include<cmath>
#include<algorithm>
#include<stdlib.h>
#include<malloc.h>
#include<queue>
#include<list>
#include<vector>
#include<stack>
#include<time.h>
#include<conio.h>
#include <fstream>
#define ll long long
using namespace std;
typedef struct User//定義一個用戶信息結構體
{
char user_ID[20],user_password[20];
char secret_protection[3][20];
char join_activity_name[3][100],create_activity_name[3][100];
int join_activity_number=0,create_activity_number=0;
int cur;
} NODEX;
typedef struct Activity//定義一個活動信息結構體
{
char time[100];
char activity_name[500];
char commemt[100][3000];
int comment_cur=0;
int people_number=0;
int people_number_limit=0;
char content[5000];
char create_people[20];
char require[3000];
char location[300];
char member[100][20];
bool flag=1;
int link_cur;
} NODEY;
typedef struct load_user//用戶信息
{
char user_ID[20],user_password[20];
char secret_protection[3][20];
char join_activity_name[3][100],create_activity_name[3][100];
int join_activity_number=0,create_activity_number=0;
struct load_user *next;
} load_user,*user_LinkList;
typedef struct load_Activity//活動信息
{
char time[100];
int people_number=0;
char activity_name[500];
char commemt[100][3000];
int comment_cur=0;
int people_number_limit=0;
char content[5000];
char create_people[20];
char require[3000];
char location[300];
char member[100][20];
struct load_Activity *next;
} load_Activity,*Activity_LinkList;
user_LinkList user_message;
Activity_LinkList Activity_message;
NODEX user[1000];
NODEY activity[1000];
user_LinkList p,q;
Activity_LinkList tail,temptail;
int ID_number=0;
int Activity_number=0;
int decrease=0;
void see_one_activity(int,int);//查看一個活動
bool vague_search(char str1[],char str2[]);//匹配
void search_activity(int);//查找活動
void delete_activity(int x);//刪除活動
void join_activity(int);//加入活動
void activity_comment(int,int);//活動評論
void see_joined_activity(int);//查看加入的活動
void see_activity(int);//查看活動
void create_activity(int);//創建活動
void see_created_activity(int);//查看創建的活動
void put_user_message();//寫入用戶信息
void put_activity_message();//寫入活動信息
void load_user_message();//加載用戶信息
void load_activity_message();//加載活動信息
bool change_secret(int);//修改密碼
bool search_secret();//找回密碼
bool Login_ID();//登錄賬號
void create_secret_protection();//創建密保
bool Register();//註冊賬號
string getTime();
void menu_1();//界面菜單1
void menu_person(int x);//個人界面
void menu_end();//結束界面
int main()//主函數
{
load_user_message();
load_activity_message();
menu_1();
put_user_message();
put_activity_message();
return 0;
}
void see_one_activity(int x,int y)//查看單個活動
{
cout<<" 以下是您查詢的活動"<<'\n';
cout<<"--------------------------------------------------------------------------------"<<'\n';
cout<<'\n';
cout<<"※------------------------------------------------------------------------------※"<<'\n';
cout<<'\n';
cout<<" 活動名稱:"<<activity[y].activity_name<<'\n';
cout<<'\n';
cout<<" 活動時間:"<<activity[y].time<<'\n';
cout<<'\n';
cout<<" 活動地點:"<<activity[y].location<<'\n';
cout<<'\n';
cout<<" 人數限制:"<<activity[y].people_number_limit<<'\n';
cout<<'\n';
cout<<" 參加人數:"<<activity[y].people_number<<'\n';
cout<<'\n';
cout<<" 剩餘人數"<<activity[y].people_number_limit-activity[y].people_number<<'\n';
cout<<'\n';
cout<<" 活動要求:"<<activity[y].require<<'\n';
cout<<'\n';
cout<<" 活動內容:"<<activity[y].content<<'\n';
cout<<'\n';
cout<<" 該創始人:"<<activity[y].create_people<<'\n';
cout<<'\n';
cout<<" 活動成員:";
cout<<"【"<<1<<"】"<<activity[y].member[0]<<'\n';
for(int i=1;i<activity[y].people_number;i++)
cout<<" 【"<<i+1<<"】"<<activity[y].member[i]<<'\n';
cout<<"※------------------------------------------------------------------------------※"<<'\n';
cout<<'\n';
cout<<" 請選擇您接下里的操作"<<'\n';
cout<<'\n';
cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※ 【1】加入該活動 ※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※ 【2】返回個人界面 ※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
cout<<" 您的操作是:";
int cur;
cin>>cur;
cout<<'\n';
cout<<" 請按任意鍵繼續......"<<'\n';
getch();
if(cur==1)
{
if(activity[y].people_number_limit-activity[y].people_number>0)//若人數未滿
{
//--------------------------------以下均爲信息存儲處理-------------------------------
user_LinkList tempa;
tempa=user_message->next;
while(tempa)
{
if(!strcmp(tempa->user_ID,user[x].user_ID))
break;
tempa=tempa->next;
}
strcpy(user[x].join_activity_name[user[x].join_activity_number],activity[y].activity_name);
strcpy(tempa->join_activity_name[tempa->join_activity_number],activity[y].activity_name);
tempa->join_activity_number++;
user[x].join_activity_number++;
Activity_LinkList tempnow;
tempnow=Activity_message->next;
while(tempnow)
{
if(!strcmp(tempnow->activity_name,activity[y].activity_name))
break;
tempnow=tempnow->next;
}
strcpy(activity[y].member[activity[y].people_number],user[x].user_ID);
strcpy(tempnow->member[tempnow->people_number],user[x].user_ID);
tempnow->people_number++;
activity[y].people_number++;
cout<<'\n';
cout<<" 恭喜您成功加入活動"<<'\n';
cout<<'\n';
cout<<" 請按任意鍵返回個人頁面"<<'\n';
getch();
system("CLS");
menu_person(x);
}
else//人數滿了
{
cout<<'\n';
cout<<'\n';
cout<<" 您申請加入的活動人數已滿,請重新選擇"<<'\n';
cout<<'\n';
cout<<" 按任意鍵返回查找界面......"<<'\n';
getch();
system("CLS");
search_activity(x);
}
}
else if(cur==2)
{
system("CLS");
menu_person(x);
}
}
bool vague_search(char str1[],char str2[])//查詢是否是子串
{
if(strstr(str1,str2))
return true;
else
return false;
}
void search_activity(int x)//查找活動
{
bool have_search_victory=0;//用來判斷是否查詢到活動
int cur=1;
int location[500];
char str[500];
cout<<'\n';
cout<<'\n';
cout<<'\n';
cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※活動查詢(可輸入關鍵字)※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
cout<<"--------------------------------------------------------------------------------------"<<'\n';
cout<<'\n';
cout<<" 您查詢的活動名爲:";
cin>>str;
cout<<'\n';
cout<<" 爲您查詢到以下活動"<<'\n';
cout<<"--------------------------------------------------------------------------------------"<<'\n';
for(int i=0; i<Activity_number; i++)//模糊查詢
{
if(!activity[i].flag)
continue;
bool tag=1;//用來判斷該活動是否符合查詢條件
for(int j=0; j<strlen(str); j++)
{
char str1[3];
str1[0]=str[j];
str[1]='\0';
if(!vague_search(activity[i].activity_name,str1))
{
tag=0;
break;
}
}
if(tag)
{
have_search_victory=1;
cout<<'\n';
cout<<" 【"<<cur<<"】"<<activity[i].activity_name<<endl;
location[cur]=i;
cur++;
}
}
if(!have_search_victory)
{
cout<<" 未查詢到符合的活動"<<endl;
cout<<"-----------------------------------------------------------------------------------------------"<<'\n';
cout<<'\n';
cout<<" 請選擇您接下來的操作"<<'\n';
cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※ 【1】返回個人界面 ※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※ 【2】重新查詢 ※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※ ※"<<'\n';
cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
cout<<'\n';
cout<<" 您的操作是:";
int xx;
cin>>xx;
cout<<'\n';
cout<<" 請按任意鍵繼續..."<<endl;
getch();
system("CLS");
if(xx==1)
menu_person(x);
else if(xx==2)
search_activity(x);
}
else
{
cout<<"--------------------------------------------------------------------------------------"<<'\n';
cout<<'\n';
cout<<" 您要查看的活動是:";
int yy;
cin>>yy;
cout<<" 請按任意鍵繼續......"<<'\n';
getch();
system("CLS");
see_one_activity(x,location[yy]);
}
}
int LinkDelete_L(Activity_LinkList &L,int i)//刪除結點
{
Activity_LinkList p=L;
int j=0;
while(p->next&&j<i-1)
{
p=p->next;
++j;
}
if(!(p->next)||j>i-1)
return 0;
Activity_LinkList q=p->next;
p->next=q->next;
free(q);
return 1;
}
void delete_activity(int x)//刪除活動
{
cout<<" 親愛的"<<user[x].user_ID<<"用戶!";
cout<<"--------------------------------------------------------------------------------";
cout<<'\n';
if(!user[x].create_activity_number)
{
cout<<" 您未創建任何活動"<<'\n';
cout<<" 請按任意鍵返回個人頁面"<<endl;
getch();
system("CLS");
menu_person(x);
}
else
{
cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
for(int i=0; i<user[x].create_activity_number; i++)
{
cout<<"***********************************************************************************"<<'\n';
cout<<'\n';
cout<<" 【"<<i+1<<"】"<<user[x].create_activity_name[i]<<'\n';
cout<<'\n';
}
cout<<"***********************************************************************************"<<'\n';
cout<<'\n';
cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
cout<<'\n';
cout<<" 您要刪除的活動是:";
int cur;
cin>>cur;
int k=0;
for(; k<Activity_number; k++)//找到活動
if(!strcmp((activity[k].activity_name),user[x].create_activity_name[cur-1]))
break;
int temp;
//-----------------------信息處理
for(temp=0; temp<ID_number; temp++)
{
for(int p=0; p<activity[k].people_number; p++)
{
if(!strcmp(user[temp].user_ID,activity[k].member[p]))
{
for(int j=0; j<user[temp].join_activity_number; j++)
{
if(!strcmp(user[temp].join_activity_name[j],activity[k].activity_name))
{
//---------刪掉用戶信息中的關於該活動的信息
user_LinkList tempnowa;
tempnowa=user_message->next;
while(tempnowa)
{
if(!strcmp(tempnowa->user_ID,user[temp].user_ID))
break;
tempnowa=tempnowa->next;
}
for(int g=j+1; g<user[temp].join_activity_number; g++)
{
strcpy(user[temp].join_activity_name[g-1],user[temp].join_activity_name[g]);
strcpy(tempnowa->join_activity_name[g-1],tempnowa->join_activity_name[g]);
}
user[temp].join_activity_number--;
tempnowa->join_activity_number--;
break;
}
}
}
}
}
user_LinkList tempnow;
tempnow=user_message->next;
while(strcmp(user[x].user_ID,tempnow->user_ID))
tempnow=tempnow->next;
for(int i=k+1; i<user[x].create_activity_number; i++)
{
strcpy(user[x].create_activity_name[i-1],user[x].create_activity_name[i]);
strcpy(tempnow->create_activity_name[i-1],tempnow->create_activity_name[i]);
}
user[x].create_activity_number--;
tempnow->create_activity_number--;
LinkDelete_L(Activity_message,activity[k].link_cur);
for(int p=k+1; p<Activity_number; p++)
activity[p].link_cur--;
activity[k].flag=0;
decrease++;
cout<<'\n';
cout<<" 您已成功刪除活動"<<'\n';
cout<<'\n';
cout<<" 請按任意鍵返回個人頁面"<<endl;
getch();
system("CLS");
menu_person(x);
}
}
void join_activity(int x)//加入活動
{
cout<<'\n';
cout<<'\n';
cout<<" 請輸入您要參加的活動序號"<<'\n';
cout<<'\n';
cout<<"------------------------------------------------------------------------------"<<'\n';
for(int i=0; i<Activity_number; i++)
{
cout<<'\n';
if(activity[i].flag)
cout<<" 【"<<i+1<<"】"<<activity[i].activity_name<<'\n';
}
cout<<'\n';
cout<<"------------------------------------------------------------------------------"<<'\n';
cout<<'\n';
cout<<" 您想參加的活動是:";
int want;
cin>>want;
if(activity[want-1].people_number_limit-activity[want-1].people_number>0)//人數未滿
{
//-----------------------以下是用戶信息處理
user_LinkList tempa;
tempa=user_message->next;
while(tempa)
{
if(!strcmp(tempa->user_ID,user[x].user_ID))
break;
tempa=tempa->next;
}
strcpy(user[x].join_activity_name[user[x].join_activity_number],activity[want-1].activity_name);
strcpy(tempa->join_activity_name[tempa->join_activity_number],activity[want-1].activity_name);
tempa->join_activity_number++;
user[x].join_activity_number++;
Activity_LinkList tempnow;
tempnow=Activity_message->next;
while(tempnow)
{
if(!strcmp(tempnow->activity_name,activity[want-1].activity_name))
break;
tempnow=tempnow->next;
}
strcpy(activity[want-1].member[activity[want-1].people_number],user[x].user_ID);
strcpy(tempnow->member[tempnow->people_number],user[x].user_ID);
tempnow->people_number++;
activity[want-1].people_number++;
cout<<'\n';
cout<<" 恭喜您成功加入活動"<<'\n';
cout<<'\n';
cout<<" 請按任意鍵返回個人頁面"<<'\n';
getch();
system("CLS");
menu_person(x);
}
else//人數已滿
{
cout<<'\n';
cout<<'\n';
cout<<" 您申請加入的活動人數已滿,請重新選擇"<<'\n';
cout<<'\n';
cout<<" 按任意鍵繼續......"<<'\n';
getch();
system("CLS");
join_activity(x);
}
}
void activity_comment(int x,int y)//活動評論
{
cout<<'\n';
cout<<'\n';
cout<<'\n';
cout<<" 以下是關於活動“"<<activity[x].activity_name<<"”的評論"<<endl;
cout<<'\n';
cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
if(!activity[x].comment_cur)
{
cout<<'\n';
cout<<" 暫時沒有關於次活動的評論,快來搶沙發吧!"<<endl;
}
else
{
for(int i=0; i<activity[x].comment_cur; i++)
{
cout<<'\n';
cout<<"------------------------------------------------------------------------------------"<<'\n';
cout<<" 【"<<i+1<<"】"<<activity[x].commemt[i]<<'\n';
}
}
cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<'\n';
cout<<'\n';
cout<<"評論:";
cin>>activity[x].commemt[activity[x].comment_cur];
Activity_LinkList tempnow;
tempnow=Activity_message->next;
while(tempnow)
{
if(!strcmp(tempnow->activity_name,activity[x].activity_name))
break;
tempnow=tempnow->next;
}
strcpy(tempnow->commemt[tempnow->comment_cur],activity[x].commemt[activity[x].comment_cur]);
tempnow->comment_cur++;
activity[x].comment_cur++;
cout<<'\n';
cout<<" 恭喜您,評論成功";
cout<<'\n';
cout<<" 請選擇您接下來的操作";
cout<<'\n';
cout<<" __________________________________________"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【1】返回個人界面 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【2】查看所有活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【3】創建活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【4】查看自己創建的活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【5】退出系統 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" ---------------------------------------- |"<<'\n';
cout<<'\n';
int cur;
cout<<" 您的操作是:";
cin>>cur;
system("CLS");
if(cur==1)
menu_person(y);
else if(cur==2)
see_activity(y);
else if(cur==3)
create_activity(y);
else if(cur==4)
see_created_activity(y);
else if(cur==5)
menu_end();
}
void see_joined_activity(int x)//查看加入的活動
{
cout<<'\n';
cout<<'\n';
cout<<'\n';
if(!user[x].join_activity_number)
{
cout<<" 您未加入任何活動"<<endl;
cout<<'\n';
cout<<" 請選擇您接下來的操作"<<'\n';
cout<<'\n';
cout<<" __________________________________________"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【1】返回個人界面 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【2】查看所有活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【3】創建活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【4】查看自己創建的活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【5】退出系統 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" ---------------------------------------- |"<<'\n';
cout<<'\n';
int cur;
cout<<" 您接下來的操作是:";
cin>>cur;
getchar();
cout<<" 請按任意鍵繼續...... "<<'\n';
getch();
system("CLS");
if(cur==1)
menu_person(x);
else if(cur==2)
see_activity(x);
else if(cur==3)
create_activity(x);
else if(cur==4)
see_created_activity(x);
else if(cur==5)
menu_end();
}
else
{
cout<<" 您加入的活動有"<<'\n';
for(int i=0; i<user[x].join_activity_number; i++)
{
cout<<'\n';
cout<<" 【"<<i+1<<"】:"<<user[x].join_activity_name[i]<<'\n';
}
cout<<'\n';
cout<<" 請選擇您接下來的操作"<<'\n';
cout<<'\n';
cout<<" __________________________________________"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【1】返回個人界面 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【2】查看所有活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【3】創建活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【4】退出系統 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【5】選擇活動查看和發表評論 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" ---------------------------------------- |"<<'\n';
cout<<'\n';
int cur;
cout<<" 您接下來的操作是:";
cin>>cur;
getchar();
cout<<" 請按任意鍵繼續...... "<<'\n';
getch();
system("CLS");
if(cur==1)
menu_person(x);
else if(cur==2)
see_activity(x);
else if(cur==3)
create_activity(x);
else if(cur==4)
menu_end();
else if(cur==5)
{
cout<<'\n';
cout<<'\n';
cout<<'\n';
cout<<" 您加入的活動有"<<'\n';
for(int i=0; i<user[x].join_activity_number; i++)
{
cout<<'\n';
cout<<" 【"<<i+1<<"】:"<<user[x].join_activity_name[i]<<'\n';
}
cout<<'\n';
int local;
cout<<" 請選擇您要查看和評論的活動"<<'\n';
cout<<'\n';
cout<<" 您選擇的活動是:";
cin>>local;
cout<<'\n';
cout<<'\n';
cout<<" 請按任意鍵進入評論頁面......";
getch();
system("CLS");
//----------------------------------查找-----------------------------------------
int y;
for(int i=0; i<Activity_number; i++)
{
if(!strcmp(activity[i].activity_name,user[x].join_activity_name[local-1]))
{
y=i;
break;
}
}
activity_comment(y,x);
}
}
}
void see_activity(int x)//查看所有活動
{
if(Activity_number)
{
cout<<'\n';
cout<<'\n';
cout<<'\n';
cout<<" 以下是現在所有的活動"<<'\n';
cout<<"--------------------------------------------------------------------------------"<<'\n';
cout<<'\n';
int tag=0;
for(int i=0; i<Activity_number; i++)
{
if(activity[i].flag)
{
tag++;
cout<<"※------------------------------------------------------------------------------※"<<'\n';
cout<<'\n';
cout<<" 活動序號:"<<tag<<'\n';
cout<<'\n';
cout<<" 活動名稱:"<<activity[i].activity_name<<'\n';
cout<<'\n';
cout<<" 活動時間:"<<activity[i].time<<'\n';
cout<<'\n';
cout<<" 活動地點:"<<activity[i].location<<'\n';
cout<<'\n';
cout<<" 人數限制:"<<activity[i].people_number_limit<<'\n';
cout<<'\n';
cout<<" 參加人數:"<<activity[i].people_number<<'\n';
cout<<'\n';
cout<<" 剩餘人數"<<activity[i].people_number_limit-activity[i].people_number<<'\n';
cout<<'\n';
cout<<" 活動要求:"<<activity[i].require<<'\n';
cout<<'\n';
cout<<" 活動內容:"<<activity[i].content<<'\n';
cout<<'\n';
cout<<" 該創始人:"<<activity[i].create_people<<'\n';
cout<<"※------------------------------------------------------------------------------※"<<'\n';
cout<<'\n';
}
}
cout<<'\n';
cout<<"-----------------------------------------------------------------------------------"<<'\n';
cout<<'\n';
cout<<" 選擇菜單"<<'\n';
cout<<" ※-----------------------------------※"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【1】加入活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【2】返回個人頁面 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【3】創建活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【4】退出系統 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" ※-----------------------------------※"<<'\n';
int cur;
cout<<" 您接下來的操作是:";
cin>>cur;
cout<<'\n';
cout<<" 請按任意鍵繼續...";
getch();
system("CLS");
if(cur==1)
{
join_activity(x);
}
else if(cur==2)
{
menu_person(x);
}
else if(cur==3)
{
create_activity(x);
}
else if(cur==4)
{
menu_end();
}
}
else
{
cout<<'\n';
cout<<'\n';
cout<<'\n';
cout<<"---------------------------------------目前尚未有活動,等待您的創建---------------------------------------"<<'\n';
cout<<'\n';
cout<<'\n';
cout<<" 請選擇您接下來的操作"<<'\n';
cout<<'\n';
cout<<" __________________________________________"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【1】返回個人界面 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【2】創建活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【3】退出系統 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" ---------------------------------------- |"<<'\n';
cout<<'\n';
int cur;
cout<<" 您接下來的操作是:";
cin>>cur;
getchar();
cout<<" 請按任意鍵繼續...... "<<'\n';
getch();
system("CLS");
if(cur==1)
menu_person(x);
else if(cur==2)
create_activity(x);
else if(cur==3)
menu_end();
}
}
void create_activity(int x)//創建活動
{
temptail= (Activity_LinkList)malloc(sizeof(load_Activity));//新建活動結點
temptail->next=NULL;
cout<<'\n';
cout<<'\n';
cout<<'\n';
cout<<" 活動創建頁面 "<<'\n';
cout<<"-----------------------------------------------------------------------"<<'\n';
cout<<'\n';
cout<<" 請按要求填寫以下活動信息 "<<endl;
cout<<endl;
cout<<" 1.活動名稱:";
cin>>temptail->activity_name;
strcpy(activity[Activity_number].activity_name,temptail->activity_name);
cout<<'\n';
cout<<" 2.活動時間:";
cin>>temptail->time;
strcpy(activity[Activity_number].time,temptail->time);
cout<<'\n';
cout<<" 3.活動人數:";
cin>>temptail->people_number_limit;
activity[Activity_number].people_number_limit=temptail->people_number_limit;
cout<<'\n';
cout<<" 4.活動地點:";
cin>>temptail->location;
strcpy(activity[Activity_number].location,temptail->location);
cout<<'\n';
cout<<" 5.活動要求:";
cin>>temptail->require;
strcpy(activity[Activity_number].require,temptail->require);
cout<<'\n';
cout<<" 6.活動內容:";
cin>>temptail->content;
strcpy(activity[Activity_number].content,temptail->content);
getchar();
cout<<'\n';
//-------------------信息處理-------------
strcpy(temptail->create_people,user[x].user_ID);
strcpy(activity[Activity_number].create_people,temptail->create_people);
strcpy(temptail->member[temptail->people_number],user[x].user_ID);
strcpy(activity[Activity_number].member[activity[Activity_number].people_number],user[x].user_ID);
strcpy(user[x].create_activity_name[user[x].create_activity_number],temptail->activity_name);
user[x].create_activity_number++;
strcpy(user[x].join_activity_name[user[x].join_activity_number],temptail->activity_name);
user[x].join_activity_number++;
user_LinkList tempnow;
tempnow=user_message->next;
while(strcmp(user[x].user_ID,tempnow->user_ID))
tempnow=tempnow->next;
strcpy(tempnow->create_activity_name[tempnow->create_activity_number],temptail->activity_name);
tempnow->create_activity_number++;
strcpy(tempnow->join_activity_name[tempnow->join_activity_number],temptail->activity_name);
tempnow->join_activity_number++;
temptail->people_number++;
activity[Activity_number].people_number++;
activity[Activity_number].link_cur=Activity_number+1;
cout<<activity[Activity_number].link_cur<<endl;
Activity_number++;
tail->next=temptail;
tail=tail->next;
cout<<" 恭喜您成功創建活動!"<<'\n';
cout<<'\n';
cout<<" 請按任意鍵返回個人頁面......";
getch();
system("CLS");
menu_person(x);
}
void see_created_activity(int x)//查看創建的活動
{
cout<<'\n';
cout<<'\n';
cout<<'\n';
if(!user[x].create_activity_number)
{
cout<<" 您未創建任何活動"<<'\n';
cout<<'\n';
cout<<" 請選擇您接下來的操作"<<'\n';
cout<<'\n';
cout<<" __________________________________________"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【1】返回個人界面 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【2】查看所有活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【3】創建活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【4】退出系統 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" ---------------------------------------- |"<<'\n';
cout<<'\n';
int cur;
cout<<" 您接下來的操作是:";
cin>>cur;
getchar();
cout<<" 請按任意鍵繼續...... "<<'\n';
getch();
system("CLS");
if(cur==1)
menu_person(x);
else if(cur==2)
see_activity(x);
else if(cur==3)
create_activity(x);
else if(cur==4)
menu_end();
}
else
{
cout<<" 您創建的活動有:"<<'\n';
for(int i=0; i<user[x].create_activity_number; i++)
{
cout<<'\n';
cout<<" 【"<<i+1<<"】:"<<user[x].create_activity_name[i]<<'\n';
}
cout<<'\n';
cout<<" 請選擇您接下來的操作"<<'\n';
cout<<'\n';
cout<<" __________________________________________"<<'\n';
cout<<" | |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【1】返回個人界面 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【2】查看所有活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【3】創建活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【4】刪除活動 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" | 【5】退出系統 |"<<'\n';
cout<<" | |"<<'\n';
cout<<" ---------------------------------------- |"<<'\n';
cout<<'\n';
int cur;
cout<<" 您接下來的操作是:";
cin>>cur;
getchar();
cout<<" 請按任意鍵繼續...... "<<'\n';
getch();
system("CLS");
if(cur==1)
menu_person(x);
else if(cur==2)
see_activity(x);
else if(cur==3)
create_activity(x);
else if(cur==5)
menu_end();
else if(cur==4)
delete_activity(x);
}
}
void put_user_message()//將用戶信息寫入文件
{
ofstream fout("user.txt");
user_LinkList p;
p=user_message->next;
while(p!=NULL)
{
fout<<p->join_activity_number<<" "<<p->create_activity_number<<'\n';
for(int i=0; i<p->join_activity_number; i++)
fout<<p->join_activity_name[i]<<'\n';
for(int i=0; i<p->create_activity_number; i++)
fout<<p->create_activity_name[i]<<'\n';
fout<<p->user_ID<<" "<<p->user_password<<" "<<p->secret_protection[0]<<" "<<p->secret_protection[1]<<" "<<p->secret_protection[2];
ID_number--;
if(ID_number)
fout<<'\n';
p=p->next;
}
fout.close();
}
void put_activity_message()//將活動信息寫入文件
{
ofstream fout("activity.txt");
Activity_LinkList p;
p=Activity_message->next;
Activity_number=Activity_number-decrease;
while(p!=NULL)
{
fout<<p->time<<'\n';
fout<<p->location<<'\n';
fout<<p->require<<'\n';
fout<<p->content<<'\n';
fout<<p->create_people<<'\n';
fout<<p->people_number<<" "<<p->people_number_limit<<'\n';
for(int i=0; i<p->people_number; i++)
fout<<p->member[i]<<'\n';
fout<<p->comment_cur<<'\n';
for(int i=0; i<p->comment_cur; i++)
fout<<p->commemt[i]<<'\n';
fout<<p->activity_name;
Activity_number--;
if(Activity_number)
fout<<'\n';
p=p->next;
}
fout.close();
}
void load_user_message()//讀取用戶信息
{
//----------------錄入鏈表----------
user_LinkList t;
int i,sum=0;
ifstream fin("user.txt");
user_message= (user_LinkList)malloc(sizeof(load_user));
user_message->next = NULL; // 先建立一個帶頭結點的單鏈表
q = (user_LinkList)malloc(sizeof(load_user));
q = user_message;
int k=0;
while(fin.peek()!=EOF)
{
p = (user_LinkList)malloc(sizeof(load_user)); // 生成新結點
memset(p->user_ID,'\0',sizeof(p->user_ID));
memset(p->user_password,'\0',sizeof(p->user_password));
memset(p->secret_protection[0],'\0',sizeof(p->secret_protection[0]));
memset(p->secret_protection[1],'\0',sizeof(p->secret_protection[1]));
memset(p->secret_protection[2],'\0',sizeof(p->secret_protection[2]));
fin>>p->join_activity_number>>p->create_activity_number;
for(int i=0; i<p->join_activity_number; i++)
fin>>p->join_activity_name[i];
for(int i=0; i<p->create_activity_number; i++)
fin>>p->create_activity_name[i];
fin>>p->user_ID>>p->user_password>>p->secret_protection[0]>>p->secret_protection[1]>>p->secret_protection[2];
p->next=NULL;
q->next=p;
q=q->next;
sum++;
}
//--------------錄入結構體數組-----待會可能用到二分查找------//
ID_number=sum;
t=user_message;
i=0;
t=t->next;
while(t!=NULL)
{
memset(user[i].user_ID,'\0',sizeof(user[i].user_ID));
strcpy(user[i].user_ID,t->user_ID);
strcpy(user[i].user_password,t->user_password);
strcpy(user[i].secret_protection[0],t->secret_protection[0]);
strcpy(user[i].secret_protection[1],t->secret_protection[1]);
strcpy(user[i].secret_protection[2],t->secret_protection[2]);
user[i].join_activity_number=t->join_activity_number;
for(int j=0; j<user[i].join_activity_number; j++)
strcpy(user[i].join_activity_name[j],t->join_activity_name[j]);
user[i].create_activity_number=t->create_activity_number;
for(int j=0; j<user[i].create_activity_number; j++)
strcpy(user[i].create_activity_name[j],t->create_activity_name[j]);
user[i].cur=i;
i++;
t=t->next;
}
fin.close();
}
void load_activity_message()//讀取活動信息
{
int i;
ifstream fin("activity.txt");
Activity_message= (Activity_LinkList)malloc(sizeof(load_Activity));
Activity_message->next = NULL; // 先建立一個帶頭結點的單鏈表
tail= (Activity_LinkList)malloc(sizeof(load_Activity));
tail= Activity_message;
while(fin.peek()!=EOF)
{
temptail= (Activity_LinkList)malloc(sizeof(load_Activity)); // 生成新結點
fin>>temptail->time;
fin>>temptail->location;
fin>>temptail->require;
fin>>temptail->content;
fin>>temptail->create_people;
fin>>temptail->people_number>>temptail->people_number_limit;
for(int i=0; i<temptail->people_number; i++)
fin>>temptail->member[i];
fin>>temptail->comment_cur;
for(int i=0; i<temptail->comment_cur; i++)
fin>>temptail->commemt[i];
fin>>temptail->activity_name;
temptail->next=NULL;
tail->next=temptail;
tail=tail->next;
Activity_number++;
}
fin.close();
//--------------錄入結構體數組-----待會可能用到二分查找------//
Activity_LinkList t;
t=Activity_message->next;
i=0;
while(t!=NULL)
{
activity[i].link_cur=i+1;
strcpy(activity[i].time,t->time);
strcpy(activity[i].location,t->location);
strcpy(activity[i].require,t->require);
strcpy(activity[i].content,t->content);
strcpy(activity[i].create_people,t->create_people);
activity[i].people_number=t->people_number;
activity[i].people_number_limit=t->people_number_limit;
for(int k=0; k<t->people_number; k++)
strcpy(activity[i].member[k],t->member[k]);
activity[i].comment_cur=t->comment_cur;
for(int k=0; k<t->comment_cur; k++)
strcpy(activity[i].commemt[k],t->commemt[k]);
activity[i].flag=1;
strcpy(activity[i].activity_name,t->activity_name);
i++;
t=t->next;
}
fin.close();
}
bool change_secret(int x)//修改密碼
{
while(1)
{
char input1[20],input2[20];
system("CLS");
cout<<'\n';
cout<<'\n';
cout<<'\n';
cout<<" 請輸入您的新密碼(16位字符以內):";
scanf("%s",input1);
getchar();
cout<<" 請再次輸入您的新密碼:";
scanf("%s",input2);
getchar();
if(!strcmp(input2,input1))
{
user_LinkList temp;
temp=user_message;
strcpy(user[x].user_password,input1);
for(int k=0; k<=user[x].cur; k++)
temp=temp->next;
strcpy(temp->user_password,input1);
return 1;
}
else
{
cout<<" 您兩次輸入的密碼不相同,請重新輸入"<<'\n';
cout<<'\n';
cout<<" 請按任意鍵繼續...";
getch();
continue;
}
}
}
bool search_secret()//找回密碼
{
system("CLS");
while(1)
{
int i=0;
char ID[20];
cout<<endl;
cout<<endl;
cout<<endl;
cout<<" 請輸入您的賬號:";
cin>>ID;
cout<<endl;
for(i=0; i<ID_number; i++) //查找賬號
if(!strcmp(user[i].user_ID,ID))
break;
if(i==ID_number)//賬號不存在時
{
int cur;
cout<<endl;
cout<<" 您輸入的賬號不存在,請重新輸入或註冊賬號"<<endl;
cout<<" 【1】重新輸入"<<endl;
cout<<endl;
cout<<" 【2】註冊賬號"<<endl;
cout<<endl;
cout<<" 請輸入您的操作:"<<endl;
cin>>cur;
getchar();
cout<<endl;
cout<<" 請按任意鍵進入下一操作..."<<endl;
getch();
if(cur==1)
{
system("CLS");
continue;
}
else if(cur==2)
{
system("CLS");
Register();
return 1;
}
}
else
{
while(1)
{
char input[3][20];
cout<<" 第一個問題:您最好的外國朋友叫什麼名字?(16個字母以內) "<<endl;
cout<<" :";
scanf("%s",input[0]);
getchar();
if(!strcmp(user[i].secret_protection[0],input[0]))
{
cout<<'\n';
cout<<" 答案正確!請進入下題作答"<<'\n';
}
else
{
cout<<" 答案錯誤,請重新輸入"<<endl;
cout<<'\n';
cout<<" 請按任意鍵繼續...."<<'\n';
getch();
system("CLS");
continue;
}
cout<<endl;
cout<<" 第二個問題:你喜歡的數字是多少?(16位數以內) "<<endl;
cout<<" :";
scanf("%s",input[1]);
getchar();
if(!strcmp(user[i].secret_protection[1],input[1]))
{
cout<<'\n';
cout<<" 答案正確!請進入下題作答"<<'\n';
}
else
{
cout<<" 答案錯誤,請重新輸入"<<endl;
cout<<'\n';
cout<<" 請按任意鍵繼續...."<<'\n';
getch();
system("CLS");
continue;
}
cout<<endl;
cout<<" 第三個問題: 您的英文名字叫什麼?(16個字母以內) "<<endl;
cout<<" :";
scanf("%s",input[2]);
getchar();
if(!strcmp(user[i].secret_protection[2],input[2]))
{
cout<<'\n';
cout<<'\n';
cout<<" 恭喜您成功驗證密保! "<<endl;
cout<<endl;
cout<<" 請選擇接下來您想進行的操作";
cout<<endl;
cout<<" |--------------------------------------| "<<endl;
cout<<" | |"<<endl;
cout<<" | 【1】獲取密碼 |"<<endl;
cout<<" | |"<<endl;
cout<<" | 【2】修改密碼 |"<<endl;
cout<<" | |"<<endl;
cout<<" | 【3】退出系統 |"<<endl;
cout<<" | |"<<endl;
cout<<" |--------------------------------------|"<<endl;
cout<<" 您的選擇是:";
int a;
cin>>a;
getchar();
if(a==1)
{
cout<<'\n';
cout<<" 您的密碼是:"<<user[i].user_password<<'\n';
cout<<'\n';
cout<<" 請按任意鍵返回初始頁面...";
getch();
system("CLS");
menu_1();
return 0;
}
else if(a==2)
{
if(change_secret(i))
{
cout<<'\n';
cout<<" 您已成功修改密碼"<<endl;;
cout<<" 請按任意鍵返回初始頁面...";
getch();
system("CLS");
menu_1();
}
return 0;
}
else if(a==3)
{
menu_end();
return 0;
}
}
else
{
cout<<" 答案錯誤,請重新輸入"<<endl;
cout<<'\n';
cout<<" 請按任意鍵繼續...."<<'\n';
getch();
system("CLS");
continue;
}
}
}
}
}
bool Login_ID()//賬號登錄
{
system("CLS");
while(1)
{
bool flag=1;
int i=0;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
char now_user_ID[20],now_user_password[20];
cout<<" 請輸入賬號"<<endl;
cout<<" :";
scanf("%s",now_user_ID);
getchar();
cout<<endl;
cout<<" 請輸入密碼"<<endl;
cout<<" :";
int cur_x=0;
char ch;
ch=getch();
while(ch!='\r')
{
cout<<"*";
now_user_password[cur_x++]=ch;
ch=getch();
}
now_user_password[cur_x]='\0';
cout<<endl;
for(i=0; i<ID_number; i++) //查找賬號
if(!strcmp(user[i].user_ID,now_user_ID))
break;
if(i==ID_number)//賬號不存在
{
int cur;
cout<<endl;
cout<<" 您輸出的賬號不存在,請重新輸入或註冊賬號"<<endl;
cout<<endl;
cout<<" 【1】重新輸入"<<endl;
cout<<endl;
cout<<" 【2】註冊賬號"<<endl;
cout<<endl;
cout<<" 請輸入您的操作:"<<endl;
cin>>cur;
getchar();
cout<<'\n';
cout<<" 請按任意鍵進入下一操作..."<<endl;
getch();
if(cur==1)
{
system("CLS");
continue;
}
else if(cur==2)
{
system("CLS");
Register();
return 1;
}
}
else//存在
{
if(!strcmp(user[i].user_password,now_user_password))
{
cout<<" 恭喜您登錄成功"<<endl;
cout<<endl;
cout<<" 請按任意鍵進入個人頁面......"<<endl;
getch();
system("CLS");
menu_person(i);
return 0;
}
else
{
int cur;
cout<<endl;
cout<<" 密碼錯誤,請重新登錄或找回密碼"<<endl;
cout<<endl;
cout<<" 【1】重新輸入"<<endl;
cout<<endl;
cout<<" 【2】找回密碼"<<endl;
cout<<endl;
cout<<" 請輸入您的操作:";
cin>>cur;
getchar();
cout<<endl;
cout<<" 請按任意鍵進入下一操作..."<<endl;
getch();
if(cur==1)
{
system("CLS");
continue;
}
else
{
system("CLS");
search_secret();
return 0;
}
}
}
}
}
void create_secret_protection()//創建密保
{
cout<<" 第一個問題:您最好的外國朋友叫什麼名字?(16個字母以內) "<<endl;
cout<<" :";
scanf("%s",user[ID_number].secret_protection[0]);
getchar();
cout<<endl;
cout<<" 第二個問題:你喜歡的數字是多少?(16位數以內) "<<endl;
cout<<" :";
scanf("%s",user[ID_number].secret_protection[1]);
getchar();
cout<<endl;
cout<<" 第三個問題: 您的英文名字叫什麼?(16個字母以內) "<<endl;
cout<<" :";
scanf("%s",user[ID_number].secret_protection[2]);
getchar();
cout<<endl;
cout<<" 恭喜您成功註冊密保,我們將爲您的賬號保駕護航 "<<endl;
cout<<endl;
cout<<" 請按任意鍵繼續...... "<<endl;
strcpy(p->secret_protection[0],user[ID_number].secret_protection[0]);
strcpy(p->secret_protection[1],user[ID_number].secret_protection[1]);
strcpy(p->secret_protection[2],user[ID_number].secret_protection[2]);
p->next=NULL;
q->next=p;
q=q->next;
getch();
system("CLS");
}
bool Register()//註冊賬號
{
while(1)
{
bool is_created=false;//判斷用戶名是否被註冊過
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<" 請輸入長度不超過16位由英文和數字的用戶名"<<endl;
cout<<" :";
scanf("%s",user[ID_number].user_ID);
getchar();
cout<<endl;
cout<<" 請輸入長度不超過16位的密碼"<<endl;
cout<<" :";
scanf("%s",user[ID_number].user_password);
getchar();
for(int i=0; i<ID_number; i++) //查找已有的賬號,看用戶名是否重複。
{
if(strcmp(user[i].user_ID,user[ID_number].user_ID)==0)
{
is_created=true;
break;
}
}
if(!is_created)
{
p=(user_LinkList)malloc(sizeof(load_user));
strcpy(p->user_ID,user[ID_number].user_ID);
strcpy(p->user_password,user[ID_number].user_password);
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<" 溫馨提示,爲了您的賬戶安全,您必須註冊密保 "<<endl;
cout<<endl;
cout<<" 下面進入註冊密保環節 "<<endl;
cout<<endl;
cout<<" 請按任意鍵進入下一環節...... "<<endl;
getch();
system("CLS");
create_secret_protection();
ID_number++;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<" 恭喜您成功註冊賬號! "<<endl;
cout<<endl;
cout<<" 請選擇接下來您想進行的操作";
cout<<endl;
cout<<" |--------------------------------------| "<<endl;
cout<<" | |"<<endl;
cout<<" | 【1】返回上一菜單 |"<<endl;
cout<<" | |"<<endl;
cout<<" | 【2】登錄賬號 |"<<endl;
cout<<" | |"<<endl;
cout<<" | 【3】退出系統 |"<<endl;
cout<<" | |"<<endl;
cout<<" |--------------------------------------|"<<endl;
cout<<'\n';
cout<<" 您的選擇是:";
int a;
cin>>a;
getch();
system("CLS");
if(a==1)
{
menu_1();
return 0;
}
else if(a==2)
{
Login_ID();
return 0;
}
else if(a==3)
{
menu_end();
return 0;
}
}
else
{
cout<<endl;
cout<<" 改用戶名已被註冊 "<<endl;
cout<<endl;
cout<<" 請按任意鍵重新開始註冊 "<<endl;
getch();
system("CLS");
}
}
}
string getTime()//得到時間
{
time_t timep;
time (&timep); //獲取time_t類型的當前時間
char tmp[64];
strftime(tmp, sizeof(tmp), "%Y-%m-%d %H:%M:%S",localtime(&timep) );//對日期和時間進行格式化
return tmp;
}
void menu_1()//主界面
{
int a;
string time = getTime();
cout<<" ***********************************************************************************************************************"<<endl;
cout<<" * * * *"<<endl;
cout<<" * 當前的時間是:"<<time<<" * 歡迎來到LEO的活動管理系統 * *"<<endl;
cout<<" * * * *"<<endl;
cout<<" *********************************************** * *"<<endl;
cout<<" * |--------------------------------------| *"<<endl;
cout<<" * 關於本活動管理程序的內容如下 | 請選擇您需要的服務 | *"<<endl;
cout<<" * | | *"<<endl;
cout<<" * 1.您可創建和刪除活動 | 【1】賬號登錄 | *"<<endl;
cout<<" * | | *"<<endl;
cout<<" * 2.您可以查看和對參加的活動發表評論 | | 願 你 在 *"<<endl;
cout<<" * | 【2】賬號註冊 | 未來 *"<<endl;
cout<<" * 3.您可以查看和參加正在徵集的活動 | | 能 *"<<endl;
cout<<" * | | 與 重 要 的 人 *"<<endl;
cout<<" * 4.您可以註冊和找回自己的賬號 | 【3】密碼找回 | 再次重逢 *"<<endl;
cout<<" * | | *"<<endl;
cout<<" * 5.該系統可以實現單詞組合查詢活動名 | | -------以上 *"<<endl;
cout<<" * | 【4】退出系統 | *"<<endl;
cout<<" * 6.該系統會自動統計參加人數和人員名單 | | *"<<endl;
cout<<" * | | *"<<endl;
cout<<" * 7.該系統完全免費,且會給您優質的體驗 | 祝您活動愉快 | *"<<endl;
cout<<" * |--------------------------------------| *"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" 您的選擇是:";
cin>>a;
getchar();
if(a==1)
{
Login_ID();
}
else if(a==2)
{
system("CLS");
Register();
}
else if(a==3)
{
search_secret();
}
else if(a==4)
{
menu_end();
}
}
void menu_person(int x)//用戶界面
{
cout<<" 個人主頁"<<'\n';
cout<<"----------------------------------------------------------------------------------------------------------"<<'\n';
cout<<'\n';
cout<<'\n';
cout<<'\n';
cout<<" 尊敬的用戶:"<<user[x].user_ID<<"歡迎您的到來"<<endl;
cout<<endl;
printf(" ***************************\n");
printf(" *| |*\n");
printf(" *| 歡迎使用該系統 |*\n");
printf(" *| |*\n");
printf(" *| |*\n");
printf(" *| 請選擇要進行的操作: |*\n");
printf(" *| |*\n");
printf(" *| 1.查看所有活動 |*\n");
printf(" *| |*\n");
printf(" *| |*\n");
printf(" *| 2.查看已加入活動 |*\n");
printf(" *| |*\n");
printf(" *| |*\n");
printf(" *| 3.查看已創建活動 |*\n");
printf(" *| |*\n");
printf(" *| |*\n");
printf(" *| 4.查找活動 |*\n");
printf(" *| |*\n");
printf(" *| |*\n");
printf(" *| 5.退出系統 |*\n");
printf(" ***************************\n");
printf("_________________________________________________________________________________________________________\n");
cout<<endl;
cout<<endl;
cout<<endl;
cout<<" 您的選擇是:";
int cur;
cin>>cur;
getchar();
cout<<" 請按任意鍵繼續......"<<endl;
getch();
system("CLS");
if(cur==1)
{
see_activity(x);
}
else if(cur==2)
{
see_joined_activity(x);
}
else if(cur==3)
{
see_created_activity(x);
}
else if(cur==4)
{
search_activity(x);
}
else if(cur==5)
menu_end();
}
void menu_end()//結束界面
{
system("CLS");
cout<<" "<<endl;
cout<<" 您已成功退出程序! "<<endl;
cout<<" "<<endl;
cout<<" 歡迎您的再次使用,若有建議歡迎提出! "<<endl;
cout<<" "<<endl;
cout<<" gPYr :SQKL7UJi.:.:...:.....:......: . . . "<<endl;
cout<<" rrri:7Uv7rv:. . . .Y. "<<endl;
cout<<" .s7::vJjv:..:.:.......:............... vBB: . "<<endl;
cout<<" 7uS2JJ1Yr::::.:.:...................... .UPi "<<endl;
cout<<" iZPP111Uvi::::........................:... : . . "<<endl;
cout<<" XBdSu1Ju7::::::.......:.............:....... "<<endl;
cout<<" MBKSu1uur:::::::......::.............: . ... . . "<<endl;
cout<<" QBK511j17:::::::......::............. rv. . .i... "<<endl;
cout<<" RBqX11JU7i::i:.:.......i...:.......... :YUv: .7i. ... "<<endl;
cout<<" KBbK2UUULi:i:7.:.......r.............:. .. :j1uj . ..ii. "<<endl;
cout<<" KjZPI2U2Jr:i:r:.:....:.ii......: ....:.. :..rs:.:i:. 7 :.i. "<<endl;
cout<<" U71MX5UXj7:i::7..:...:..r..:..... .. :. :2v: .ri : .. :...:: "<<endl;
cout<<" :E BPqUPSsii::rr.:...:...i..:....... .. :r. . :r::: ..i. .: "<<endl;
cout<<" B iBb5IPIriii:vi.:..::i:ri..i.....: .. . ...r... .r i:..: : "<<endl;
cout<<" . qP DRKX5Pjrii::7:.i..::. .:..i...... .:....:..ir.. r.. .... . "<<endl;
cout<<" B BEPIKSLii:::7.:i..... :..::.......:.. . i:.... ...:.:.:. .:.. 雷姆想要高分哦!"<<endl;
cout<<" . LB BZK5SSri::.:i..: . .. i...... i.. ... :: .. . i: .: . 謝謝大家的支持! "<<endl;
cout<<" Br :BPq5S1r::::.:. .7:jr: i......:.. . ... . .r. .:. . "<<endl;
cout<<" . B rBdS52Ui:::.. .EU:gBdBBQ. i.. ..:. . .YYJYr ... .::...: ..: "<<endl;
cout<<" .B vBPqU2Yr:... :5B7:QBQ: M: :. ..:. .. ZBBBPqBQJ. .... "<<endl;
cout<<" :Q YQdX2uLi:.. .iJ :rvBBvB . .. .. DBQB: Y5S: . ... "<<endl;
cout<<" . .d rBbPUU7::. .. . . .: . . r.vQqid .:. ... "<<endl;
cout<<" . Y iBZPqjY:.:......... .. . . . "<<endl;
cout<<" . i. .BgbqXsv:irv:.......... . .. . "<<endl;
cout<<" . 1. QQPPXKUv::77.......... . ........... .... .: . "<<endl;
cout<<" . LigQZXPKKSS: :. . . ............. :. .. "<<endl;
cout<<" . .PBZdqqSSXd7i7. . . . .. .: .. "<<endl;
cout<<" . QMEdPP5I5qXbi ::. .i : "<<endl;
cout<<" . XBgj2gPI5S52q: :ir7i.. .7. .. "<<endl;
cout<<" ... BBQ.7BZSXK22br .. .. rusri:: .7. : "<<endl;
cout<<" .. rRBB :RBEDPX2d5: vu7rir: .L: .: "<<endl;
cout<<" ... 7Y rrudZb2bq2: ruJ7rrri .j. r "<<endl;
cout<<" .... JDEPP1gZ2: .:r7usL77ri iu. r. "<<endl;
cout<<" . . . . rbr.gqUj7r: .2KI7vvri:.. :L r: "<<endl;
cout<<" ... .:::vr7Ysi.::... i77... .: "<<endl;
cout<<" ... .:...J7ir7i::::i::7.. "<<endl;
cout<<" .. .ii...r .ir::ir..i. "<<endl;
cout<<" ... . .77rri:. i:.......irrr . "<<endl;
cout<<" ... . r7irrvJ2Lr. ::si:.... .rr ... . "<<endl;
cout<<" . riiir:..ivU7. .::i:..77r:::. :. ..:: ... .. "<<endl;
cout<<" .. ii:r. :rr7v:..ii7Lrii::.......:..:: ... ..... . "<<endl;
cout<<" .. . .rrr7. i .v7rvri7:i:i::::... iidg: . . . .. "<<endl;
cout<<" ... ivir7vv7i:.. . .: .... 7U. MU:5 . . ... "<<endl;
cout<<" .. . virr. .rr:. .Ps gv7 :g . . . . "<<endl;
cout<<" . .7rr iJ : . g: Yg.vi :E . . . "<<endl;
cout<<" . :v7. .. .. . :v.r1i.r7. id . . . "<<endl;
cout<<". . i77 :r7: :v : . .v.X :s Xr7i .. . . "<<endl;
cout<<" . . isr .:77: 2 :.: .. rI iP . .. . "<<endl;
cout<<". .2. ..L: . R M "<<endl;
}