做完c语言通讯录系统后的小结,c语言通讯录管理系统的总结
c語言通訊錄管理系統的總結
c語言通訊錄管理系統的總結
c語言課設管理系統總結
完成情況
防暴力輸入
密碼加密輸入并刪除
管理員和用戶端兩個端
管理員對用戶的賬號刪除
注冊用戶
用戶的賬戶名及密碼修改
用戶基本操作
管理員基本操作
存在的問題
管理員無法對用戶的數據進行修改
未使用鏈表
由于給每一個用戶都創建了一個文件,導致當用戶過多時不好操作
一些寫管理系統前的建議
在著手寫代碼之前一定先將思路理清楚,比如分為幾個端,數據的如何存儲,然后再按照數據存儲的方式去寫代碼
對一些重復性較高的代碼將其打包為函數,比如密碼輸入,界面等等你覺得重復率較高的的代碼塊,多用函數可以讓你的代碼看起來更加的簡介易懂
先將一些與“整體性”關聯不大的,但又經常遇到的函數寫出來,界面,防暴力輸入了等等,方便以后寫的時候直接用、
下面是我的幾個比較重要的代碼塊
密碼輸入函數
char* InputPassword()
{
char* password = (char*)malloc(20);
int c;
char c1;
int i = 0;
while (i < 6) {
while ((c = getch()) != '\r') {
if (c == 224) {
c1 = getch();
continue;
}
if (i < 20 && isprint(c)) {
password[i] = c;
i++;
putchar('*');
}
else if (i > 0 && c == '\b') {
i--;
putchar('\b');
putchar(' ');
putchar('\b');
}
}
password[i] = '\0';
}
return password;
}
這里由于password是用malloc分配的, 所以 使用這個函數時直接定義一個指針去接收函數返回值就可以啦
eg:
char * password = intputpassowrd();
判斷選項函數
int judgeselect(int mix, int max) // min 和 max 為可選擇的區間
{
char num[100]; //防止輸入字符而導致程序崩潰
printf("請輸入選項\n>");
fflush(stdin);
scanf("%s", num);
while (!inputjudge(num[0], mix, max) || num[1] != '\0') {
printf("輸入有誤!請重新輸入\n>");
fflush(stdin);
scanf("%s", num);
}
return num[0] - '0';
}
順便附上inputjudge
int inputjudge(char n, int min, int max) {
n -= '0';
if (n >= min && n <= max) {
return 1;
}
return 0;
}
這個是利用scanf返回值
int judgeselect(int min, int max) // min 和 max 為可選擇的區間
{
int select;
printf("請輸入選項\n>");
int n = scanf("%d", &select);
while(n == 0 || n < min || n > max){
printf("您的輸入有誤,請重新輸入!\n");
fflush(stdin);
n = scanf("%d", &select);
}
return select;
}
c語言通訊錄管理系統的總結相關教程
總結
以上是生活随笔為你收集整理的做完c语言通讯录系统后的小结,c语言通讯录管理系统的总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20200827 plecs block
- 下一篇: 苹果MacOS系统换壁纸的方法