c语言程序设计 密码设置程序怎么编写???

作者&投稿:晁雷 (若有异议请与网页底部的电邮联系)
c语言程序设计 密码设置程序怎么编写???~

- -|
这么多问题才10分...
给你一个密文输出的程序好了..
其他自己想.
#include
main()
{
char str[9]; //密码串长9为
inputPW(str,8); //有效密码长为8 最后一位要放\0 结束符的!
printf("
密码为: %s",str);
}

inputPW(char * s,int len) //自己写的密码输入的函数
{
int i;
fflush(stdin); //清输入流 跟flushall()类似
for(i=0; ;i++)
{
s[i]=getch();
if(s[i]==13) //输入结束 不能用=='
'来判断!!
//因为对于回车来说getchar()='
'=10;而getch()=13 !='
' 这个要知道!
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
}

密码保存在文件中,从文件中读取密码,但是没做容错和异常处理,仅供参考

#include
#include

#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] == '') /*处理回车键*/
{
continue;
}
else
{
printf("*");
break;
}
}
}
str[i] = '\0';
printf("
");
}

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!
");
exit(1);
}
while(1)
{
printf("Please input password:");
inputPsd(passwd);

printf("
Please input password again:");
inputPsd(checkPsd);

if(!strcmp(passwd, checkPsd))
{
break;
}
printf("
check password error!
");
}
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:
", num);
inputPsd(checkPsd);
if(!strcmp(passwd, checkPsd))
{
break;
}
puts("
password error,Please input again");
num--;
}
if(!num)
{
puts("Press any key to exit...");
getch();
exit(0);
}
else
{
puts("
--------
Welcome!
--------
");
}
}

void main()
{
if(checkFirst())
{
firstUse();
}
else
login();

getch();
}

#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;
}

思路如下,实现起来不难。
设置的用户名和密码,最好保存到数据库里(可以把密码加密后保存);验证时拿出来比对。
如果系统没有数据库,可以将密码账号进行一定算法处理后保存到本地文件,或者系统注册表里;验证时拿出来,先反处理再比对。
处理算法譬如MD5,异或等。


大城县15929258609: 如何用C语言编写密码程序 -
度庭抑肽: 1、用一个字符数组来存密码 再用一个字符数组接收你的输入,然后用strcmp 来比较,如果返回0则密码是正确的 2、例程: 1 2 3 4 5 6 7 8 9 10 11 12 13 14#include "stdio.h" #include "string.h" intmain() {charmima[100]="YuanShi888";charinput[100]={0};printf("请输入密码:");gets(input);if(strcmp(mima,input)==0)printf("恭喜你,密码正确!\n");elseprintf("对不起,密码输入错误!\n");}

大城县15929258609: c语言程序设计 密码设置程序怎么编写??? -
度庭抑肽: -|这么多问题才10分... 给你一个密文输出的程序好了..其他自己想.#include main(){ char str[9]; //密码串长9为inputPW(str,8); /...

大城县15929258609: 用C语言写一个设置密码的程序 -
度庭抑肽: 验证密码是否正确... #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> char mima[]="123456";/*密码,全局变量*/ void main() { int i,j; i=j=0; char ch; char a[20]; while(j<3) { while('\r'!=(ch=getch())) { temp[i++]=ch; ...

大城县15929258609: 用C语言程序编写用户名密码 程序 -
度庭抑肽: #include<stdio.h> #include<string.h> void main() {int i,flag1,flag2;char name[20]="lushan",password[10]="123456";char person[20],password1[10];for(i=0;i!=3;){printf("Please input the name:\n");gets(person);flag1=strcmp(person,...

大城县15929258609: c语言编一个设置密码的小程序~~求大神!! -
度庭抑肽: 我来说下简单的方法 首先定义一个全局变量,比如命名为Password_Global,用于储存密码 在程序最开始将之初始化为“0000”,修改的时候更改Password_Global的值就行了.之后使用:if(Password_Input == Password_Global) 来判断密码是否输入正确.如果需要在关闭了程序后依然能够储存新密码,则需要使用文件操作.如果有问题可以继续问我 当然,这种方法不安全,外部对内存操作的话可能会泄露.使用明文也不安全,可以使用MD5等方式加密.

大城县15929258609: C语言编写密码填写程序
度庭抑肽: 需要写一个循环查当前应用程序的进程名称,如果找到有符合的,就获取主窗口句柄,然后向这个主窗口发送键盘消息

大城县15929258609: C语言设置密码的编程
度庭抑肽: int passnum() { long num=123456; long a; int count=0; while (count&lt;3) { printf("Input your PassWord--Number(like 190023):"); scanf("%d",&amp;a); if (a==num) { printf("It is correct~\n"); break; } else { printf("Wrong~One more\nYou have ...

大城县15929258609: 如何用c语言来编一个简单的密码程序? -
度庭抑肽: 这个问题很难解释啊~如果最简单的说,你有一个固定的密码,比如123 那么直接就是 if(password==123){//你要输出的正确信息,比如cout ????????? } else{//错误信息 } 复杂来说,你的密码可能存放在一个数据库中,你就要先在数据库中查找对应的用户名,再核对密码 此外,密码一般是不能直接保存的,会被看到,所以你要有个加密的算法来保存你的密码,简单来说,你把正确的密码加密后保存,你等他输入一个密码,你用同样的算法加密,再和你的保存的加密过的比较就OK了

大城县15929258609: 如何使用c语言编写一个密码程序 -
度庭抑肽: 密码保存在文件中,从文件中读取密码,但是没做容错和异常处理,仅供参考#include <stdio.h> #include <string.h>#define PSDLEN 6void inputPsd(char *str) /*处理输入*/ {int i; for(i = 0; i < PSDLEN; i++){while(1){str[i] = getch();if(str[i] == ...

大城县15929258609: C语言怎样设计密码以*输出的密码程序 -
度庭抑肽: 1.#include main() { char str[9]; //密码串长9为inputPW(str,8); //有效密码长为8 最后一位要放\0 结束符的! printf("\n密码为...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网