文件实验报告

文件实验报告
文件实验报告

昆明理工大学信息工程与自动化学院学生实验报告

( 2011 —2012 学年第二学期)

一、实验目的

用c或c++语言编写和调试一个简单的文件系统,模拟文件管理的基本功能。从而对各

种文件操作命令的实质内容和执行过程有比较深入的了解。

二、实验原理及基本技术路线图(方框原理图)

用c模拟实现文件系统的管理;要求设计一个多级目录结构的文件系统,能正确描述文

件控制块,采用合理的外存分配方式,能实现基本的目录及文件的操作,包括创建、删除、

重命名、复制、移动等功能,并对文件有一定的存取权限控制。

请加上程序功能结构图、流程图、数据结构定义、主要变量的说明、函数的说明等

流程图: 主要数据结构

界面采用vc6 mfc环境开发

#define maxfile 20 //每个用户最多保存20个文件 #define maxuser 10 //假想

文件系统最多支持的人数 #define blocksize 32 //虚拟磁盘中物理块为每块32字节

#define disksize blocksize*1000 //虚拟磁盘容量为1000*32=32k struct ufd //

说明文件项的结构数组 { 节

};

struct mfd { };

struct headblock { };

struct block //虚拟磁盘的物理块数据结构 { byte pstack; //堆栈指针

short pblock[10]; //块号 pblock[10]是下一个盘块号逻辑地址 char username[10];

//主目录用户名 bool isexist; //该用户否存在 ufd ufd[maxfile]; //用户文件数

组 ushort nitem;//ufd个数 char filename[15]; char time[16]; //文件建立或修改时间如2003/5/6 12:00 bool isexist;

//文件是否存在,删除时标为0

bool isshared; //共享标记,共享文件可被其它用户所访问 bool attrread;

//文件是否可读 bool attrwrite; //文件是否可写 bool attrexecute; //文件是否

可执行

htreeitem treenode; //用于树控件显示的结点句柄 ushort filelen; //文件占用

字节数 ushort blocknum; //文件占用的物理块数

ushort filelink[100];//文件物理块地址数组,每块32字节,限定一个文件最大

100*32=3200字

union{ };

struct fat { };

//空闲块成组链接法

bool openlist[maxuser][maxfile]; //描述文件是否打开的布尔型数组 fat filefat;

//描述文件记录项的fat结构

cfile fatio; //负责和vdisk.dat打交道的文件句柄 cstring

currentuser; //当前登录的用户名int currentid; //前前登录的用户标识号

block superblock; //超级块,指示第一个空闲块逻辑号 ushort maxopen;

//该用户同时可打开的最大文件数 ushort usernum; //最户数

mfd mfd[maxuser]; //最多可支持10个用户 byte block[32]; //一块

为32字节 headblock headinfo; };

说明:本实验采用模拟文件结构的方法,把记录用户帐号,用户文件和磁盘块的信息用

当前目录下的

vdisk.dat来记录,可以把vdisk.dat看成是一个虚拟的磁盘,其头部是fat结构,用

来记录各个用户和文件信息,紧接着是空闲块成组链接法的数据结构,每块32字节,每组

10块,共1000块,也就是说,用户文件数据的总容量是32*1000字节,如果程序当前目录

下找不到用于做实验用的vdisk.dat,在登录时程序会提示是否“格式化虚拟磁盘”也就是新

建一个vdisk.dat文件,接着,程序会显示“用户管理”的窗口,此时应新建几个帐号用于

登录做实验。

登录后,程序会显示该用户的所有文件,右方的文件列表会显示每个文件的属性信息,

和windows的“资源管理器”相似。用鼠标双击列表的每个文件就可以查看文件的内容。单

击“新建文件”按钮可以创建一个新的用户文件。

选中某个文件后,就可以进行相应的操作,如“修改文件”、“删除文件”或是“打开文

件”,删除某个文件时检查该文件的属性,如果是只读的,就是显示警告窗口让用户确认是否

一定要删除。

硬盘工具可以用图形方式显示“磁盘”块的详细情况,空白块说明该块没有使用,暗红

色的说明块已分配,窗口还统计占用的空间大小、用户数等信息。

程序中用到的结构图如下图所示:

mfd

三、所用仪器、材料(设备名称、型号、规格等)。计算机一台

四、实验方法、步骤

