-3
もし私がShowMeMine(struct user_node userob)をifメソッドから呼び出そうとしているのであれば、パスワードが正しい場合でも間違ったpasswrodと言われます。ここで条件を入力した場合に行を削除するとログインが成功します このファイルを.h拡張子として保存しています。もしcoditionがelse部分につながる場合の呼び出しメソッド
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
struct user_node{
char username[20];
char password[100];
char address[200];
int age;
int unique_id; //It will help in connecting user_node and his bill
};
struct bill{
long user_bill_no;
int show_this_bill;
long meter_no;
double total_amount;
int unique_id;
};
//viewing specific person
void ShowMeMine(struct user_node userob){
printf("");
}
//Login authentication check
void Login(struct user_node userob){
FILE *fpread;
fpread=fopen("userdata.DAT","rb+");
char key[100];
char user_name[40],password[100];
char choice,ch;
int x;
int pass_count=0;
printf("Enter your name");
gets(user_name);
while((ch=getch())!='.'){
password[pass_count++]=ch;
printf("*");
}
while(fread(&userob,sizeof(userob),1,fpread)==1){
if(stricmp(user_name,userob.username)==0){
strcpy(key,userob.password);
userob=userob;
break;
}
}
if(strcmp(key,password)==0){
printf("Sucessfully Logged In");
ShowMeMine(userob);
}
else printf("Login Unsuccessful ");
printf("%d",x);
}
[gets()を使用しないでください、それは結構です](http://stackoverflow.com/q/1694036/2173917)。代わりに['fgets()'](https://linux.die.net/man/3/fgets)を使用してください。 –
***あなたのコードから失礼/悪質なコメント(印刷ステートメント)を削除してください。面白いかもしれませんが、多くの人々がこのような無礼を感じます。*** –
非常に申し訳ありません。 それはちょうど間違いでした。 @SouravGhosh –