资源简介
代码片段和文件信息
#include “stu.h“
/*登入界面:用户到验证与权限到判别*/
int menu()
{
char userName[100]userPwd[100];
int wCountlenlen1flagtOrs;// wCount:错误次数统计 flag:输入用户名和密码 正确为0 错误为1 tOrs:老师和学生标识 0 老师 1 学生
wCount=len=len1=flag=0;
LStu rheadtem;
tOrs=2;//老师学生标识 1 老师 0 学生;
LStu stufp;
int sid;
printf(“***************************************************************\n“);
printf(“************ 欢迎登入学生管理系统 *************\n“);
printf(“***************************************************************\n“);
do{
while(1){printf(“请输入用户名: “); // 用户名和密码是否正确到判断
scanf(“%s“userName);
getchar();
while(userName[len]!=‘\0‘){len++;}
if(len>=20){printf(“用户名太长!\n“);continue;}
else break; }
while(1){printf(“请输入密码: “);
scanf(“%s“userPwd);
getchar();
while(userPwd[len1]!=‘\0‘){len1++;}
if(len1>=20){printf(“你密码太长了!\n“);continue;}
else break;}
if(strcmp(userName“admin“)==0) // 教师密码
{ if(strcmp(userPwd“admin“)==0)
{ tOrs=0;
flag=1;
}}
/////学生登入的判断
rhead=readFile();
for(;rhead!=NULL;rhead=rhead->next)
{
if(strcmp(rhead->nameuserName)==0)
{if(strcmp(userPwdrhead->pwd)==0)
{ flag=1;
tOrs=1;
sid=rhead->sid;
break; }}}
if(flag==0) //如果flag=0 提示用户输入错误
{
printf(“用户名或密码错误!\n“);
wCount++; //错误次数加1
}
if(wCount==3)printf(“错误输入次数累计达到3,不允许继续登入...\n“);
}while(flag==0&&wCount<3); //end of do while(1);
/*登入判断*/
if(flag==0)return 2; // 2 表示 登入失败,退出系统
if(flag==1)
{
if(tOrs==0)return 0; // 1 表示登入成功 权限为老师
if(tOrs==1)return sid; // 0 表示登入成功 权限为学生
}
} //endof menu
//end void menu();
//////////////////////////////////////////////////////////
LStu readFile()
{
int chrf;
rf=1; // ch判断文件是否为空时候用 rf读文件是判断是否读完
LStu headtemtailmy; // tem 临时结点
head=NULL; // head读取文件范围链表到头结点
FILE *fp=fopen(“database““rb+“);
while(!feof(fp))
{ //初始化 或者 文件没有读到尾
tem=(LStu)malloc(sizeof(Stu));
rf=fread(temsizeof(Stu)1fp);
if(rf!=1)continue;
if(head==NULL){
head=tail=tem;
}
else{
tail->next=tem;
tail=tem;
}
tail->next=NULL;
}
fclose(fp);///////////不能关闭 在调用之后再关闭
return head;
}
///writeFile;;;;;;;;;;;;;;;;;;;;;
void writeFile(LStu head)
{
FILE *fp;
fp=fopen(“database““wb“);
LStu tem; //tem 临时结点
int i; //判断写入null
while(head!=NULL)
{
tem=head;
i=fwrite(temsizeof(Stu)1fp);
if(i!=1)continue;
head=head-
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 28474 2012-04-25 09:13 stusystem\a
文件 304 2012-04-25 09:14 stusystem\databa
文件 8172 2012-04-25 14:30 stusystem\function.c
文件 3073 2012-04-25 14:30 stusystem\main.c
文件 22 2012-04-23 16:23 stusystem\makefile
文件 844 2012-04-25 14:33 stusystem\stu.h
文件 2501 2012-04-25 14:30 stusystem\tAddStu.c
文件 2204 2012-04-25 14:31 stusystem\tDelStu.c
文件 575 2012-04-25 14:31 stusystem\tFindStu.c
文件 2667 2012-04-25 14:31 stusystem\tModifyStu.c
文件 841 2012-04-25 14:32 stusystem\tShowStu.c
..AD... 0 2012-05-27 20:30 stusystem
----------- --------- ---------- ----- ----
49677 12
- 上一篇:opencv图片扫描以及校正
- 下一篇:OFD编辑器
相关资源
- 学生成绩管理系统.c
- 学生成绩管理系统(c源码)
- Linux开发工具手册
- VC++MFC课程设计的学生成绩管理系统
- Linux操作系统下C语言编程从零开始
- 基于Linux下C语言开发的员工管理系统
- 超级玛丽c++源码win32Linux平台
- 学生成绩管理系统-----C++
- UNIX/LINUX下C语言中文短信UCS2编码和解
- 嵌入式工程师必知必会 (完整高清中
- linux-2.6.24.rar
- c++版学生成绩管理系统实验报告及源
- C++学生成绩管理系统 2018
- C++学生成绩管理系统( 毕业设计)
- C++学生成绩管理系统97917
- 学生成绩管理系统 (C语言版)课程设
- Linux下C语言操作静态ARP表,包括增加
- c语言 linux 贪吃蛇.doc
- 课程设计--C语言学生成绩管理系统内
- 学生成绩管理系统MFC版
- Linux多线程服务端编程:使用muduo C+
- libstdc++.so.6.0.23_linux7
- libstdc++-devel-4.1.2-48.el5.x86_64
- C++版仿Linux文件管理系统
- 基于SDL的贪吃蛇游戏
- 基于MFC设计,学生成绩管理系统,课
- 学生成绩管理系统C++源码
- 链表栈的基本操作(C语言
- 基于linux C/C++和Qt的聊天程序
- 学生成绩管理系统 c语言毕业设计论文
评论
共有 条评论