void cdlguser::onadduser() { updatedata(true);

if (https://www.360docs.net/doc/9c4508925.html,ernum>=10) { afxmessagebox(用户数量已达到最大10个,你可以删除一些无用的帐号!); return; } for(int i=0;i<10;i++)

{

if(filefat.mfd[i].isexist==false) { wsprintf(filefat.mfd[i].username,m_username); } }

https://www.360docs.net/doc/9c4508925.html,ernum++;

writefat();

readfat();

showuser();//显示现有的用户列表 m_username.empty(); updatedata(false); }

bool readblock(int id, block* buffer) //读指定块号内容(32字节)到buffer所指

向的单元 {

if(!fatio) return false; //如果虚拟磁盘文件句柄为空,出错返回

if(!fatio.seek(sizeof(fat)+(id-1)*blocksize,cfile::begin)) return false;//移

动文件指针到指定块号 if(fatio.read(buffer,blocksize)!=blocksize) return false;//

读该块的内容到buffer指定的单元 return true; } bool writeblock(int id, block* buffer) //把buffer所指向的单元的内容(32字节)

写到指定的物理块中 {

if(!fatio) return false;

if(!fatio.seek(sizeof(fat)+(id-1)*blocksize,cfile::begin)) return false;

fatio.write(buffer,blocksize); return true; } ushort allocblock() //分配一物理块,成功返回逻辑块号,失败返回0; { if(!filefat.superblock.headinfo.pblock[filefat.superblock.headinfo.pstack])

return 0;

//没有空间可分配,失败返回

filefat.mfd[i].isexist=true; filefat.mfd[i].nitem=0; break;篇二:文件管理实

验报告

昆明理工大学信息工程与自动化学院学生实验报告

( 2012 —2013 学年第二学期)

课程名称:操作系统开课实验室:年月日

一、实验目的

用c或c++语言编写和调试一个简单的文件系统,模拟文件管理的基本功能。从而对各

种文件操作命令的实质内容和执行过程有比较深入的了解。

二、实验原理及基本技术路线图(方框原理图)

用c模拟实现文件系统的管理;要求设计一个多级目录结构的文件系统,能正确描述文

件控制块,采用合理的外存分配方式,能实现基本的目录及文件的操作,包括创建、删除、

重命名、复制、移动等功能,并对文件有一定的存取权限控制。

文件通常存放在外存(如磁盘、磁带)上,可以作为一个独立单位存放和

实施相应的操作(如打开、关闭、读、写等)

。为了加快对文件的检索,往

往将文件控制块集中在一起进行管理。这种文件控制块的有序集合称为文件目录。文件

控制块就是其中的目录项。下图示例一种目录的组织形式。模拟一个文件系统,包括目录文

件,普通文件,并实现对它们的一些基本操作。

假定每个目录文件最多只能占用一个块;一个目录项包括文件名(下一级目录名),文件

类型,文件长度,指向文件内容(下一级目录)的指针内容。普通文件可以只用目录项(fcb)

代表。

三、所用仪器、材料(设备名称、型号、规格等)。

计算机一台

四、实验方法、步骤

//利用交互式命令实现树型目录结构和文件管理,同时利用位示图表示外存的分配情况,

新建文件时分配必要的空间,模拟文件分配表记录文件在外存上的存储方式。了解系统对文

件的操作。

//在文件中保存目录内容,创建文件或子目录可以用命令行命令:md、cd、rd、mk(创

建文件)、del(删除文件)和dir #include<iostream>

#include<stdlib.h>

#include<time.h>

#include <locale.h>

using namespace std;

#define beginsize 5 #define length 3

typedef struct

{

int data[length];

}indireone;

typedef struct

{

indireone * first[length]; }indiretwo; typedef struct

{

indiretwo * second[length]; }indirethree; typedef struct node

{

int begin[beginsize];

indireone * one;

indiretwo * two;

indirethree * three;

}mixtab; typedef struct node

{

char name[50];

int type;//是文件还是目录 int size;//如果是文件给出大小 struct node *next;//

兄弟结点

struct node * sub;//子节点 struct node * father;//父亲节点 mixtab * table; }fcb;

//文件控制块

fcb * root;

fcb * present;

fcb * finding;

char stringname[300];

int bitmap[16][16];//位示图 int leftbit=0; void initall()

{

int i,j;

srand( time(null) );

for(i=0;i<16;i++)

{//初始化位示图

for(j=0;j<16;j++) {

bitmap[i][j]=rand()%2; }

}

root=(fcb *)malloc(sizeof(fcb)); strcpy(root->name,\\);

root->type=0;

root->size=0;

root->next=null; root->father=root;

root->sub=null;

for(i=0;i<16;i++)

{

for(j=0;j<16;j++) {

if(bitmap[i][j]==0) {

leftbit++; }

}

}

}

//判断分配外存时候是不是足够int judgeenough(int n) { if(leftbit>=n)

return 1;

else return 0;

}

//添加时候用

void addpoint(fcb * f) {

fcb * temp;

if(present->sub==null) { present->sub=f;篇三:文件系统实验报告

实验二文件系统

实验报告

一.实验简介

本实验要求在假设的i/o 系统之上开发一个简单的文件系统,这样做既能让实验者对文

件系统有整体了解,又避免了涉及过多细节。用户通过create, open, read 等命令与文件

系统交互。文件系统把磁盘视为顺序编号的逻辑块序列,逻辑块的编号为0 至l-1。i/o 系

统利用内存中的数组模拟磁盘。

实际物理磁盘的结构是多维的:有柱面、磁道、扇区等概念。i/o 系统的任务是隐藏磁

盘的结构细节,把磁盘以逻辑块的面目呈现给文件系统。逻辑块顺序编号,编号取值范围为

0 至l .. 1,其中l 表示磁盘的存储块总数。实验中,我们可以利用字符数组ldisk[l][b]

构建磁盘模型,其中b 表示每个存储块的长度。i/o 系统从文件系统接收命令,根据命令指

定的逻辑块号把磁盘块的内容读入命令指定的内存区域,或者把命令指定的内存区域内容写

入磁盘块。

我设计的文件系统拥有三个用户。

二.具体说明

1.文件系统的组织:磁盘的前k 个块是保留区,其中包含如下信息:位图和文件描述符。

位图用来描述磁盘块的分配情况。位图中的每一位对应一个逻辑块。创建或者删除文件,以

及文件的长度发生变化时,文件系统都需要进行位图操作。前k 个块的剩余部分包含一组文

件描述符。每个文件描述符包含如下信息:

? 文件长度,单位字节

? 文件分配到的磁盘块号数组。该数组的长度是一个系统参数。在实验中我们可以把它

设置为一个比较小的数,例如3。

2.目录:我们的文件系统中仅设置一个目录,该目录包含文件系统中的所有文件。除了

不需要显示地创建和删除之外,目录在很多方面和普通文件相像。目录对应0 号文件描述符。

初始状态下,目录中没有文件,所有,目录对应的描述符中记录的长度应为0,而且也没有

分配磁盘块。每创建一个文件,目录文件的长度便增加一分。目录文件的内容由一系列的目

录项组成,其中每个目录项由如下内容组成:

? 文件名

? 文件描述符序号

3.对文件的操作:

文件系统需提供如下函数;create, destroy, open, read, write。

? create(filename): 根据指定的文件名创建新文件。

? destroy(filename): 删除指定文件。

? open(filename): 打开文件。该函数返回的索引号可用于后续的read, write, lseek,

或close 操作。

? close(index): 关闭制定文件。

? read(index, mem_area, count): 从指定文件顺序读入count 个字节mem_area 指定

的内存位

置。读操作从文件的读写指针指示的位置开始。

? write(index, mem_area, count): 把mem_area 指定的内存位置开始的count 个字节

顺序写入指定文件。写操作从文件的读写指针指示的位置开始。

? lseek(index, pos): 把文件的读写指针移动到pos 指定的位置。pos是一个整数,表

示从文件开始位置的偏移量。文件打开时,读写指针自动设置为0。每次读写操作之后,它

指向最后被访问的字节的下一个位置。lseek 能够在不进行读写操作的情况下改变读写指针

能位置。 ? directory: 列表显示所有文件及其长度。

三.实验过程

创建文件create:

此时显示文件中的文件:

文件的删除delete: 打开文件(open)

:

文件的写操作(write)

: 读文件(read): 关闭文件(close)

: 退出系统(exit)

: 四.实验代码

#include <stdio.h>

#include <malloc.h>

#include <stdlib.h>

#include <string.h>

#define null 0 typedef struct mdf{//mdf结构体char username[20];//用户名char

filename[20];//文件名 struct mdf *next; }mdf; typedef struct ufd{//ufd结构体 char filename[20];//文件名 int protect;//文

件保护码

unsigned int length;//文件长度 struct ufd *next;

}ufd;篇四:操作系统实验报告文件管理

昆明理工大学信息工程与自动化学院学生实验报告

( 201 —201 学年第二学期)

课程名称:操作系统开课实验室:年月日

一、实验目的

用c或c++语言编写和调试一个简单的文件系统,模拟文件管理的基本功能。从而对各

种文件操作命令的实质内容和执行过程有比较深入的了解。

二、实验原理及基本技术路线图(方框原理图)

用c模拟实现文件系统的管理;要求设计一个多级目录结构的文件系统,能正确描述文

件控制块,采用合理的外存分配方式,能实现基本的目录及文件的操作,包括创建、删除、

重命名、复制、移动等功能,并对文件有一定的存取权限控制。

功能设计 : help dir exit create [文件名] cdir [目录名] read [文件名] close[文

件名] edit [文件名] cd [目录名] attr [文件名] del [文件名] rename [文件名] 显

示命令帮助显示当前目录下的文件和文件夹退出系统创建文本文件创建文件夹读取一

个文件最多可同时读取五个关闭一个文件编辑一个文件进子目录或者上级目录显示该文

件的属性删除文件重命名

编辑功能流程图

删除文件流程图创建文件流程图

核心算法: bool format(void); //格式化 bool install(void); //装载虚拟硬盘的数据 void

login(void); /用户登陆

void showmenu(void);//显示功能菜单 bool onaction(void);//用户选择功能并执行

void createfile(string str);//创建文件bool read(string str);//读取文件void

editfile(string str);//编辑文件 void delete(string str);//删除一个文件

数据结构: 始地址

/*inode结构体*/ struct inode{ unsigned short di_tag; /*inode标识*/ /*关联文件数,当为0时表示删除文件,如一个目录至少

包含两个文件:.和..*/ const unsigned int account_num=10; //用户数量

/*---------常变量------*/ const unsigned int block_size=512; //块长 const unsigned

int data_block_num=512; //数据块数量 const unsigned int dinode_start=4*block_size;

//inode起始位置const unsigned int dinode_size=512; const unsigned int

dinode_num=32; //inode大小//inode数量const unsigned int

datastart=(2+dinode_num)*block_size; //数据区的开 unsigned short di_number; unsigned short di_mode; /*存取模式:0为目录,1为文件*/ unsigned short di_userid; /*当前inode所属用户 0为根目录id,一次下去是管理员

录、用户目录*/ unsigned short di_access; /*访问权限 0为不允许普通用户访问(公

共目录),1为允许普通用户访问*/ }; unsigned short di_size; /*文件大小,目录没有大小,值为0*/ unsigned short

di_ctime; /* 创建时间 */ unsigned short di_mtime; /* 最后一次修改时间*/

unsigned short di_block[data_block_num]; /* 数据块块地址编号 */

/**超级块***/

struct super_block{ };

/**账户信息**/

struct user{ }; /**文件/目录结构**/

struct directory{

unsigned short s_inodes_count; /* 文件系统中inode的总数 */ unsigned

short s_blocks_count; /* 数据块总数 */ unsigned short s_r_blocks_count; /*

保留块总数 */ unsigned short s_free_blocks_count; // 空闲块总数 unsigned short

s_free_inodes_count; /* 空闲的inode总数 */ unsigned short s_log_block_size;

/* block 的大小 */ unsigned short user_id; //用户id unsigned short user_access;

//权限 string username; string password; //用户名 //密码篇五:文件管理实验报告文件管理

一、实验目的:

1.了解os中文件的组织和管理。

2.熟悉文件中所用的数据结构。

二、实验要求:

1. 设计一个n个用户的文件系统,每个用户最多保存m个文件。

2. 限制用户在一次

使用中只能打开l个文件。

3. 系统应能检查输入命令的正确性,出错能显示出原因。

4. 对文件必须设置保护措施,如只读、写、执行等。在每次打开时再次设置保护级别,

即可有二级保护。 5. 对文件的操作至少有以下几条命令 create:建文件

delete:删文件 open:打开文件 close:关闭文件 read:读文

件 write:写文件

举例:主文件目录 mfd=record username :string[maxlen]; files :array[1..l] of ufd; ofiles :arrau[1..s]

of uod end;

用户打开文件目录表: uod=record filename:string[maxlen]; attrib:attrib; len:integer; status:(open,create); rp,up:integer; end;

用户文件目录: ufd=record fielname:string[maxlen]; attrib?ro,rw); len:integer;

addr:integer; end;

流程图:

二、主要数据结构

界面采用vc6 mfc环境开发

#define maxfile 20 //每个用户最多保存20个文件 #define maxuser 10 //假想

文件系统最多支持的人数 #define blocksize 32 //虚拟磁盘中物理块为每块32字节

#define disksize blocksize*1000 //虚拟磁盘容量为1000*32=32k struct ufd //

说明文件项的结构数组 { 节

char filename[15];

char time[16]; //文件建立或修改时间如2003/5/6 12:00 bool isexist;

//文件是否存在,删除时标为0

bool isshared; //共享标记,共享文件可被其它用户所访问 bool attrread;

//文件是否可读 bool attrwrite; //文件是否可写 bool attrexecute; //文件是否

可执行

htreeitem treenode; //用于树控件显示的结点句柄 ushort filelen; //文件占用

字节数 ushort blocknum; //文件占用的物理块数

ushort filelink[100];//文件物理块地址数组,每块32字节,限定一个文件最大

100*32=3200字

};

struct mfd { };

struct headblock { };

struct block //虚拟磁盘的物理块数据结构 { union{ };

struct fat { };

//空闲块成组链接法

bool openlist[maxuser][maxfile]; //描述文件是否打开的布尔型数组 fat filefat;

//描述文件记录项的fat结构

cfile fatio; //负责和vdisk.dat打交道的文件句柄 cstring

currentuser; //当前登录的用户名int currentid; //前前登录的用户标识号

block superblock; //超级块,指示第一个空闲块逻辑号 ushort maxopen;

//该用户同时可打开的最大文件数 ushort usernum; //最户数

mfd mfd[maxuser]; //最多可支持10个用户 byte block[32]; //一块

为32字节 headblock headinfo; }; byte pstack; //堆栈指针

short pblock[10]; //块号 pblock[10]是下一个盘块号逻辑地址 char username[10];

//主目录用户名 bool isexist; //该用户否存在 ufd ufd[maxfile]; //用户文件数

组 ushort nitem;//ufd个数

说明:本实验采用模拟文件结构的方法,把记录用户帐号,用户文件和磁盘块的信息用

当前目录下的

vdisk.dat来记录,可以把vdisk.dat看成是一个虚拟的磁盘,其头部是fat结构,用

来记录各个用户和文件信息,紧接着是空闲块成组链接法的数据结构,每块32字节,每组

10块,共1000块,也就是说,用户文件数据的总容量是32*1000字节,如果程序当前目录

下找不到用于做实验用的vdisk.dat,在登录时程序会提示是否“格式化虚拟磁盘”也就是新

建一个vdisk.dat文件,接着,程序会显示“用户管理”的窗口,此时应新建几个帐号用于

登录做实验。

登录后,程序会显示该用户的所有文件,右方的文件列表会显示每个文件的属性信息,

和windows的“资源管理器”相似。用鼠标双击列表的每个文件就可以查看文件的内容。单

击“新建文件”按钮可以创建一个新的用户文件。

选中某个文件后,就可以进行相应的操作,如“修改文件”、“删除文件”或是“打开文

件”,删除某个文件时检查该文件的属性,如果是只读的,就是显示警告窗口让用户确认是否

一定要删除。

硬盘工具可以用图形方式显示“磁盘”块的详细情况,空白块说明该块没有使用,暗红

色的说明块已分配,窗口还统计占用的空间大小、用户数等信息。

C++图书管理系统实验报告

面向对象程序设计(C++语言)课程设计 设计说明书 图书管理系统的设计与实现 起止日期:年月日至年月日 学生姓名 班级 学号 成绩 指导教师(签字) 计算机与通信学院 年月日 图书管理系统

一.需求分析 图书馆是目前生活中除了网络外的另一个获取知识的重要场所。利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。有助于加深对面向对象程序设计中基础理论和基本知识的理解,培养了实践能力,促进理论与实践的结合。 二.设计要求: 1.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时 间、价格等。试设计一图书信息管理系统,使之能提供以下功能: 2.系统以菜单方式工作 3.图书信息录入功能(图书信息用文件保存)--输入 4.图书信息浏览功能--输出 5.查询和排序功能:(至少一种查询方式)--算法 6.按书名查询 7.按作者名查询 8.图书信息的删除与修改(可选项) 三.概要设计 1、类的设计 ①、Book类的设计(内部函数流程图):

②、BDatabase类的设计: ③、主函数流程图:

4多态的实现 class People { public: virtual void card(){cout<<"card people"<

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

图书管理系统uml实验报告.doc

面向对象分析与设计大作业 学院:计算机科学与工程学院 班级:计算机软件 3 学生姓名:陈俊伟 学号:2174 指导老师:苏锦钿 提交日期:

华南理工大学 面向对象分析与设计大作业课程实验报告 实验题目 :_____ 图书管理系统 uml 图__________________________ 姓名 :___ 陈俊伟 ________学号:_ 2174_____ 班级 : ___09 软件 3 班________ 组别 : ________ 合作者 : __________________ 指导教师 : ______ 苏锦钿 __________ 实验概述 【实验目的及要求】 一.目的 1.掌握面向对象技术的基本原理和各种相关概念; Rational Rose 2003 、 IBM 2. 熟练掌握 UML的基本知识和9 种常见的 UML图形 , 并能够利 用 Software Architecture、或trufun UML工具进行建模; 3.根据问题进行学习,拓广、深化; 4.独立完成一个应用程序的分析、设计和建模,为以后软件项目的开发打下实践基础。 【实验原理】 UML建模,就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类 之间的关联、类的实例相互配合实现系统的动态行为等。UML提供了多种图形可视化描 述模型元素,同一个模型元素可能会出现在多个图中对应多个图形元素,人们可以从多 个视图来考察模型。UML建模主要分为结构建模、动态建模和模型管理建模 3 个方面,第 1 个方面是从系统的内部结构和静态角度来描述系统的,在静态视图、用例视图、实施视 图和配置视图中适用,采用了类图、用例图、组件图和配置图等图形。例如类图用于描述系 统中各类的内部结构(类的属性和操作)及相互间的关联、聚合和依赖等关系, 包图用于描述系统的分层结构等;第 2 个方面是从系统中对象的动态行为和组成对象间的相互 作用、消息传递来描述系统的,在状态机视图、活动视图和交互视图中适用,采 用了状态机图、活动图、顺序图和合作图等图形,例如状态机图用于一个系统或对象从 产生到结束或从构造到清除所处的一系列不同的状态;第 3 个方面描述如何将模型自身组织到高层 单元,在模型管理视图中适用,采用的图形是类图。建模的工作集中在前两 方面,而且并非所有图形元素都适用或需要采用

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

进程管理实验报告文档

实验一进程管理 1.实验目的: (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)分析进程争用资源的现象,学习解决进程互斥的方法; (4)了解Linux系统中进程通信的基本原理。 2.实验预备内容 (1)阅读Linux的源码文件,加深对进程管理概念的理解; (2)阅读Linux的fork()源码文件,分析进程的创建过程。 3.实验内容 (1)进程的创建: 编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。 源代码: #include <> #include <> #include #include <> main() {

int p1,p2; p1=fork(); ockf()函数是将文件区域用作信号量(监视锁),或控制对锁定进程的访问(强制模式记录锁定)。试图访问已锁定资源的其他进程将返回错误或进入休态,直到资源解除锁定为止。而上面三个进程,不存在要同时进入同一组共享变量的临界区域的现象,因此输出和原来相同。 (3) a) 编写一段程序,使其实现进程的软中断通信。 要求:使用系统调用fork() 创建两个子进程,再用系统调用signal() 让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill() 向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Process 1 is killed by Parent! Child Process 2 is killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent Process is killed!

图书馆管理系统实验报告

华北科技学院计算机系综合性实验 实验报告 课程名称数据库系统 实验学期2009至2010学年第2学期学生所在系部计算机系 年级专业班级网络B081 学生姓名王明仁学号200807024102 任课教师郭红 实验成绩 计算机系制

《图书馆管理系统》课程综合性实验报告 开课实验室:基础62010年6月19日实验题目 一、实验目的 利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。 二、设备与环境 (1)硬件设备:PC机一台 (2)软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2000等。 三、实验内容 完整实践应用数据库设计的工程过程:需求分析\概念设计\逻辑设计\物理设计和实施: (1)需求分析:选定一个应用(如图书管理系统),对所设计的数据库系统进行调研分析,其结果应该准确表达出选定 应用的功能需求; (2)概念分析:使用E-R图作为描述工具.必要时描述出局部和全局的E-R图; (3)逻辑设计:将上述绘制的E-R图转化为相应的关系模式,并根据范式理论进行优化分析。要求的关系模式不少于 3个,并根据实际应用的需要设计必要的视图; (4)物理设计:根据设计的结构,说明系统已经有的索引,并根据需要设计必要的索引; (5)实施:以SQL SERVER为平台创建出完整的数据库.在数据库中要表现出的知识点包括 ①登录控制(标准登录和混合登录) ②数据完整性:参照完整性、实体完整性、自定义完整性(包括触发器) ③安全性设计:设置用户,并相应设计用户的权限或角色(用户设计至少3个,有不同的权限) ④使用触发器、游标或存储过程完成相关操作,至少使用1种技术。 (6)以上内容,请详细描述,并有必要抓图. 四、实验结果及分析 根据我设计的图书馆数据库管理系统,我作了如下分析: 图书馆提供图书借阅业务,读者借阅需先办理借书卡(用条码识别身份),并交纳一定的押金。不同的书有着不同的借阅期限,比如期刊和某些新书最多只能借阅七天,而另一些书则可以借阅半个月或最长三个月不等。逾期不还,或丢失、损坏书籍则予以罚款。在交纳罚款前,借书卡被冻结。不同类别的读者不着不同的借阅数量限制,比如有的一次可以借阅7本,有的只能借阅5本等。对逾期不还的,系统给出报警,并打印催还通知单。读者可以事先从网上查询拟借书刊是否存在,并可查询书刊存放地点。 我设计的图书管理系统,功能包括: 一.图书管理系统: 1.图书查询 2.新书登记 3.图书下架 二.读者信息管理: 1.办卡 2.信息 3.挂失 4.注销 5.冻结 三.借阅管理系统: 1.借书(还书)

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

操作系统文件管理实验报告

操作系统实验报告实验名称:文件管理 专业班级:网络工程1301 学号: 姓名: 2015 年6 月16 日

实验一文件管理 一、实验目的 文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、预备知识 1.VS2010的使用 2.C#的学习 3.文件主目录与子目录的理解 三、实验容与步骤 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 程序流程图:

逻辑设计: 使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。 物理设计: //主目录 private FileUser[] mfd; //当前用户 private FileUser currentuser; ///

/// 文件 /// public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; } /// /// 文件系统用户 /// public class FileUser { public string username;

浙江大学Linux程序设计实验报告

Linux程序设计实验报告1 ——操作系统基本命令使用 一、实验目的 1.通过对Emacs、vi、vim、gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法; 2.通过对常用命令mkdir、cp、cd、ls、mv、chmod、rm等文件命令的操作,掌握Linux操作系统中文件命令的用法。 二、实验任务与要求 1.emacs的使用,要求能新建、编辑、保存一个文本文件 2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 3.gedit的使用,要求能新建、编辑、保存一个文本文件 4.掌握mkdir、cd命令的操作,要求能建立目录、进入与退出目录 5.掌握cp、ls、mv、chmod、rm命令的操作,要求能拷贝文件、新建文件、查看文件、文件重命名、删除文件等操作。 三、实验工具与准备 计算机PC机,Linux Redhat Fedora Core6操作系统 四、实验步骤与操作指导 任务1.学习emacs的使用,要求能新建、编辑、保存一个文本文件 (1)启动emacs (2)输入以下C程序 (3)保存文件为kk.c (4)用emacs打开文件kk.c (5)修改程序 (6)另存为文件aa.txt并退出。 任务2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 (1)点击”应用程序”→ “附件”→“终端”,打开终端,在终端输入命令: [root@localhost root]#vi kk.c 按i键,进入插入状态。 (2)输入以下C程序 #include int main( ) {

printf(“Hello world!\n”); return 0; } 此时可以用Backspace、→、←、↑、↓键编辑文本。 (3)保存文件为kk.c 按Esc键,进入最后行状态,在最后行状态输入:wq保存文件,退出vi。 (4)用vi打开文件kk.c,输入命令: [root@localhost root]#vi kk.c (5)修改程序为: #include int main( ) { printf(" Hello world!\n"); printf("*****************\n"); return 0; } (6)按Esc键,进入最后行状态,在最后行状态输入:wq aa.txt保存文件,如图1所示,另存为文件aa.txt并退出vi。。 图1 程序编辑环境 任务3.gedit的使用,要求能新建、编辑、保存一个文本文件 (1)启动gedit,点击”应用程序”→ “附件”→“文本编辑器”,打开文本编辑器,如图所示。

C--大作业图书管理系统实验报告

附件1: 《面向对象程序设计》 大作业 题学专班姓目 院 业 级 名 学生成绩管理系统 文法学院 教育学 教育学1201 杨欣 指导教师鄢红国 2013 年12 月20 日学号:0121213640126

目录 一二三四五六七八十设计目的 (1) 大作业的内容 (2) 大作业的要求与数据 (3) 大作业应完成的工作 (4) 总体设计(包含几大功能模块) (5) 详细设计(各功能模块的具体实现算法——流程图) (6) 调试分析(包含各模块的测试用例,及测试结果) (7) 总结 (8) 参考资料 (9)

一二 大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 大作业的内容 对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数等) 进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出.将图书的信息进行记录,信息内容包含:(1)图书的编号(2)图书的书名(3)图书的库存量。假设,现收集到了一个图书馆的所有图书信息,要求用C语言编写一个简单的图书管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C语言实现系统; 2、对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出. 3、图书信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够 完成以下功能: (1)每一条记录包括一本图书的编号、书名、库存量 (2)图书信息录入功能:(图书信息用文件保存,可以一次完成若干条记录 的输入。) (3)图书信息显示浏览功能:完成全部图书记录的显示。 (4)查询功能:完成按书名查找图书记录,并显示。 (5)图书信息的删除:按编号进行图书某图书的库存量. (6)借书登记系统:可以输入读者编号和所借书号来借书。 (7)还书管理系统:可以输入读者编号和所借书号来还书。 (8)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应 尽可能清晰美观!

