1 /* 2 *修改密碼 3 *描述: 4 *1、本來已經存在密碼 5 *2、很多時候需要輸入兩次密碼,對比是否正確,才能確認修改密碼正確 6 *敲代碼思路: 7 *1、輸入舊的密碼判斷是否正確 8 *2、提示輸入修改后的密碼 9 *3、提示再輸入一遍判斷兩次是否都正確 10 *4、提示修改正確 11 */ 12 #include<stdio.h> 13 #include <stdlib.h> 14 #include "conio.h" 15 #include "string.h" 16 int main() 17 { 18 19 char mima[20]="mm";//本來存在的密碼 20 char temp_mima[20],temp_mima1[20],temp_mima2[20];//三個字符串密碼,原始密碼,新密碼1,新密碼2 21 printf("請輸入原來的密碼:"); 22 loop:scanf("%s",temp_mima); 23 while(1) 24 { 25 26 /*注意strcmp函數在string.h頭文件里面,需要包含 */ 27 if(strcmp(temp_mima,mima)==0)//與原始密碼對比驗證 28 { 29 printf("\t密碼正確!\n"); 30 printf("\t請輸入新密碼:\n"); 31 scanf("%s",temp_mima1); 32 printf("\t請再次輸入密碼:\n"); 33 scanf("%s",temp_mima2); 34 if(strcmp(temp_mima1,temp_mima2)==0) 35 { 36 printf("修改密碼正確!\n請牢記密碼!"); 37 strcpy(mima,temp_mima1);//用新的密碼代替舊的密碼,詳細解釋看圖四 38 getch();//從控制台讀取一個字符,所在頭文件是conio.h.知識點看后面圖一 39 break; //跳出循環,回到上一級,這里沒體現 40 } 41 else 42 { 43 printf("兩次輸入的密碼不一致!修改失敗!\n請輸入原來的密碼::"); 44 goto loop; //實現用戶輸出錯誤密碼了,重新輸入密碼 ,詳細講解見圖三 45 getch(); 46 break; 47 } 48 } 49 else 50 { 51 printf("輸入的密碼錯誤!\n請輸入原來的密碼:"); 52 goto loop; 53 getch(); 54 break; 55 } 56 } 57 58 }
getch()知識點詳解,圖一。
break詳細解釋,圖二
goto語句,圖三
strcpy 圖四