今天在通訊錄中加入了使用者身份驗證以及註冊功能
客戶端client**:
介面程式usr_menu():
void usr_menu()
主程式:
usr_menu();
char choice[32] = ;
scanf("%s",choice);
switch(choice[0])
使用者註冊以及身份驗證**:
//身份驗證
void log_on(int fd)
printf("輸入使用者名稱:\n");
scanf("%s",usr);
while(1)//迴圈接收資訊
if(strcmp(a.name,usr) != 0)
while(1)
printf("密碼錯誤!還有%d次機會\n",3-i);
i++;
}} break;
} printf("登入成功》_<\n");
sleep(1);
}//使用者註冊
void add_usr(int fd)
printf("使用者註冊成功!\n");
sleep(1);
}
伺服器端server**:
void log_on(int fd)
char sql[128] = ;
sprintf(sql,"select * from usr;");
ret = sqlite3_exec(ppdb,sql,sendinfo,&fd,null);
if(ret != sqlite_ok)
sqlite3_close(ppdb);
}void add_usr(chat *c)
char sql[128] = ;
sprintf(sql,"insert into usr values ('%s','%s');",c->name,c->tel);
ret = sqlite3_exec(ppdb,sql,null,null,null);
if(ret != sqlite_ok)
sqlite3_close(ppdb);
}
容錯率問題還沒解決》- 2019 03 23學習記錄總結
貪心訓練題目結束 給我最大的感觸是貪心衍生出的題型與題型變化之多 實在讓人頭大 然後寫寫這週對貪心的一點想法 貪心更看重排序處理的想法 最起碼在我做題的一段時間裡 不同的想法越簡練越能通過 比如卡牌比大小那類題 如果選擇全情況遍歷雖能執行但是絕對會超時 但是如果想到用map進行比較計數則會容易得多 ...
20190323 Pyhton網路程式設計
網際網路協議包含了上百種協議標準,但是最重要的兩個協議是tcp和ip協議,所以,大家把網際網路的協議簡稱tcp ip協議。ip協議負責把資料從一台計算機通過網路傳送到另一台計算機。資料被分割成一小塊一小塊,然後通過ip包傳送出去。由於網際網路鏈路複雜,兩台計算機之間經常有多條線路,因此,路由器就負責...
面試小結 學習小結
1 string 字串常量,每次改變都會生成乙個新的物件 stringbuffer 執行緒安全 變數 改變不會生成乙個新的物件 stringbuilder 非執行緒安全 在非多執行緒的情況下,用stringbuilder會快些 2 activity的四種啟動模式 singletop 棧頂正好是該ac...