linux 实验报告 文件系统与文件管理

学生课程实验报告书课程:《linux网络操作系统》 级系 专业班 学号: 姓名: 指导教师:

一、实验项目:用户与组群管理 二、实验日期: 三、实验原理: 1.熟悉Linux下常用的操作指令。 2.加深对文件,目录,文件系统等概念的理解。 3.掌握Linux文件系统的目录结构。 4.掌握有关Linux文件系统操作的常用命令。 5.了解有关文件安全方面的知识。 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 进入虚拟机,并在此平台上练习文件管理有关命令.一般在[root @ localhost xxxx]$ 提示符下键入有关命令。 1.浏览文件系统 〈1〉运行pwd命令,确定你当前的工作目录。 〈2〉利用以下命令显示当前工作目录的内容:(理解各字段彻底意义。) 〈3〉运行以下命令:(反馈信息中.代表本身目录,..代表其父目录;选项a可以显示隐藏文件;选项i 可以显示文件的I节点号) ls –ai 〈4〉使用mkdir命令建立一个子目录subdir,并用ls查看当前目录。 〈5〉使用带-d选项的ls命令,你只能看到有关子目录的信息(.表示本身目录)。

〈6〉使用cd命令,将工作目录改到根目录(/)上。 ①用相对路径将工作目录改到根目录。 ②用绝对路径将工作目录改到根目录。 〈7〉使用ls命令列出根目录的内容,再分别列出各子目录的内容,体会各目录作用及访问权限。 〈8〉使用ls-l命令列出/dev的内容。 Ls –l /dev 列出/dev目录的内容,文件太多显示多屏,各行第一个字符为b的表示块特别文件;各行第一个字符为c的表示字符特别文件。 〈9〉使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什麽。 〈10〉使用命令cd ../..,你将工作目录移到什麽地方? 2.查看你的文件 〈1〉利用cd命令,将工作目录改到你的主目录上。 〈2〉将工作目录改到你的子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中。 Ls –l 反馈信息中有新文件 file1。请注意并记下文件长度为:

