• 大小: 0.02M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-17
  • 语言: C/C++
  • 标签: linux  C语言  

资源简介


资源截图

代码片段和文件信息

#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\database

     文件       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


评论

共有 条评论