论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

教学信息治理系统

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:42:46

void main()
{
 int notinit=0;
 int f=1,er=0;
   // char pd[20];
   welcome();
   Slink sl;
   Klink kl;
   FILE *sf,*kf; //定义两个文件指针 
   Snode *rs,*ps;//定义一个尾指针和一个临时指针(学生)
   Knode *rk,*pk;//定义一个尾指针和一个临时指针(教师)
   sl=(Snode*)malloc(sizeof(Snode));
   sl->next=NULL;
   rs=sl;//给尾指针赋值

   sf=fopen("s.dat","r");
   if(!sf)//未打开文件说明用户是第一次使用这个程序让用户初始化密码
   {
       printf("\n\t这是你第一次使用本程序,请初始化参数\n");
    printf("\n请输入密码:");
    scanf("%s",&pd);
    getchar();
    notinit=1;
    saveflag=1;
    //getchar();
   }
   else
   {
       aflag=fgetc(sf);
       int y=0;
    char tempc;
    tempc=fgetc(sf);
    while(!feof(sf)&&(tempc!='\n')&&(y<20))//不添加小于20就会产生溢出
    {
     pd[y]=tempc;//读取密码
     tempc=fgetc(sf);
     y++;
    }
      while(!feof(sf))
   {

          ps=(Snode*)malloc(sizeof(Snode));
          if(fread(ps,sizeof(Snode),1,sf)==1) //将文件的内容放入接点中
    {
              ps->next=NULL;
              rs->next=ps;
               rs=ps; //将该接点挂入连中
    }
   }
      fclose(sf); //关闭文件
   }
   kl=(Knode*)malloc(sizeof(Knode));
   kl->next=NULL;
   rk=kl;
   kf=fopen("k.dat","r");
   if(kf==NULL)
   {
        printf("\n\t!!!!!!!!!!还没有课程数据库存在,请以治理员身份登录!!!!!!!!!!!\n");
  getchar();
  goto ad;
   }
   else
   {   
       int z=0;
    char tem,tempd[20];
    tem=fgetc(kf);
    while(!feof(kf)&&(tem!='\n')&&(z<20))
    {
     tempd[z]=tem;//putchar(tem);//读取密码
     tem=fgetc(kf);
     z++;tempd[z]='\0';
    }
   
    //puts(pd);
    //puts(tempd);
    if(strcmp(pd,tempd))//校验密码的同时检查文件的完整性
    {
     printf("\n文件出错,有可能已经损坏,请联系治理员\n");
     getchar();
     er=1;
    }
    else
           while(!feof(kf))
     {
             pk=(Knode*)malloc(sizeof(Knode));
             if(fread(pk,sizeof(Knode),1,kf)==1) //将文件的内容放入临时接点中
    {
                  pk->next=NULL;//尾赋值为空
                  rk->next=pk;
                  rk=pk; //把刚刚的节点连接到链中
    }
     }
  fclose(kf);
   }
   while(f)
   {
    if(notinit)
     goto ad;
    if(er)
     goto end;
    system("cls");//调用dos命令清屏
    welcome();
    load();
       char loadflag[20];//存放选择
    pleasechoice();
    scanf("%s",&loadflag);
    getchar();//接受回车符
    if((strlen(loadflag)<2)&&(loadflag[0]=='Q'||loadflag[0]=='q'))//输入大于2这说明用户输入出错
end:    exit(0);//退出
    else if((strlen(loadflag)<2)&&(loadflag[0]=='A'||loadflag[0]=='a'))
    {
 ad: admin(sl,kl);//治理员
    }
    else if((strlen(loadflag)<2)&&(loadflag[0]=='T'||loadflag[0]=='t'))
         teacher(sl,kl);//教师
    else if((strlen(loadflag)<2)&&(loadflag[0]=='S'||loadflag[0]=='s'))
      student(kl,sl);//学生
    else
    {
     wrong();
     getchar();
    
    }
   }
}

/*这是一个教学信息治理系统的源程序,只是为一次作业写的,所以有许多地方不完善。在写这个程序之前曾经参考过c语言之家的一些程序,非常感激,所以公开这个代码,希望对一些朋友有帮助.由于版面有限,所以这儿只贴出了主函数,其它部分在附件里。假如程序有什么问题请与我联系。我的QQ:421404493 E-mail:wbaobao#zj.com*/

点这里下载
上一篇:{实例}点阵的汉字程序 人气:5091
下一篇:{实例}学生个人消费治理系统 人气:5832
视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058