实验二M精编B程序设计含实验报告

实验二M精编B程序设 计含实验报告 The following text is amended on 12 November 2020.

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 21 421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

文件系统与文件管理

学生课程实验报告书课程:《Linux操作系统》 级系 专业班 学号: 姓名: 指导教师: 2012—2013学年第 2 学期

一、实验项目:文件系统与文件管理 二、实验日期:2011年11月21日 三、实验原理: 掌握文件系统的挂载与卸载;磁盘配额管理;文件的权限修改;文件的归档与压缩; 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 1.对/文件系统实施用户级配额管理,对普通用户hellen与jerry进行配额 管理,磁盘空间软配额为300M,硬配额为350M,文件数量配额为:软配额12个,硬配额为15个。写出配额的具体步骤,并测试用户级配额是否成功。 答案:首先,创建hellen和jerry两个用户,配额步骤如下: 1)使用任何文本编辑工具编辑/etc/fstab文件,对“LABEL=/”所在行进行修改,增加命令选项usrquota。 2)重启电脑或者输入mount –o remount / 重新挂载/ 3)利用quotacheck命令创建https://www.360docs.net/doc/9c4508925.html,er文件。 #touch https://www.360docs.net/doc/9c4508925.html,er #quotacheck –mc /home

4)edquota hellen ,编辑hellen用户的bolck的软配额为300M,硬配额为350M,inodes的软配额为12个,硬配额为15个,修改内容如下: block soft hard inodes soft hard 0 307200 358400 0 12 15 5)将同样的配额设定复制给jerry用户 # edquota -p hellen jerry 6)启动配额管理 #quotaon –avu 之后,对配额进行测试,发现当拷贝文档个数大于12个或者文件大小超过300M的时候,终端进行警告提示,当文件个数大于15个或者文件大小超过350M的时候,不能往/写入任何内容。 2.在桌面环境下,选中有个文件或文件夹进行相应权限的修改。 3.用chmod命令分别用数字模式和功能模式修改/root/install.log文件属性。 答案:功能模式下修改权限 1)增加同组用户写入:chmod g+w /root/install.log 2)增加其他用户写入:chmod o+w /root/install.log 3)增加文件所有者写入:chmod u+w /root/install.log 4)增加同组用户读:chmod g+r /root/install.log 5)增加其他用户读:chmod o+r /root/install.log 6)增加文件所有者读:chmod u+r /root/install.log

