1 / 9
文档名称:

西北农林科技大学数据结构实习报告书.doc

格式:doc   大小:630KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

西北农林科技大学数据结构实习报告书.doc

上传人:小吴 2024/4/25 文件大小:630 KB

下载得到文件列表

西北农林科技大学数据结构实习报告书.doc

相关文档

文档介绍

文档介绍:该【西北农林科技大学数据结构实习报告书 】是由【小吴】上传分享,文档一共【9】页,该文档可以免费在线阅读,需要了解更多关于【西北农林科技大学数据结构实习报告书 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。数据结构与C语言综合训练实****报告1信息工程学院数据结构与C语言综合训练报告〔2024~2024学年第二学期〕报告题目:文件目录管理系统___________________姓名:专业:信息管理与信息系统年级班级:__13级3班_____指导教师:__任国霞_完成日期:__2024-7-18______数据结构与C语言综合训练实****报告2一、综合训练目的和要求本综合训练是计算机科学与技术、信息管理与信息系统、软件工程、电子商务专业重要的实践性环节之一,是在学生学****完?程序设计语言(C)?、?数据结构?课程后进行的一次全面的综合练****本课综合训练的目的和任务:、、数据结构解决实际问题的能力二、综合训练任务内容文件是管理用户信息和应用程序的一种工具。每个文件有唯一的文件名,可以通过文件名访问文件,同时可对文件进行生成、删除及文件名修改等操作。文件系统对假设干文件进行管理时将所有的文件目录组合在一起构成一个目录文件。通过对目录文件的管理到达“按名存取〞的目的,目录文件常采用的组织结构是树型目录结构。根本要求:函数功能要划分好,程序要有必要的注释。用户通过界面菜单项选择择以下操作:生成文件,选择路径和文件名,实现对文件的生成。删除文件,对指定文件进行删除操作。修改文件,对指定文件进行内容修改或者文件名修改。输出该目录结构。三、总体设计数据结构与C语言综合训练实****报告3开始退出系统修改文件删除文件生成文件列文件目录选者操作序号否是建立用户输入用户名是否拥有用户文件导入四、〔1〕主要的函数设计structMasterFile*MoveMFDToLast()//寻找主目录空闲区structMasterFile*SearchMFD(charstr[])//查找用户structUserFile*MoveUFDToLast()//寻找用户目录空闲区structUserFile*SearchUFD(intnum)//查找用户文件voidLeftMoveUFD(intnum)//删除用户文件目录、voidLogin()//用户登陆voidmenu()//菜单voidDir()//列文件目录数据结构与C语言综合训练实****报告4voidCreate()//生成文件voidDelete()//删除文件voidjudge()//修改文件voidSave()//保存〔2〕主函数的实现intmain(){FILE*fpm,*fpu;//文件指针intsel;charch;charjian;printf("\t\t\t\t文件目录管理系统\n\t\t\t\t\n");fpm=fopen("F:\\","rb");//翻开主文件目录信息文件if(fpm==NULL){printf("\n提示:主文件目录信息文件还不存在,是否创立?(y/n)\n");scanf("%s",&jian);if(jian=='y'||jian=='Y')fpm=fopen("F:\\","wb");//创立主文件目录的文件elseexit(0);}fpu=fopen("F:\\","rb");//翻开用户文件目录信息文件if(fpu==NULL){printf("\n提示:用户文件目录信息文件还不存在,是否创立?(y/n)\n");scanf("%s",&jian);if(jian=='y'||jian=='Y')fpu=fopen("F:\\","wb");//创立用户文件目录的文件elseexit(0);}printf("文件正在翻开,请稍等...");printf("\n文件已导入完毕!\n");Login();//用户登录while(1){//菜单操作menu();printf("请你选择操作:");scanf("%d",&sel);if(sel==0){//保存文件信息if(shoudsave==1){getchar();数据结构与C语言综合训练实****报告5printf("\n资料已经改动,是否将改动保存到文件中(y/n)?\n");scanf("%c",&ch);if(ch=='y'||ch=='Y')Save();}printf("\n你已经退出系统,再见!\n");break;}switch(sel){case1:Dir();break;//列文件目录case2:Create();break;//创立文件case3:Delete();break;//删除文件case4:judge();break;//修改文件default:printf("你输的选项有误,请重新输入!\n");break;}}}}{charusername[20];//用户名charpassword[20];//用户名密码charflag;//标志structMasterFile*next;};//用户文件结构体structUserFile{intfnum;//文件编号charfname[20];//文件名charflag;//标志charfpw[20];//文件保护码structUserFile*link;};数据结构与C语言综合训练实****报告6五、、调试与测试数据结构与C语言综合训练实****报告7运行后观察,发现出现了程序错误!经过屡次调试,发现把“scanf("%s",&jian);if(jian=='y'||jian=='Y')fpu=fopen("F:\\","wb");//创立用户文件目录的文件elseexit(0);}printf("文件正在翻开,请稍等...");for(inti=0;i<20;i++)//读取主文件目录信息fread(&MFD[i],sizeof(structMasterFile),1,fpm);//将文件的内容放入接点中fclose(fpm);//关闭文件while(!feof(fpu))//读取用户目录文件信息{for(inti=0;i<20;i++){if(fread(&UFD[i][0],sizeof(structUserFile),20,fpu))//将文件的内容放入接点中MFD[i].next=(structMasterFile*)&UFD[i][0];}}fclose(fpu);//关闭文件printf("\n文件已导入完毕!\n");Login();//用户登录〞删除后错误就消除了。文件刚开始还存在一些小错误,经过慢慢的调试,错误一点点的被改了过来。 还有,刚开始的文件不能修改,经过添加了一些编程,就能修改了。可后来我发现,每次修改的不是上一次的编号的话那就会发生以下情况:数据结构与C语言综合训练实****报告8就是每次修改完都会多一个文件,想复制的一样。后来,经过屡次试验、调节,发现把“f=MoveUFDToLast();//寻找用户目录空闲区〞语句删掉就可以了。本来自己想独立完成一个代码,但是在五天写程序当中遇到了很多问题,虽然解决了很多的问题,但是程序最终还是和要求差了好多,无奈搜索了出来了一个代码,很相似就把它拿来修改了一下,不过此系统完成后还是没有到达我预想的结果存在缺陷:在修改文件操中,只能是把原文件名称和内容覆盖掉,不能在文件内容根底上进行修改七、工作日志第一天:选择综合训练题目,分析课题的要求,查阅有关资料,复****相关知数据结构与C语言综合训练实****报告9第二天:编写详细设计说明;第三天:交详细设计说明电子稿,编程;第四天:编写程序,查资料;第五天:继续编写程序;第六天:修改程序;第七天:对程序进行调试;第八天:对程序进行最后的修改;第九天:编写实验报告:第十天:编写实验报告,上交;八、综合训练心得与体会经过这次实****让我懂得了许多,每件事都不是轻而易举就能做到的,都要经过不懈的努力。 良好的编程****惯是很重要的。 首先,在编程前要从整体上把握,组织;分析。然后,在编程中尽量不使用怪癖的语句算法,注意代码排版。接下来,一定要会使用、经常使用注释!最后,调试要有耐心,要细心。说些其他的,就是一定要谦虚,不要一心认为自己总是对的,学会交流。其实每个人都有自己独特的风格,自己怎么舒服就怎么来,但前提是要保证别人可以看懂你的程序。有时,做不出来不要心急,那只是暂时的。任何事情都有其解决的方法,只是你还没有发现而已。每一道题,都有它有用的地方,如果你学会了,对你会有很多帮助的。刚开始,我的程序一点都不会,我的心里很着急。可是,却一点用都没有,我只有静下心来,仔细的观看我的题,加上上网查找资料,刚开始我是打算靠自己编一个程序歘来的,可是连续几天过去快要结束时虽然实现了一大局部功能,但是,还是没有完全实现。我敢拒绝时间已经不够用了,只能再去网上搜索,找到了一个很相似的,然后在把我原来写的一局部和搜索到的综合了一下,又找了一些热的帮助,最终实现了所要求的功能,虽然还有很多漏洞,但我一定会加油的!九、意见和建议意见:以后可以每个月有一次这样的实训,持续两天。然后写报告什么的就不要了,只要求写代码,然后完成后由老师指导,相信同学们的编程能力会有很大提升。建议:希望以后的实训还是尽量不要放到假期吧,比方我想着去社会上打工历练一下,也能早点适应社会。目前看来时间就有点不允许了。