




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
阳理工学院实验报告用纸计算机系B090501班姓名袁乐平学号B09050103成绩实验名称文献管理同组人日期12.6实验目的通过这次实验,掌握文献系统的用户管理,掌握普通文献、目录文献管理的的基本原理。实验原理使用文献系统的用户要通过用户名、密码的验证,对不同用户设立不同(自己相应)的子目录,如图(a)所示。MFD是主文献目录,Power是存放用户名、密码的文献,简朴起见此处用数组代替;UFD0,UFD1,…,UFD9是10个用户目录,用户0的目录(UFD0)下包含文献f1.txt,…,f7.c。图(b)是创建目录、文献以及删除目录、文献所用的存储数据结构。实验内容#include<stdio.h>#include<malloc.h>#include<stdlib.h>#include<string.h>typedefstructuser{charUName[8];//用户名charPassword[10];//密码}Access;typedefstructFilenode{ﻩcharFName[10];ﻩstructFilenode*next;}File;typedefstructMFDnode{ charUName[8];ﻩstructMFDnode*right; File*down;}DFlink;Accesspower[10];DFlink*head;voidinitPower(){inti;printf("请输入用户信息:\n");for(i=0;i<5;i++){ﻩprintf("请输入用户名:"); gets_s(power[i].UName); printf("请输入密码:");ﻩgets_s(power[i].Password);}}voidinitHead(){ inti; DFlink*m,*n;ﻩm=(DFlink*)malloc(sizeof(DFlink)); m->right=NULL; m->down=NULL; head=m; for(i=0;i<5;i++)ﻩ{ﻩﻩn=(DFlink*)malloc(sizeof(DFlink));ﻩstrcpy_s(n->UName,power[i].UName); ﻩm->right=n;ﻩﻩn->right=NULL; ﻩn->down=NULL; ﻩm=n; }}intlogging(){ﻩcharname[8],password[10];inti=0;intj=0;ﻩprintf("请输入登录的用户名:"); gets_s(name);ﻩwhile(i<2&&strcmp(power[i].UName,name)!=0)ﻩ i++; if(i<5)ﻩ{ﻩﻩprintf("请输入密码:");ﻩ gets_s(password);ﻩwhile(strcmp(power[i].Password,password)!=0&&j<3)ﻩ{ﻩ ﻩprintf("密码不对的,请重新输入:"); ﻩ gets_s(password);ﻩﻩj++; } if(j==3) {ﻩﻩprintf("密码输入错误超过三次,严禁输入\n");ﻩﻩreturn-1; } else{ returni;ﻩ ﻩ} }ﻩelseﻩ{ﻩﻩﻩ return-1; }}voidfileCreate(intindex){ charname1[8];DFlink*n; File*s,*p;ﻩintj;ﻩstrcpy_s(name1,power[index].UName); n=head->right;while(n!=NULL&&strcmp(n->UName,name1)!=0) ﻩn=n->right;ﻩif(n!=NULL){ﻩ s=(File*)malloc(sizeof(File));ﻩﻩn->down=s;ﻩﻩs->next=NULL; ﻩfor(j=0;j<3;j++){ﻩ p=(File*)malloc(sizeof(File)); ﻩprintf("请输入所包含的文献:"); ﻩﻩgets_s(p->FName);ﻩﻩ s->next=p;ﻩ p->next=NULL;ﻩﻩﻩs=p;}ﻩ}ﻩ else ﻩprintf("没有该用户名!\n");ﻩ}voidfileDelete(intindex){ charname1[8];ﻩcharname2[8];DFlink*n; File*s,*p;ﻩstrcpy_s(name1,power[index].UName); n=head->right;while(n!=NULL&&strcmp(n->UName,name1)!=0) ﻩn=n->right;ﻩif(n!=NULL){ printf("请输入要删除的文献名:"); ﻩgets_s(name2);ﻩﻩs=n->down; ﻩp=s->next;ﻩﻩwhile(p!=NULL&&strcmp(p->FName,name2)!=0){ ﻩ s=s->next;ﻩﻩﻩp=p->next; ﻩ} ﻩif(p!=NULL) ﻩs->next=p->next; elseﻩﻩ printf("没有该文献名!\n");ﻩ } else ﻩprintf("没有该用户名!\n"); }voidprint(intindex){charname[8];DFlink*n;ﻩFile*s,*p; strcpy_s(name,power[index].UName); n=head->right;ﻩwhile(n!=NULL&&strcmp(n->UName,name)!=0)ﻩn=n->right; if(n!=NULL){s=n->down; p=s->next; ﻩprintf("包含的文献为:");ﻩﻩﻩwhile(p!=NULL) ﻩﻩ{ ﻩﻩprintf("%s",p->FName);ﻩﻩ p=p->next; ﻩﻩ}ﻩ } }voidmain(){ intf=1; chara; intj; while(f){ﻩ printf("\n");ﻩ printf("i用户初始化\n");ﻩ printf("c创建文献\n");ﻩﻩprintf("d删除文献\n"); ﻩprintf("e退出\n"); ﻩprintf("请选择:"); ﻩscanf_s("%c",&a);ﻩﻩgetchar();ﻩﻩswitch(a){ ﻩﻩcase'i':ﻩﻩﻩﻩinitPower();ﻩ ﻩ initHead(); ﻩ ﻩbreak;ﻩ ﻩcase'c': ﻩﻩj=logging();fileCreate(j); ﻩﻩprint(j);ﻩﻩ ﻩﻩﻩﻩ break; ﻩﻩcase'd': j=logging();ﻩ ﻩﻩfileDelete(j); ﻩ print(j); ﻩ break; case'e':ﻩ ﻩﻩf=0;ﻩ ﻩﻩbreak; }ﻩ}}原始数据记录输入数据:用户名密码文献名aaa111a1a2a3bbb222b1b2b3ccc333c1c2c3ddd444d1d2d3fff555
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 竞赛考试协议书
- 小学生手机管理协议书
- 脱欧金融协议书
- 瑜伽馆转让合同协议书
- 美发劳动协议书
- 退股合作协议书
- 砂场付款协议书
- 员工贷款公司用协议书
- 手工十字绣合同协议书
- 酒吧供酒协议书
- (正式版)SHT 3075-2024 石油化工钢制压力容器材料选用规范
- MOOC 航空航天材料概论-南京航空航天大学 中国大学慕课答案
- (2024年)幼儿园营养膳食
- 慕思广告策略与实施报告完整版
- 第7章 显微镜下常见矿物特征
- 尿毒症心衰的护理查房课件
- 人工智能在医疗领域的应用
- 三次元MSA测量系统分析报告72121312
- 2023国家开放大学《经济学基础》形考任务1-4参考答案
- 2021年中医助理医师考试实践技能第一站:病例分析
- 专业合作社注销清算报告范本
评论
0/150
提交评论