C程序设计上实验报告(完整版)

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017年3月6号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C 程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

图书馆管理信息系统实验报告完整版

图书馆管理信息系统实 验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

管理信息系统实验报告 系部名称:国际学院 专业名称:会计 班级:0911 姓名: 第一章图书馆管理信息系统的系统规划 图书馆管理项目开发背景及开发目的 传统的图书馆管理工作主要是由于书籍管理、借阅管理、图书管理查询。该工作主要由学校图书管理人员来完成。近年来,随着招生规模的持续壮大,图书馆的容量也不断增加,有关图书的各种信息量也成倍的增加。面对庞大的信息量,传统的人工式的管理导致工作繁重,人力物力过多的浪费,图书馆的管理成本高,然而工作效率却不高,工作质量也难以得到可靠的保证,从而影响了整个图书馆的运作及管理。 时代的进步,计算机越来越广泛的运用,原先主要由手工操作的图书管理,正在慢慢的由计算机代替,并且日益完善。图书管理系统就是为了解决和减轻繁琐的手工管理,使图书馆可以上升到一个完善的电子化,信息化管理。在全球信息化的今天,是同计算机进行生产和管理已经成为一种趋势。计算机可以为我们选择最优的方案来达到我们的要求。在图书馆这一环境中,使用计算机管理可以最大程度减少操作难度,减轻工作人员的劳动负担。实现“以人为本,科学管理,创建新型现代化学校图书馆”的目标 图书馆管理可行性分析 图书馆是图书馆管理系统是利用计算机技术使书籍管理、借阅管理、图书管理查询等有机的结合在一起方便图书管理人员进行统一高效率的管理。对于系统的结构特性设计,应遵循提高系统实用性和操作简便灵活性的设计的原则。在业务流程上遵循了手工管理时的操作流程,使学生很快掌握操作程序等。 经济性可行性研究

