标题:C语言账号登陆问题
只看楼主
a3575181
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-13
结帖率:80%
已结贴  问题点数:20 回复次数:3 
C语言账号登陆问题
不知道错在哪里,没有报错,但是无法使用登陆功能。

程序代码:
#include <stdio.h>
#include <stdlib.h>

typedef
struct{
char name[10];
char ps[10];
int power;
}Student;

int main(){
   FILE *fp=fopen("date.dat","wb");
   Student show1[2]={{"tea","tea123",1},{"stu","stu123",0}};
   Student tmps,show;
   char temp;

   char datafile[]="student",relogin;
  int i,success=0;


  if(fp!=NULL){
    fwrite(show1,sizeof(Student),2,fp);
    fclose(fp);
}
  printf("================================================\n");
  printf(" 欢  迎  进  入  学  生  请  假  管  理  系  统\n");
  printf("================================================\n");

again:
      printf("请输入用户名:");
     scanf("%s",tmps.name);
printf("请输入密码:");

while ((temp= getch ()) != '\r') {
  putchar ('*');

 tmps.ps[i++]=temp;
}
if(tmps.ps[i-1]==' ')

 tmps.ps[i-1]='\0';
    else
  tmps.ps[i]='\0';


 fp=fopen("date.dat","rb");
   if(fp==NULL){
        printf("文件%s打不开\n",datafile);
   exit(1);
}

 while(fread(&show,sizeof(Student),1,fp)!=0) {
    if((strcmp(tmps.name,show.name)==0)&&(strcmp(tmps.ps,show.ps)==0))
        printf("登录成功!\n");
    success=1;
    if(show.power==1){
        printf("您是老师!");


    }
    if(show.power==0){
        printf("你是学生!");

            }
            fclose(fp);


 }


 if(success==0) {
    printf("\n您输入的名字或密码有误,是否重新输入?(y/n)");

    relogin=getche();

    if((relogin=='y')||(relogin=='Y')) {


        printf("请再次输入名字和密码\n");

        goto again;
    }
    else
    {
    printf("程序结束");
    exit(0);
    }

}return 0;
}

搜索更多相关主题的帖子: C语言 power 账号 
2016-12-20 14:34
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
输入密码之前加一句:i=0;
i = 0;
while ((temp= getch ()) != '\r') {
  putchar ('*');
 tmps.ps[i++]=temp;
}
2016-12-20 15:51
a3575181
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-13
得分:0 
回复 2楼 吹水佬
在主函数前面已定义i
2016-12-20 16:47
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:10 
int i=0,success=0;//

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-20 21:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472654-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.426468 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved