yang_tao753951 2020-05-25 14:50 采纳率: 0%
浏览 101

课程设计 缺少一个修改密码的功能,求大佬帮忙,万分感谢

#include
#include
#include
#include
#include
using namespace std;
void jm();//游戏规则函数
void cd();//菜单
void tc();//退出
void choice();//算法选择
void cj();//初级难度
void gj();//高级难度
void zcdl();//注册登录函数
void tgxx();//统计信息函数
void tgyy();//信息读取函数
void Register();//注册函数
void Land();//登陆函数
void xgmm();//修改密码
int sum,k;
int main()
{
zcdl();
return 0;
}
void zcdl()//注册登录界面
{
int sel;
printf("*******************************************\n");
printf("* 登 录 注 册 系 统 ! \n");
printf("
1.登录 \n");
printf("
2.注册 \n");
printf("
3.退出 \n");
printf("
******************************************\n");
cout<<"请按提示,输入你想选择功能的号码"< cin>>sel;
switch(sel)
{
case 1:Land();break;
case 2:Register();break;
case 3:printf("再见,欢迎使用\n");
exit(0);
break;

}

}
void Register()//注册函数
{
FILE*fp;
char ld[50]={0},user[20],pass[20];
char usd[50]={0};
fp=fopen("user.dat","at");
cout<<"注册"< cout cout cin.sync();
gets(user);
cout cout cin.sync();
gets(pass);
strcpy(ld,user);
strcat(ld,",");
strcat(ld,pass);
strcat(ld,"\n");
fputs(ld,fp);
fclose(fp);
system("cls");
cout main();
}
void Land()//登录函数
{
FILE*fp;
int find=0;
char usc[50]={0},user[20],pass[20];
char usd[50]={0};
fp=fopen("user.dat","r");
cout cout cin.sync();
gets(user);
cout cin.sync();
gets(pass);
system("cls");
strcpy(usc,user);
strcat(usc,",");
strcat(usc,pass);
strcat(usc,"\n");
while(!feof(fp))//如果遇到输入文件的结束标志
{
fgets(usd,19,fp);
if(strcmp(usd,usc)==0)
{
cout cout find=1;
choice();//菜单
break;
}
}
if(!find)
{
cout cout Land();
}
fclose(fp);
}
void tgxx()//通关信息存储
{
FILE*fp;
fp=fopen("data.dat","a+");
fprintf(fp,"%d",k);//记录答题数
fprintf(fp,"%d",sum);//记录答对数
fprintf(fp,"%d",k-sum);//记录答错数
fprintf(fp,"%.2f",(sum/(float)k*100));//记录答对率
fclose(fp);
}
void tgyy()//信息读取
{
float a,b,c,d;
FILE*fp;
fp=fopen("data.dat","r");
fseek(fp,-12l,2);//标记文件位置
fscanf(fp,"%f",&d);
printf("答题数为:%ld\n",d);
fseek(fp,-10l,2);//标记文件位置
fscanf(fp,"%f",&c);
printf("答对数为:%d\n",c);
fseek(fp,-8l,2);//标记文件位置
fscanf(fp,"%d",&b);
printf("答错数为:%d\n",b);
fseek(fp,-6l,2);
fscanf(fp,"%f",&a);
printf("答对率为:%4.2f%%\n",a);
fclose(fp);
}
void jm()//游戏规则函数
{
system("cls");
int cha;
printf("\a\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
printf("\a\3 游戏规则 \3\n");
printf("\a\3 1、你可以选择初级,高级两种难度。 \3\n");
printf("\a\3 2、每种难度分为两个等级,第一和二级。 \3\n");
printf("\a\3 3、第一级为个位数运算,第二级为十位数运算。 \3\n");
printf("\a\3 4、做第一级正确率达到90%,将进入第二级。 \3\n");
printf("\a\3 5、题量和难度成正比:初级:5题,高级:10题。 \3\n");
printf("\a\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
printf("\a\n");
printf("\a输入(0)返回菜单,(1)返回登录注册界面:\n");
scanf("%d",&cha);
getchar();
if(cha>=9||cha {
printf("输入错误!请重新输入!\n");
printf(" 是否继续挑战?\n");
printf("Yes(0)继续挑战,No(1)结束!\n");
scanf("%d",&cha);
}
switch(cha)
{
case 0:choice();break;
case 1:zcdl();break;
default:tc();
}
}
void tc()//退出函数
{
int cha;
printf(" 是否重新选择难度?\n");
printf("Yes(0)是的,No(1)不,结束挑战!\n");
scanf("%d",&cha);
getchar();
if(cha>=9||cha {
printf("输入错误!请重新输入!\n");
printf(" 是否重新选择难度?\n");
printf("Yes(0)是的,No(1)不,结束挑战!\n");
scanf("%d",&cha);
}
switch(cha)
{
case 0:choice();break;
case 1:printf("游戏结束!\n");break;
default:tc();
}
}
void choice()//算法选择
{
int ch;
cd();
cin>>ch;
getchar();
if(ch>=9||ch {
cout cd();
cin>>ch;
}
switch(ch)
{
case 0:jm();break;//规则
case 1:cj();break;//初级
case 2:gj();break;//高级
case 3:zcdl();break;
default:cout<<"选择有误!"< }
}
void cd()//菜单
{
printf("\a\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
printf("\a\3\t\t 菜单 \3\n");
printf("\a\3\t\t 0、规则 \3\n");
printf("\a\3\t\t 1、初级难度 \3\n");
printf("\a\3\t\t 2、高级难度 \3\n");
printf("\a\3\t\t 3、返回登录界面 \3\n");
printf("\a\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
printf("\a\3 请选择:\n");
}
void cj()//初级函数
{
cout int a,b,c,g,y;
int i,j,m,n,cha;
float total=0,right=0,ans=0;
srand(time(NULL));
for(i=0;i {
y=rand()%2;
total++;
switch(y)
{
case 0:
{
a=rand()%10;
b=rand()%10;
printf("\n%d+%d=",a,b);c=a+b;break;
}
case 1:
{
while(1)
{
a=rand()%10;
b=rand()%10;
if(a>b)
break;
}
printf("\n%d-%d=",a,b);c=a-b;break;
}
}
fflush(stdin);
cin>>g;
fflush(stdin);
if(g==c)
{
cout<<"恭喜您,您答对了"< right++;
}
else
{
cout while(cin>>g)
{
if(g!=c)
cout<<"对不起,您答错了,请重新输入!"< else
break;
}
}
}
ans=right/total;
cout right=0;total=0;
if(ans>=0.9)
{
cout<<"恭喜您,您已成功晋级!"< cout for(i=0;i {
y=rand()%2;
total++;
switch(y)
{
case 0:
{
a=rand()%100;
b=rand()%100;
if(a>9&&b>9)
break;
printf("\n%d+%d=",a,b);c=a+b;break;
}
case 1:
{
while(1)
{
a=rand()%100;
b=rand()%100;
if((a>b)&&(a>9&&b>9))
break;
}
printf("\n%d-%d=",a,b);c=a-b;break;
}
}
fflush(stdin);
cin>>g;
fflush(stdin);
if(g==c)
{
cout<<"恭喜您,您答对了"< right++;
}
else
{
cout while(cin>>g)
{
if(g!=c)
cout<<"对不起,您答错了,请重新输入!"< else
break;
}
}
}
ans=right/total;
cout cout printf("Yes(0)继续挑战,No(1)结束!\n");
cin>>cha;
switch(cha)
{
case 0:choice();break;
case 1:tc();break;
}
}
else
{
cout<<"您晋级失败!"< printf("Yes(0)继续挑战,No(1)结束!\n");
cin>>cha;
switch(cha)
{
case 0:choice();break;
case 1:tc();break;
}
}
}

void gj()//高级函数
{
cout<<"高级难度第一等级答题开始:"< int a,b,c,g,y;
int i,j,m,n,cha;
float total=0,right=0,ans=0;
srand(time(NULL));
for(i=0;i {
y=rand()%4;
total++;
switch(y)
{
case 0:
{
a=rand()%10;
b=rand()%10;
printf("\n%d+%d=",a,b);c=a+b;break;
}
case 1:
{
while(1)
{
a=rand()%10;
b=rand()%10;
if(a>b)
break;
}
printf("\n%d-%d=",a,b);c=a-b;break;
}
case 2:
{
a=rand()%10;
b=rand()%10;
printf("\n%d*%d=",a,b);c=a*b;break;
}
case 3:
{
while(1)
{
a=rand()%10;
b=rand()%10;
if((a>b)&&(b!=0)&&(a%b==0))
{
break;
}
}
printf("\n%d/%d=",a,b);c=a/b;break;
}
}
fflush(stdin);
cin>>g;
fflush(stdin);
if(g==c)
{
cout<<"恭喜您,您答对了"< right++;
}
else
{
cout while(cin>>g)
{
if(g!=c)
cout<<"对不起,您答错了,请重新输入!"< else
break;
}
}
}
ans=right/total;
cout right=0;total=0;
if(ans>=0.9)
{
cout<<"恭喜您,您已成功晋级!"< cout for(i=0;i {
y=rand()%4;
total++;
switch(y)
{
case 0:
{
while(1)
{
a=rand()%100;
b=rand()%100;
if(a>9&&b>9)
break;
}
printf("\n%d+%d=",a,b);c=a+b;break;
}
case 1:
{
while(1)
{
a=rand()%100;
b=rand()%100;
if((a>b)&&(a>9&&b>9))
{
break;
}
}
printf("\n%d-%d=",a,b);c=a-b;break;
}
case 2:
{
while(1)
{
a=rand()%100;
b=rand()%100;
if(a>9&&b>9)
{
break;
}
}
printf("\n%d*%d=",a,b);c=a*b;break;
}
case 3:
{
while(1)
{
a=rand()%100;
b=rand()%100;
if((a>b)&&(b!=0)&&(a%b==0)&&(a>9&&b>9))
{
break;
}
}
printf("\n%d/%d=",a,b);c=a/b;break;
}
}
fflush(stdin);
cin>>g;
fflush(stdin);
if(g==c)
{
cout<<"恭喜您,您答对了"< right++;
}
else
{
cout while(cin>>g)
{
if(g!=c)
cout<<"对不起,您答错了,请重新输入!"< else
break;
}
}
}
ans=right/total;
cout cout printf("Yes(0)继续挑战,No(1)结束!\n");
cin>>cha;
switch(cha)
{
case 0:choice();break;
case 1:tc();break;
}
}
else
{
cout<<"您晋级失败!"< printf("Yes(0)继续挑战,No(1)结束!\n");
cin>>cha;
switch(cha)
{
case 0:choice();break;
case 1:tc();break;
}
}
}

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站