head.h
#ifndef __HEAD_H__
#define __HEAD_H__
#include<stdio.h>
#include<ctype.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
typedef char sname[20];
typedef char pwd[10];
void reg();
void login();
#endif
main.c
#include"head.h"
int main(int argc, const char *argv[])
{
printf("请选择登录(l)/录入(i)\n");
char check;
scanf("%c",&check);
if('l'==check)
login();
else if('i'==check)
reg();
return 0;
}
student.c
#include"head.h"
/*
* function: reg
* @param [ in]
* @param [out]
* @return
*/
void reg()
{
printf("请输入录入学生的数量\n");
int stu_num;
scanf("%d",&stu_num);
if(stu_num<1)
{
printf("录入学生数量需大于0\n");
return ;
}
FILE *fp = fopen("student.txt","a+");
if(NULL==fp)
perror("fopen");
int i;
pwd s_pwd;
sname s_name;
for(i=0;i<stu_num;i++)
{
printf("学生%d姓名:\n",i+1);
scanf("%s",s_name);
printf("学生%d密码:\n",i+1);
scanf("%s",s_pwd);
fprintf(fp,"%s\t%s\n",s_name,s_pwd);
}
if(fclose(fp)<0)
perror("fclose");
}
/*
* function: login
* @param [ in]
* @param [out]
* @return
*/
void login()
{
FILE *fp=fopen("student.txt","r");
if(NULL==fp)
{
perror("fopen");
return ;
}
pwd i_pwd;
sname i_name;
printf("学生姓名:\n");
scanf("%s",i_name);
printf("学生密码:\n");
scanf("%s",i_pwd);
pwd s_pwd;
sname s_name;
while(1)
{
if(EOF==fscanf(fp,"%s",s_name) || EOF== fscanf(fp,"%s",s_pwd))
{
printf("账号错误!\n");
break;
}
if(!strcmp(i_name,s_name))
{
if(!strcmp(i_pwd,s_pwd))
{
printf("登录成功!\n");
}else{
printf("输入密码错误!\n");
}
break;
}
}
if(fclose(fp))
{
perror("fclose");
return ;
}
}