項目需求
解決項目5中存在的問題:
用戶名和密碼只能輸入一次。如果輸入錯誤,就沒有機會重新輸入。
項目實現
#include <stdio.h>
int main(void) {
// 定義變量,用來表示用戶名和密碼
char name[32];
char password[16];
//輸入用戶名和密碼
while (1) {
// 輸入用戶名和密碼
printf("請輸入用戶名:");
scanf("%s", name);
printf("請輸入密碼:");
scanf("%s", password);
if (strcmp(name, "admin") == 0 &&
strcmp(password, "123456") == 0) {
break;
} else {
printf("用戶名或密碼錯誤!\n");
system("pause");
system("cls");
}
}
system("cls");
// 打印功能菜單
printf("---交換機後臺管理---\n");
printf("1. 創建賬號\n");
printf("2. IP管理\n");
printf("3. 退出\n");
printf("請選擇...");
return 0;
}
項目精講
while循環
使用場合:
當需要反覆執行某些“過程”時,就可以使用while循環。
使用方法
while (條件) {
語句
}
break的使用
死循環
有些場合(比如,遊戲引擎的主循環, 就是一個死循環)
有些場合,是要避免死循環。
畫流程圖
for循環
從功能上,for循環和while循環是完全等效的!
使用場合
在循環次數已經確定的情況下,使用for循環更方便!
使用方法
for (表達式1; 表達式2;表達式3){
循環體
}
說明:
表達式1: 爲循環做準備
表達式2: 循環條件
表達式3: 改變循環計數
注意:
表達式1、表達式2、表達式3, 這3個表達式的任意一個或多個,都可以省略!
但是其中的“;”不可以省略!
for (; ; ) {
循環體
}
相當於:
while (1) {
循環體
}
流程圖
for和while的選擇
1)當已經確定了循環次數時,建議使用for
2)其他情況,可以使用for ,也可以使用while, 建議使用while
do-while循環
使用場合:
先執行一次循環體,然後再判斷條件,以判定是否繼續下一輪循環!
即:至少執行一次循環體!
使用方法
do {
循環體
} while (條件)
do {}while(0)的用法, 主要用於#define宏定義(後續課程講解)
項目練習
1.獨立完成項目6
2.打印如下效果,具體的行數要用戶輸入。
3.打印乘法口訣表
4.讓用戶輸入一個字符串,然後把這個字符串“逆轉”,並輸出。
打印斐波那契數列,具體的個數由用戶輸入。