高级程序设计实验报告

高级程序设计 实验报告 班级 学号: 姓名: 实验名称: 指导老师: 日期:

实验十一文件和流I/O 一、实验题目:文件和流I/O 二、实验内容: 1.掌握磁盘的基本操作 2.掌握目录的基本操作 3.文件的基本操作 4.文本文件的读取和写入 5.字符串的读取和写入 6.二进制文件的读取和写入I 7. 二进制文件的读取和写入2 三、主要程序代码: 1. using System; using System.IO; using System.Collections.Generic; using System.Text; namespace实验1 { class Test { public static void Main() { DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives) { Console.WriteLine("Drive {0}", https://www.360docs.net/doc/9c4508925.html,); Console.WriteLine(" File type: {0}", d.DriveType); if (d.IsReady == true) { Console.WriteLine(" Volume label: {0}", d.VolumeLabel); Console.WriteLine(" File system: {0}", d.DriveFormat); Console.WriteLine(" Available space to current user:{0, 15} bytes",d.AvailableFreeSpace); Console.WriteLine("Total available space: {0, 15} bytes",d.TotalFreeSpace); Console.WriteLine( " Total size of drive: {0, 15} bytes ", d.TotalSize); } } Console.ReadKey();

图书管理系统实验报告

上海电力学院 信息网络技术课程设计报告 题目: 图书馆借阅系统 姓名:白志强 学号:20111946 院系:电子与信息工程学院 专业年级:电子信息工程2011级

2014 年12月 5 日

●摘要 在大学生活中,图书馆是我们常去的一个地方,因而图书馆的管理无疑是我们需要关注的一个问题。 现在很多学校图书馆的借阅工作部分还是手工管理,工作效率很低并且不能及时了解图书的种类和学生们比较需求的图书等,不能更好的适应当前学生的借阅要求。计算机信息化管理有着存储量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此利用计算机提供给我们的信息使学生们的借阅过程形成一整套动态的管理,能够极大提高图书馆理的效率,这也是学校的科学化,正规化管理。 图书借阅管理系统是一种信息管理系统,本系统采用数据库系统和VB平台,以https://www.360docs.net/doc/9c4508925.html, 为编程语言开发一个适合学校图书管理所需要的数据库管理软件。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。 ●实验目的 本课程设计的目的是综合应用https://www.360docs.net/doc/9c4508925.html,软件以及SQL数据库设计实现图书借阅系统。 ●设计环境 软件:VS2008,SQL Server2008 ●设计内容 基本要求:通过编程软件使系统可以进行管理员模块和用户使用模块。 管理员模块:添加图书,查询图书,查询用户,添加用户。 使用者模块:借阅图书,归还图书。 ●设计流程图 图书管理系统 用户界面管理者界面

设计步骤 建立数据库,新建表如图所示 打开表如图

相关文档
最新文档