操作系统课程设计报告文档格式.docx
《操作系统课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计报告文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
File*file;
intf_num;
structcontent*next;
}Content;
typedefstructuser{
charpsw[10];
Content*con;
structuser*next;
}User;
charcur_user[20];
User*user;
intuser_num=0;
voidwrite(charname[]){
FILE*p;
charch;
p=fopen(name,"
w"
);
ch=getchar();
while
(1){
fputc(ch,p);
if(ch=='
#'
)break;
}
fclose(p);
}
voidread(charname[]){
inti=0;
r"
while(!
feof(p)){
i++;
printf("
%c"
fgetc(p));
if(i==0)printf("
文件是空的!
\n"
intdisplay_files(Content*con){
file=con->
file;
file=file->
next;
while(file!
=NULL){
文件%d:
%s\n"
i,file->
name);
file=file->
printf("
文件总数:
%d\n"
i);
returni;
intis_exist_file(File*f,charname[]){
intexist=0;
File*file=f->
if(strcmp(file->
name,name)==0){
exist=1;
break;
}
file=file->
returnexist;
voidadd_file(Content*con){
intexist;
charf_name[10];
chartail[]="
.txt"
;
FILE*q;
File*file=con->
File*new_f;
if(con->
f_num==10){
已存在10个文件!
return;
do{
exist=0;
输入新文件名:
"
scanf("
%s"
f_name);
strcat(f_name,tail);
if(is_exist_file(con->
file,f_name))
exist=1;
if(exist==1)
printf("
文件已存在!
}while(exist==1);
q=fopen(f_name,"
fclose(q);
while(file->
next!
=NULL)
new_f=(File*)malloc(sizeof(File));
strcpy(new_f->
name,f_name);
new_f->
next=NULL;
file->
next=new_f;
con->
f_num++;
添加文件%s成功!
voidread_file(Content*con){
intfind=0;
file->
输入需要读取的文件名:
scanf("
name);
strcat(name,tail);
while(file!
if(strcmp(name,file->
name)==0){
find=1;
break;
}
if(find==0){
读取错误或文件不存在!
---ReadFile\n"
文件已打开...\n"
read(name);
\n文件%s读取成功!
voidwrite_file(Content*con){
输入需要编辑的文件名:
写入错误或文件不存在!
---WriteFile\n"
文件被打开...\n"
结尾输入#完成输入\n"
write(name);
\n文件%s写入成功!
voiddelete_file(Content*con){
File*file,*f;
if(display_files(con)==0)printf("
无内容!
else{
do{
输入需要删除的文件名:
scanf("
strcat(name,tail);
if(!
is_exist_file(con->
file,name))
exist=0;
if(exist==0)printf("
文件不存在!
}while(exist==0);
文件正在删除..."
file=con->
f=file->
while(f!
if(strcmp(f->
name,name)==0)break;
file=f;
f=f->
file->
next=f->
文件删除成功!
voidmove_file(User*u,Content*con){
charc_name[10];
File*file,*f,*temp_f;
Content*c;
exist=1;
输入需要移动文件名:
strcat(name,tail);
if(!
file,name))exist=0;
if(exist==0)printf("
此文件不存在!
}while(exist==0);
移动中...\n"
f=file->
while(f!
if(strcmp(f->
f=f->
temp_f=f;
输入目标存储空间名:
"
c_name);
c=u->
con;
while(c->
if(strcmp(c->
name,c_name)==0)break;
c=c->
f=c->
while(f->
=NULL)f=f->
f->
next=temp_f;
temp_f->
移动成功!
intdisplay_contents(User*u){
con=u->
con->
while(con!
存储空间%d:
i,con->
con=con->
显示存储空间为%d\n"
intis_exist_con(Content*c,charname[]){
Content*con=c->
if(strcmp(con->
con=con->
voidadd_content(User*u){
Content*con,*c;
输入存储空间名称:
if(is_exist_con(u->
con,name))
此存储空间已存在!
新建中...\n"
while(con->
c=(Content*)malloc(sizeof(Content));
c->
file=(File*)malloc(sizeof(File));
file=file;
strcpy(c->
name,name);
f_num=0;
next=c;
\n新建成功!
voiddel_content(User*u){
if(display_contents(u)==0)printf("
输入删除存储空间名称:
is_exist_con(u->
con,name))exist=0;
TheContentNotExist!
文件夹删除中..."
con=u->
c=con->
while(c!
if(strcmp(c->
con=c;
c=c->
con->
next=c->
删除成功!
voidinto_content(User*u){
intchoice;
存储空间不存在!
if(strcmp(con->
1.显示所有文件\n"
2.新建文件\n"
3.写入文件\n"
4.读取文件\n"
5.删除文件\n"
6.移动文件\n"
0.返回上层\n"
输入以上选项:
%d"
&
choice);
switch(choice){
case1:
display_files(con);
case2:
add_file(con);
case3:
write_file(con);
case4:
read_file(con);
case5:
delete_file(con);
case6:
move_file(u,con);
}while(choice!
=0);
voidlogin(){
intlogin=0;
User*p;
User*head=user->
p=(User*)malloc(sizeof(User));
con=(Content*)malloc(sizeof(Content));
p->
con=con;
head=p;
1.显示所有存储空间\n"
2.新建存存储空间\n"
3.删除存储空间\n"
4.写入存储空间\n"
0.退出\n"
display_contents(head);
break;
add_content(head);
del_content(head);
into_content(head);
intmain(){
user=(User*)malloc(sizeof(User));
user->
login();
谢谢使用!
return0;
四、系统测试
系统功能模块测试、性能测试结果:
进入系统菜单:
add_content(User*u)新建存储空间:
display_contents(User*u)显示所有存储空间状态:
del_content(User*u)删除存储空间:
into_content(User*u)写入存储空间:
进入文件系统菜单:
write(charname[])写入文件:
read(charname[])读取文件:
display_files(Content*con)显示所有文件状态:
add_file(Content*con)新建文件:
delete_file(Content*con)删除文件:
move_file(User*u,Content*con)移动文件:
五、结论
课程设计的主要成果、体会:
课程设计是对我们平时学习的一种考察,我们要正确地对待。
不断地锻炼自己动手动脑的能力、把知识赋予实践就是我们学习的目标。
既然学校给我们这么好的机会,让我们自己在实验室作操作,我们应该好好抓住机会,把我们平时学习的东西用自己的作品展现出来。
这次,我做的是《模拟linux二级文件系统设计》的课程主题,这给了我充分锻炼的机会。
我会用自己学到的东西的设计出一副好的作品。
通过2周的制作,我以基本完成了自己的作品。
从中我明白:
《操作系统》是一门非常有趣味的学科,只要你学得好再加上你的编程能力,你就可以开发出很好的软件作品。
同时我觉得要学好基本的操作系统知识,首先要有一颗坚毅的心,有恒心,有信心,在学习过程中,坎坷是避免不了的,但千万不要灰心,不要气馁,要继续努力,刚开始是会感到很无助的,也许会产生放弃的念头,千万顶住,只要克服了开始的难关,以后的路才会充满阳光,充满快乐。
而且,在程序设计过程中我也遇到了很多问题。
但是在老师和同学的帮助下,我一次次将难题解决。
对此,我由衷地感谢那些在我开发过程中帮助过我的人。
我相信通过我以后很加刻苦的学习,我会更加热爱我的专业课程。
六、参考文献
计算机操作原理(第四版)庞丽萍编著
计算机操作系统,中国人民大学出版社,谭耀铭主编