Ⅰ 如何用c語言編寫密碼程序
1、用一個字元數組來存密碼
再用一個字元數組接收你的輸入,然後用strcmp
來比較,如果返回0則密碼是正確的
2、常式:
#include"stdio.h"
#include"string.h"
intmain()
{
charmima[100]="YuanShi888";
charinput[100]={0};
printf("請輸入密碼:");
gets(input);
if(strcmp(mima,input)==0)
printf("恭喜你,密碼正確! ");
else
printf("對不起,密碼輸入錯誤! ");
}
Ⅱ c語言程序設計 密碼設置程序怎麼編寫
- -|
這么多問題才10分...
給你一個密文輸出的程序好了..
其他自己想.
#include <stdio.h>
main()
{
char str[9]; //密碼串長9為
inputPW(str,8); //有效密碼長為8 最後一位要放\0 結束符的!
printf("\n密碼為: %s",str);
}
inputPW(char * s,int len) //自己寫的密碼輸入的函數
{
int i;
fflush(stdin); //清輸入流 跟flushall()類似
for(i=0; ;i++)
{
s[i]=getch();
if(s[i]==13) //輸入結束 不能用=='\n'來判斷!!
//因為對於回車來說getchar()='\n'=10;而getch()=13 !='\n' 這個要知道!
break;
if(s[i]==8 && i>0) //如果用戶按退格鍵 並且要有格可退時候
{
printf("\b \b"); //顯示退一格
i=i-2; //輸入數據退2(因為for循環體會加1 所以實際就是退了1)
continue;
}
if(i==len) {i--; continue;}
printf("*");
}
s[i]='\0'; //末尾補\0 所以該密碼實際有效長度為i-1;定義有效長為len 實際定義的串長為len+1
}
Ⅲ 如何使用c語言編寫一個密碼程序
密碼保存在文件中,從文件中讀取密碼,但是沒做容錯和異常處理,僅供參考
#include <stdio.h>
#include <string.h>
#define PSDLEN 6
void inputPsd(char *str) /*處理輸入*/
{
int i;
for(i = 0; i < PSDLEN; i++)
{
while(1)
{
str[i] = getch();
if(str[i] == '\b') /*處理退格鍵*/
{
i--;
if(i < 0)
{
i = 0;
}
else
{
printf("\b \b");
}
continue;
}
else if(str[i] == '\r') /*處理回車鍵*/
{
continue;
}
else
{
printf("*");
break;
}
}
}
str[i] = '\0';
printf("\n");
}
int checkFirst() /*檢測是否是第一次使用*/
{
FILE *fp;
if((fp = fopen("psd.dat", "rb")) == NULL)
{
return 1;
}
fclose(fp);
return 0;
}
void firstUse() /*第一次使用 需要輸入密碼*/
{
FILE *fp;
int i;
char passwd[PSDLEN + 1];
char checkPsd[PSDLEN + 1];
if((fp = fopen("psd.dat", "wb")) == NULL)
{
printf("Creat password error!\n");
exit(1);
}
while(1)
{
printf("Please input password:");
inputPsd(passwd);
printf("\nPlease input password again:");
inputPsd(checkPsd);
if(!strcmp(passwd, checkPsd))
{
break;
}
printf("\ncheck password error! \n");
}
fwrite(passwd, sizeof(char), PSDLEN, fp);
fclose(fp);
}
void login() /*核對密碼,並登錄*/
{
FILE *fp;
int i, num = 3;
char passwd[PSDLEN + 1];
char checkPsd[PSDLEN + 1];
if((fp = fopen("psd.dat", "rb")) == NULL)
{
puts("Open psd.dat error");
exit(1);
}
fread(passwd, sizeof(char), PSDLEN, fp);
fclose(fp);
passwd[PSDLEN] = '\0';
printf("Please input password to login");
while(num)
{
printf("you have %d chances to cry:\n", num);
inputPsd(checkPsd);
if(!strcmp(passwd, checkPsd))
{
break;
}
puts("\npassword error,Please input again");
num--;
}
if(!num)
{
puts("Press any key to exit...");
getch();
exit(0);
}
else
{
puts("\n--------\nWelcome!\n--------\n");
}
}
void main()
{
if(checkFirst())
{
firstUse();
}
else
login();
getch();
}
Ⅳ 用c語言編寫一個設置密碼的程序
#include "stdio.h"
int* set(void);
int* set(void)
{
int i;
static a[4];
printf("請輸入要設置的4位密碼 :");
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
return a;
}
int main()
{
int i,*a,b[4];
a=set();
printf("請輸入4位密碼 :");
for(i=0;i<4;i++)
{
scanf("%d",&b[i]);
}
i=0;
while(i<4)
{
if(a[i]==b[i])
{
printf("%d",a[i]);
i++;
}
else
{
break;
}
}
if(i==4)
{
printf("密碼正確\n");
}
else
{
printf("密碼錯誤\n");
}
return 0;
}
Ⅳ c語言程序設計 密碼設置程序怎麼編寫
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main(int argc,char *argv[])
{
const char user[]="wangpin";/*用戶名自己可改動*/
const char password[]="wangpin@126";/*密碼自己可改動*/
if(argc == 1)
{
printf("Input error! Usage:filename username password\n");
getch();
exit(1);
}
else if(argc == 3)
{
if (strcmp(argv[1],user) != 0 || strcmp(argv[2],password) != 0)
{
printf("Input error: Invalid username or password\n");
getch();
exit(1);
}
}
printf("Authentication Pass..\n");
sound(500);/*最簡單的音樂聲*/
delay(50000);
nosound();
getch();
return 0;
}
先運行這個程序得到一個exe類型的可執行文件,然後可以復制到c盤根目錄下,用桌面左下的圖標進入:開始-程序-附件-命令提示符
然後鍵入 cd \
到c盤根目錄下輸入
exe文件名 wangpin wangpin@126
就是運行這個程序
------------------------------------------------------------------
------------------------------------------------------------------
下面是一個簡單的音樂程序,你可以把它加到上面代替sound()到nosound()那一部分發出<<東方紅>>音樂歌曲(小心!聲音可能很大)
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
int main(void)
{
int i,j;
int fr[]={392,392,440,294,262,262,220,294,392,392,
440,532,440,392,262,262,220,294,392,294,
262,247,220,196,392,294,330,294,262,262,
220,294,330,294,262,294,262,247,220,196};
int tim[]={4,2,2,8,4,2,2,8,4,4,2,2,2,2,4,2,2,8,4,
4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,2,2,2,2,12};
for(i=0;i<40;i++)
{
sound(fr[i]);
delay(tim[i]*100000000);
nosound();
}
system("pause");
return 0;
}
Ⅵ 如何用C語言編一個密碼生成器
C語言實現密碼生成器,參考代碼如下:
#include
#include
#include
//constcharlower_chars[]="abcdefghijklmnopqrstuvwxyz";
//constcharupper_chars[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//constcharnumber_chars[]="0123456789";
constcharlower_chars[]="abcdefghijkmnpqrstuvwxyz";//noloro
constcharupper_chars[]="ABCDEFGHJKLMNPQRSTUVWXYZ";//noIorO
constcharnumber_chars[]="23456789";//no1or0
constcharspecial_chars[]="!@#$%^&*()-=_+[]{};:'"<>,.?/";
constint_ks_pass_len=17;
voidmkpass(charpass[_ks_pass_len+1])
{
inti=0,j=0,k=0,n=0;
n=_ks_pass_len/4;
for(;i<n;i++)
{
pass[i]=lower_chars[rand()%(strlen(lower_chars))];
pass[i+n]=upper_chars[rand()%(strlen(upper_chars))];
pass[i+2*n]=number_chars[rand()%(strlen(number_chars))];
pass[i+3*n]=special_chars[rand()%(strlen(special_chars))];
}
j=_ks_pass_len-4*n;
for(i=0;i<j;i++){
pass[i+4*n]=special_chars[rand()%(strlen(special_chars))];
}
//字元亂序
for(i=0;i<32;i++)
{
j=rand()%(_ks_pass_len);
k=pass[j];
pass[j]=pass[i%_ks_pass_len];
pass[i%_ks_pass_len]=k;
}
pass[_ks_pass_len]='