搜档网
当前位置:搜档网 › c语言图书管理系统实践报告

c语言图书管理系统实践报告

c语言图书管理系统实践报告
c语言图书管理系统实践报告

北京师大学分校

C程序设计实践报告题目:图书管理系统

学院信息技术学院

专业计算机科学与技术

学生姓名龙海恩,少彬,鑫,麦淑玲

指导教师姓名肖红玉

指导教师单位信息技术学院

2013 年 4 月11 日

1、题目与要求

编写一个图书管理系统,除了书上的功能之外,还要能做到读者借书还书,查看书籍排行榜,看到书籍的借阅记录和分类状况。

2、系统总体设计(要给出必要的文字说明及图示)

本报告中蓝色字体为我们小组新增的图书信息。

2.1功能需求分析(明确系统的功能需求)

(1)用户登录

(2)系统主控平台

(3)新增图书信息处理

(4)浏览图书信息处理

(5)查询图书信息处理

(6)删除图书信息

(7)保存图书信息处理

(8)普通用户借书信息处理

(9)普通用户还书信息处理

(10)普通用户可查看已借书籍

(11)查看排行榜

(12)新增用户信息

(13)查找用户

(14)查看所有用户

(15)保存用户信息

(16)退出

2.2系统功能模块划分(要给出系统功能模块图)

(1)登录系统

(2)增加图书信息

(3)浏览图书信息

(4)查找图书信息

((1))按书名查找

((2))按作者查找

((3))按出版社查找

((4))按出版日期查找

((5))按ISBN查找

((6))按图书类型查找

(5)删除图书信息保存图书信息

(6)图书排行榜

(7)新增用户信息

(8)查找用户信息

(9)更新用户信息(10)删除用户信息(11)保存用户信息(12)退出系统((1))管理员退出系统((2))普通用户退出系统

3、详细设计

本系统包括图书信息管理和用户管理两大面,程序有三大模块,有三个源程序文件(management.c、book.c、user.c)和三个头文件(management.h、book.h、user.h)。

其中book.c完成的是图书信息的管理,包括新增图书、浏览图书、查询图书、删除图书、保存图书功能。user.c完成的是用户信息的管理,包括新增用户、用户查询、保存用户等功能。

management.c完成的是用户登录,用户退出等功能。Main函数也在这一源程序中。

book.h中的容是图书信息的管理中涉及的常量、结构体的定义和相关函数的声明。

user.h中的容是用户信息的管理中涉及的常量、结构体的定义和相关函数的声明。

management.h中的容是菜单及退出函数的声明。

3.1重要数据的数据结构设计(即结构体的声明、变量的定义、文件)

一.头文件management.h

1.显示菜单函数声明

void show_admin_menu();

void show_search_book_menu();

void show_user_menu();

2.退出系统函数声明

void admin_exit();

void user_exit();

二.头文件book.h

1.常量定义

分别定义书名、出版社、出版日期、作者、ISBN、图书类型、借书读者、借阅图书的借阅量的最大长度。(蓝色字体为我们小组新增的图书信息。)

#define MAX_BOOK_NAME 20

#define MAX_PUBLISHER 20

#define MAX_DATE 10

#define MAX_AUTHOR 20

#define MAX_ISBN 20

#define MAX_SORT 10

#define MAX_BORROW_USER 20

#define MAX_BOOK_COUNT 10000

2.结构体类型定义

定义一个结构体类型_book_info,使用typedef 语句自定义一个新类型book_info,新类型中共11个成员,分别是书名、作者、出版社、出版日期、ISBN、页数、用于标记借书还书、图书类型、借阅次数、

借书读者、用于标记排行榜,用来描述图书的基本信息。

typedef struct _book_info

{

char book_name[MAX_BOOK_NAME];

char author[MAX_AUTHOR];

char publisher[MAX_PUBLISHER];

char pub_date[MAX_DATE];

char ISBN[MAX_ISBN];

int pages;

char borrow_size;

char sort[MAX_SORT];

int borrow_time;

char borrow_user[MAX_BORROW_USER];

int book_load_time;

}book_info;

定义一个结构体类型_book,使用typedef 语句自定义一个新类型book,其中成员有一个结构体变量bi和指向下一本图书的指针变量。(此结构是存储图书信息的链表。)

typedef struct _book

{

book_info bi;

struct _book* next;

}book;

3.函数声明

(1)主要处理函数声明

void init_book(); //图书模块初始化

void load_books(); //从图书文件中加载图书信息

void add_book(); //新增图书

void view_book(); //浏览所有的图书

void delete_book(); //删除图书

void save_books(); //调用将图书信息保存到文件函数,给出提示信息

void clear_books(); //从存中清除图书链表信息

void books_charts(); //排行榜

void update_book(); //更新图书

(2)图书查询函数声明

void search_book_by_name(); //按书名查询图书

void search_book_by_author(); //按作者查询图书

void search_book_by_publisher(); //按出版社查询图书

void search_book_by_pubdate(); //按出版日期查询图书

void search_book_by_isbn(); //桉书ISBN查询图书

void search_book_by_sort(); //桉图书类型查询图书

(3)辅助函数声明

void save_books_to_file(); //将图书信息保存到文件

book* get_last_book(); //得到图书链表的最后一个节点

book* get_previous_book(book* p); //取得图书链表的最后一个节点

void input_book(book_info* info); //输入一本图书信息

void show_book(book_info* info); //显示图书信息

void update_book_data(book_info* info); //更新图书信息

int findstr(char* , char*); //查找字符串

void borrow(book*); //普通用户借阅书籍

void _return(book*); //普通用户还书

void show_books_record(); //书的借阅记录标记

三.头文件user.h

1.常量定义

#define MAX_USERNAME 10

#define MAX_PASSWORD 10

定义一个枚举类型_USER_TYPE,使用typedef 语句自定义一个新枚举类型USER_TYPE,枚举类型可能取两种值,0是管理员,1是普通用户。

typedef enum _USER_TYPE

{

ADMIN = 0,

USER

}USER_TYPE;

2.结构体类型定义

定义一个结构体类型_user_info,使用typedef 语句自定义一个新类型user_info,新类型中共3个成员,分别是用户名,密码,用户权限,用来描述用户的基本信息。

typedef struct _user_info

{

char username[MAX_USERNAME];

char password[MAX_PASSWORD];

USER_TYPE user_type;

}user_info;

定义一个结构体类型_user,使用typedef 语句自定义一个新类型user,其中成员有一个结构体变量ui和指向下一个用户的指针变量。(此结构是存储用户信息的链表。)

typedef struct _user

{

user_info ui;

struct _user* next;

}user;

3.函数声明

(1)主要处理函数声明

void init_user(); //用户模块初始化

void load_users(); //从用户文件中加载用户信息

USER_TYPE login(); //用户登录,返回用户类型

void add_user(); //新增一个用户

void search_user(); //查找一个

void save_users(); //调用将用户信息保护到文件函数,给出提示信息void clear_users(); //从存中清除用户链表信息

void view_users(); //查看所有用户

(2)辅助函数声明

void save_users_to_file(); //将用户信息保存到文件

user* get_last_user(); //得到用户链表的最后一个节点

user* get_previous_user(user* p); //得到用户节点p的前一个节点

user* find_user(char* name); //从用户链表中按用户名查找一个用户信息void show_user(user_info* info); //显示一个用户信息

void input_user(user_info* info); //输入一个用户信息

void delete_user(user* p); //从链表中删除一个用户信息

void update_user(user* p); //更新一个用户信息

四.模块化设计management.c

2.函数指针数组admin_func存储的是管理员权限操作主菜单所对应的函数。

void (* admin_func[])() =

{

add_book,

view_book,

show_search_book_menu,

delete_book,

update_book,

save_books,

books_charts,

add_user,

search_user,

save_users,

view_users,

admin_exit

};

其他函数基本没多大改变,跟书中一样。

五.模块化设计book.c

1.预处理

增加了两个语句:

int charts[MAX_BOOK_COUNT] = {0}; //声明全局变量,排行榜extern char borrow_user[20]; //调用其他源文件已声明过的变量

2.主要处理函数

(1).查找图书的几个函数中:

void search_book_by_name();

void search_book_by_author();

void search_book_by_publisher();

void search_book_by_pubdate();

void search_book_by_isbn();

void search_book_by_sort();

均加了借书还书代码。

while (p != NULL)

{

if (findstr(p->bi.book_name, s) != -1)

{

show_book(&(p->bi));//显示查到的图书信息

if(strcmp(borrow_user,"admin") != 0)

{

if((p->bi.borrow_size) == 'N')

borrow(p);//在user.c中定义

else

_return(p);//在user.c中定义

save_books();

}

count++;

}

p = p->next;

}

if (count == 0)

{

printf(">没有找到图书%s。继续查找吗?(y or n):", s);

getchar();

input = getchar();

//continue;

}else{

printf(">共找到%d本图书...\n", count);

printf(">继续查找吗?(y or n):");

getchar();

input = getchar();

printf("..............................\n");

}

实现后截图为

(2)删除图书的代码为:

void delete_book()

{

int count=1; char input = 'Y';

char isbn[MAX_ISBN] = {0};

char first_isbn[MAX_ISBN] = {0}; book* p =

NULL;

book* result = NULL;

while (input == 'Y' || input == 'y')

{

printf(">删除图书...\n");

printf(">请输入ISBN(最大长度为%d):", MAX_ISBN);

scanf("%s", isbn);

p = first_book;

result = NULL;

while (p != NULL)

{

if (count)

strcpy(first_isbn,p->bi.ISBN);

if (strcmp(p->bi.ISBN, isbn) == 0)

{

result = p;

break;

}

count = 0;

p = p->next;

}

if (result != NULL)

{

show_book(&(result->bi));

printf(">确认删除吗?(y or n):");

getchar();

input = getchar();

if (input == 'y' || input == 'Y')

{

if (strcmp(first_isbn, p->bi.ISBN) == 0)

first_book = p->next;

else

get_previous_book(p)->next = p->next;

free(p);

}

}else

printf(">没有找到ISBN为%s 的图书。\n", isbn);

printf(">继续删除其他图书吗?(y or n):");

getchar();

input = getchar();

}

}

书中的这部分是代码是有错误的。在删除第一本书的时候会报错。加上if(count)来判断用户是否要删掉

第一本书。

(4)更新图书的代码:

void update_book()

{

char try_again = 'Y';

book* p = NULL,*ch;

char s[MAX_BOOK_NAME] = {0};//书名

while (try_again == 'Y' || try_again == 'y')

{

p = first_book;

ch = first_book;

printf(">更新图书...\n");

printf("请输入要更新图书的书名(最大长度为%d):", MAX_BOOK_NAME);

scanf("%s", s);

while(p != NULL)

{

if(strcmp(s,p->bi.book_name) == 0)

break;

p = p->next;

}

if(p != NULL){

while(ch != NULL)

{

if(strcmp(ch->bi.borrow_user,"NULL") != 0)

break;

ch = ch->next;

}

if(ch == NULL)

update_book_data(&p->bi);

else

printf("改图书已被借出,不能更新!!");

}

else

printf("未找到改图书");

printf(">继续更新图书吗?(y or n):");

getchar();

try_again = getchar();

}

}

(5)排行榜

void books_charts(){

book *p = NULL,*q;

p = first_book;

int i,j,k,temp = 0;

char input = 'Y';

for(i = 0;p != NULL;i++)

{

charts[i] = p->bi.borrow_time;

p->bi.book_load_time = 1;

p = p->next;

}

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

{

for(k = j+1;k < i;k++)

{

if(charts[k] > charts[j])

{

temp = charts[k];

charts[k] = charts[j];

charts[j] = temp;

}

}

}

while(input == 'y' || input == 'Y')

{

k = 0,j = 0;

q = first_book;

printf("排行榜:\n");

printf("+-----------------------------------------------------+\n");

printf("| 名次| 书名| 被借次数|\n");

printf("+-----------------------------------------------------+\n");

while(k < i)

{

while(q != NULL)

{

if (q->bi.borrow_time == charts[k] && q->bi.book_load_time == 1)

break;

q = q->next;

}

printf("|%7d. | %-21s|%8d |\n",k+1,q->bi.book_name,q->bi.borrow_time);

printf("+-----------------------------------------------------+\n");

q->bi.book_load_time = 2;

q = first_book;

k++;

}

printf("要继续查看排行榜么?(要y 不要n)\n");

getchar();

input = getchar();

while(q != NULL)

{

q->bi.book_load_time = 1;

q = q->next;

}

printf("...............................");

}

}

3.辅助函数

在show_book中增加了部分显示图书的借阅状态,即被谁借了,借阅次数。

if(info->borrow_size == 'N'){

printf("借阅状态:未被借出\n");

//printf("%s",info->borrow_user);

}

else{

if(strcmp(borrow_user,info->borrow_user) != 0)

printf("借阅状态:已被借出\n");

if(strcmp(borrow_user,info->borrow_user) == 0)

printf("借阅状态:你借了该图书\n");

if(strcmp(borrow_user,"admin") == 0)

printf("借阅者:%s\n",info->borrow_user);

}

printf("被借总次数:%d\n",info->borrow_time);

//if(strcmp(info->borrow_user,"NULL") == 1)

printf("..............................\n");

六.模块化设计user.c

1.预处理增加声明两个语句:

extern book* first_book;

char borrow_user[20];

2.主要处理函数

(1)在删除用户函数中,即void delete_user,增加了一个条件,即当要删除的用户中有借书记录时,不得删除。并作出提示。

void delete_user(user* p)

{

char input_char = 'N';

book *q = first_book;

user* previous = NULL;

int count = 0;

printf(">确定要删除用户[%s] 吗?(y or n):", p->https://www.sodocs.net/doc/fb5605075.html,ername);

getchar();

input_char = getchar();

while(q != NULL)

{

if(strcmp(q->bi.borrow_user,p->https://www.sodocs.net/doc/fb5605075.html,ername) == 0)

{

count++;

}

q = q->next;

}

if(count == 0)

{

if (input_char == 'Y' || input_char == 'y')

{

previous = get_previous_user(p);

previous->next = p->next;

free(p);

p = NULL;

}

}

else

{

printf("该用户有借书记录,不得删除!!!");

}

}

(2)新增一个,能查看所有用户的函数,即void view_users,代码如下:

void view_users()

{

char try_again = 'Y';

/*printf("%s",p->next->next->next->https://www.sodocs.net/doc/fb5605075.html,ername);

getchar();

getchar();*/

//p = p->next;

while (try_again == 'Y' || try_again == 'y')

{

user* p = first_user;

p = p->next;

printf("+---------------------------------+\n");

printf("| 账号| 密码|\n");

printf("+---------------------------------+\n");

while(p != NULL)

{

printf("| %-10s| %-10s|\n",p->https://www.sodocs.net/doc/fb5605075.html,ername,p->ui.password);

printf("+---------------------------------+\n");

p = p->next;

}

printf("需要再次查询用户信息么?要y 不要n:");

getchar();

try_again = getchar();

printf("----------------------------------\n");

}

}

(3)普通用户借书功能函数,即void borrow,代码如下:

void borrow(book* p)

{

char sure = 'N';

printf(">确定要借阅吗?(y or n)");

getchar();

sure = getchar();

if(sure == 'y' || sure == 'Y')

{

p->bi.borrow_size = 'Y';

p->bi.borrow_time++;

strcpy(p->bi.borrow_user,borrow_user);

}

}

(4)普通用户还书功能函数,代码如下:

void _return(book* p)

{

char sure = 'N';

if(strcmp(borrow_user,p->bi.borrow_user) == 0)

{

printf(">确定要还书吗?(y or n)");

getchar();

sure = getchar();

if(sure == 'y' || sure == 'Y')

{

p->bi.borrow_size = 'N';

strcpy(p->bi.borrow_user,"NULL");

}

}

}

(5)查看读者本人已借书籍,代码如下:

void show_books_record()

{

book* p = NULL;

char input = 'Y';

while (input == 'y' || input == 'Y')

{

p = first_book;

printf("+------------------------------------------------+\n");

printf("| 书名| 作者|\n");

printf("+------------------------------------------------+\n");

while (p != NULL)

{

if(strcmp(p->bi.borrow_user,borrow_user) == 0)

{

printf("|%24s|%23s|\n", p->bi.book_name, p->bi.author);

printf("+------------------------------------------------+\n");

}

p = p->next;

}

printf(">再次查阅已借书籍吗?(y or n):");

getchar();

input = getchar();

}

}

3.2函数的规划和设计(即根据分析需要设计哪些函数及其之间的调用关系)主菜单上对应的选项分别对应着各个函数,写成一个函数把菜单上的各个

函数包括起来。这样的函数有:

void (* admin_func[]),调用着add_book;view_book;

show_search_book_menu;delete_book;update_book;

save_books;books_charts;

add_user,;search_user;save_users;

view_users;admin_exit;

void (* admin_search_book_func[]),调用着search_book_by_name,

search_book_by_author, search_book_by_publisher,

search_book_by_pubdate, search_book_by_isbn, search_book_by_sort

void (* user_func[]),调用着view_book,

show_search_book_menu, show_books_record, books_charts,

user_exit;

(2)在查找图书中,无论是按什么式查找,都调用了void borrow

(book* p)和

void _return(book* p)两个函数,即在读者每次查找完书之后,都询问

“是否借书”,“是否还书”的过程。

在退出系统的时候,管理员和用户的退出是不一样的,在管理员退出的时

候,有admin_exit,调用的函数是save_users_to_file();

clear_users(); save_books_to_file(); clear_books

(); exit(0);

而用户退出的时候,调用的是clear_users(); clear_books

(); exit(0);

3.3主控模块(main函数)的流程分析与设计(要画出主函数的流程图)

3.4主要功能模块的流程分析与设计(分别画出各主要功能模块实现的流程图)(1)普通用户登陆

N N N

C语言实训报告

C语言程序设计 实训报告 题目:红外避障机器人 院(系):信息工程系 专业:通信工程 学生姓名:韦嘉宝 学号: 24 指导教师:朱震周斌王旬全刘辉 2016 年10月8 日 目录 摘要 (1) 设计要求 (2) 设计步骤 (3) 代码编写 (4) 心得体会 (5) 参考文献 (6)

许多机器人使用雷达(RADAR)或者声纳(SONAR)来探测物体而不需要同物体接触。本文的方法是使用红外光来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。由于红外遥控技术的发展,现在红外线发射器和接收器已经很普及并且价格很便宜。 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能小车。 机器人使用红外线二极管LED 作为前灯,如图6-1 所示。红外线二极管发射红外光线,如果机器人前面有障碍物,红外线从物体反射回来,相当于机器人眼睛的红外检测(接收)器,检测到反射回的红外光线,并发出信号来表明检测到从物体反射回红外线。机器人的大脑——单片机A T89S52 基于这个传感器的输入控制伺服电机。红外线(IR)接收/检测器有内置的光滤波器,除了需要检测的980 nm 波长的红外线外,它几乎不允许其他光通过。红外检测器还有一个电子滤波器,它只允许大约38.5 kHz 的电信号通过。换句话说,检测器只寻找每秒闪烁38500 次的红外光。这就防止了普通光源像太阳光和室内光对IR 的干涉。太阳光是直流干涉(0Hz)源,而室内光依赖于所在区域的主电源,闪烁频率接近100 Hz 或120 Hz。由于120 Hz 在电子滤波器的38.5 kHz 通带频率之外,它完全被IR 探测器忽略。 本任务将搭建并测试红外线发射和检测器对。本讲需要用到的新部件如下: 元件清单 (1)红外检测器,2 个。 (2)IR LED(带套筒),2 个。 (3)470? 电阻,2 个。 (4)连接线,若干。 二、设计要求 (1)小车能够完成前进、后退、左转、右转等动作。 (2)机器人能够读出传感器电平变化,并作相应的动作变化。 (3)利用机器人所装配的两个探测器,探测和避开障碍物。 三、设计步骤

c语言实践报告

实 验 报 告 二级学院:信息与工程学院 系别:计算机科学与技术系 专业:信息管理与信息系统 课程名称:高级语言程序设计 班级:姓名: 实验名称: 电话订餐信息处理 实验目的: 题目要求: 一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?首先,需要准备一张大小适当的白纸,等待顾客的电话。李红最先打进了电话,她预约第2天中午12点用餐,用餐人数5人,服务员在纸上做了如下记录:“李红 12点 5人”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是: 李红 12点 5人 刘娜 11点 2人 汪涵 11点20分 3人 孙杰 10点30分 5人 赵君 13点20分 6人 孙杰随后又来电话,将用餐时间推后一个小时,那么记录的内容也应该做相应的修改。刘娜来用餐以后,可以将其信息从纸上划去 编写程序处理电话订餐的情况

实验步骤: 首先建立结构体类型,然后函数声明,编写主函数,定义函数,调用函数。完成后,对程序进行调试,确定所编写的程序是否能够运行。 实验内容: #include<> #include<> #define max 30 struct guest { intnum; char name[40]; char time[20]; int sum; }guestlink[max]; void insert(int *p); void inquire(int); void change(int); void dele(int *p); void show(int); void main() { inti; int count=0; do {0 printf("1.......插入\n"); printf("2.......查询\n"); printf("3.......修改\n"); printf("4.......删除\n"); printf("5.......显示\n"); printf("6.......退出\n"); scanf("%d",&i); switch(i) { case 1: insert(&count);break; case 2: inquire(count);break; case 3: change(count);break; case 4: dele(&count);break; case 5: show(count);break; case 6:break; default:printf("输入错误!");break; } }while(i!=6); }

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

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

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

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

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

(完整word版)图书管理系统设计实习报告

实习报告 专业软件工程2班 姓名刘煜 学号0701******** 指导教师王松 时间 2010年10月8日

目录 一图书馆图书借阅管理系统规划 1.1绪论 (3) 1.2图书馆系统分析及功能论述 (3) 1.3 图书借阅系统可行性分析 (4) 二图书管理系统分析 2.1 系统组织结构与功能分析 (5) 2.2 业务流程分析 (5) 2.3 数据流程分析 (6) 三图书管理系统设计 3.1 系统设计的任务及原则 (9) 3.2 代码设计 (9) 3.3 数据库设计 (10) 3.4输入输出设计 (11) 3.5物理配置方案设计 (13) 四系统评价 4.1图书管理系统系统优点 (14) 4.2图书管理系统缺点 (14) 五总结 一图书管理系统规划

1.1绪论 2010年的今天是一个信息高度发达的时代,伴随着科技的进步,文化的汲取,人们对于图书信息的了解与掌握也达到了一定的高度。尤其是学生对于知识的渴求更是与日俱增。图书馆作为学生学习知识的重要场所,作为信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。介于这一现象,我们对于图书馆的借阅管理系统进行了全面的分析处理,在信息高速发展的今天,促使图书馆管理运用网络技术,通过信息系统的开发,在图书馆之间互通有无,有利于提高图书的利用率。 本次系统分析设计以中国计量学院的图书馆为原型对其图书其中的借阅系统进行分析,逐步体现图书馆的信息管理现状,及其日后的改进方案的提供。 1.2图书馆系统分析 “图书馆借阅管理信息系统”的主要功能有:读者登陆、图书借阅、图书采编、读者信息管理和系统维护。系统功能如下图1.2.1: 图书管理信 读者登陆系统维护图书采编图书借阅用户管理口令修改图书编目图书典藏图书征订 图1.2.1 系统组织结构图 各子系统功能如下所述: 读者登陆 读者访问系统时系统将检验读者的名字和密码,经过注册的读者允许进入系统。 图书借阅系统 读者查找到所需图书后,在图书保留期内到图书馆办理借阅手续。图书借阅系统处理图书借阅、还书、续借等手续。 图书采编体统 图书采购入库,经过编目等处理后,将其目录信息存入数据库,提供给读者检索适用。目录信息包括图书编号、图书类别、书名、作者、出版社、定价、出版日期和数量等。 系统维护模块

C语言实习报告

C语言实习报告(用链表实现学生学籍管理)

绪言 C语言使国内外广泛使用的一种计算机语言。C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好。既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合编写系统软件。 在经过一整个学期的C语言理论学习,我们已经能够掌握其基本语法,但是缺乏一定的实际运用的能力。为了让我们更好的理解和运用其解决实际问题,并且对结构化程序有更进一步的认识,学校组织了这一次C语言实习。 实习中,我们将按要求完成一个较为复杂的程序编写——学生学籍管理程序。 实习基本内容和要求: 1、总体功能要求 (1)链表的建立:每个节点包括:学号、姓名、性别、语文、数学、英语、总分; (2)节点的插入:按学号的顺序插入; (3)删除链表中的节点:按学号或者姓名; (4)链表的输出:按学号排序、按总分排序。 2、性能的要求: (1)各个功能分别用函数实现;

(2)节点信息让用户通过键盘输入 (3)总分通过计算获得; (4)有简单的操作界面; 尽可能考虑程序的容错性、可操作性。 教材和主要参考书目: (1)教材:《C程序设计》,谭浩强编著,清华大学出版社(2)主要参考书目: ①《C程序设计教程》,谭浩强编著,清华大学出版社; ②《C语言程序设计——习题与实验指导》,谭浩强编著,清华大学出版社。实习过程: 我们将有5天的时间完成一个程序和一份实习报告。 1、我们要根据题目的要求进行需求分析和资料整理;(1天) 2、我们利用资料、教材和寻求他人帮助完成详细设计;(注: 关键部分解释说明)(3天) 3、完成一份对自己程序详细描述与解释的报告。(1天)

图书管理系统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 个方面描述如何将模型自身组织到高层 单元,在模型管理视图中适用,采用的图形是类图。建模的工作集中在前两 方面,而且并非所有图形元素都适用或需要采用

图书管理系统实习报告

图书管理系统实习报告 篇一:图书管理系统实训报告 淮南联合大学计算机系 课程实训报告书 实训科目: 图书管理系统 专业班级:11级计算机应用技术 学号: 20118031139 姓名: 吕昌盛 实训时间: 2012-12-18 一、课程实训目的 《JA V A Web开发》课程实训是计算机应用技术专业集中实践性环节之一,是学习完《JA V A语言程序设计》课程后,继续学习《Java Web开发》进行的一次全面的综合练习,其目的是为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,提高学生使用JA V A进行项

目开发及程序调试能力。 二、课程实训内容 利用《JA V A语言程序设计》及《Java Web开发》课程中所学到的编程知识和编程技巧,独立完成下列任务之一: 1、电子购物网站系统开发。 2、图书管理系统开发。 三、课程实训要求 1.对系统进行功能需求分析;2.设计合理的数据结构和系统框架;3.程序功能齐全,能正确运行; 4.课程实训完成后必须按要求提交课程实训报告。 四、实训过程 篇二:图书管理系统实训综合报告 实训项目设计报告 题目:“xxxxx”网上书店 实训课程 指导教师: 姓名: 专业: 起止日期:信息系统数据库设计

实训xxxx xxx 学号:xxxxxx计算机软件班级:08计软2011年5 月 1 日至2009 年5月16 日 计算机教研室制 目录 第一章绪论................................................................. (3) 第二章系统分析............................................................... . (3) 需求分析............................................................... . (3) 项目规划............................................................... (3) ● 经济性............................................................... . (4) 第三章ASP技术简介...............................................................

C语言实习报告

设计报告 一,实验目的: 通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过 实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知 识点。 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上 机实习可以帮助我们更好地理解这种结构式的 中级语言以及其各式各样的数据类型和高效率 的运算程序,为我们进一步学习C++打下坚实基 础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其 他人容易犯的错误,从而在今后的学习中更加谨 慎,达到事半功倍的效果;通过询问老师,也让 我们养成了不耻下问的好习惯,这将很有利于以 后的学习。 闲乐-一个人闲。不如大家一块儿乐https://www.sodocs.net/doc/fb5605075.html,

二,总体设计: 1,学生成绩排名 1,流程图: <通过冒泡法对数组进行排序> <测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>

2,程序: #include int main() { int a[11],i,j,t,b,c,temp1,temp2,temp3; //定义一个数组a[11],用以存放学生的成绩 printf("从键盘输入10个学生成绩:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); //输入10个学生成绩 for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]

图书馆管理系统实验报告

华北科技学院计算机系综合性实验 实验报告 课程名称数据库系统 实验学期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.借书(还书)

数据库图书管理系统实训报告

《数据库原理》 集中实训报告 系统名称: 专业: 班级: 学号: 姓名: 指导教师: 2014 年 6 月17 日

目录 1、前言 (1) 1.1 课题简介 (1) 1、开发系统的名称: (1) 2、实训目的: (1) 3、实训意义: (1) 4、实训容: (1) 5、实训预期实现效果: (1) 1.2 方案及其论证 (1) 2、需求分析 (1) 2.1可行性分析 (2) 2.2系统功能分析 (2) 1、系统功能结构图 (2) 2、系统功能分析 (2) 3、概念模型设计 (3) E-R图 (3) 4、逻辑模型设计 (4) 关系模型 (4) 5、详细设计 (4) 5.1建立数据库代码 (4) 5.2建立前台界面以及其代码 (7) 6、总结 (14) 7、参考文献 (15)

1、前言 1.1 课题简介 1、开发系统的名称: 图书管理系统 2、实训目的: 通过本次实训,应熟悉并掌握数据库系统开发的基本方法,对理论教学中所讲的知识和基本概念有更进一步的理解,培养和提高实践操作能力,为今后从事计算机数据库系统的研究、开发、应用提供必要的准备。 3、实训意义: 利用这次的实训,提高学生对理论知识的理解能力和实践技能。熟练掌握SQL语句的使用,掌握分析和设计数据库的方法,会结合高级程序设计语言完成数据库系统的实现过程,培养学生的自学能力和创新能力。 4、实训容: ①需求分析:可行性分析、系统功能设计 ②概念模型设计 ③逻辑结构设计:关系模式、规处理、视图设计 ④详细设计:建立前台界面 ⑤调试并运行 5、实训预期实现效果: 通过此次实训,学生能够熟练的建立数据库,并在VS开发环境下编写管理系统。编写成功的图书管理系统,能进行图书的查询、借阅、归还等简单的基本操作。 1.2 方案及其论证 语言: SQL+VB 运行环境:Microsoft Visual Stdio 2010 2、需求分析

c语言实习报告

实习报告 实习性质: C语言课程实习 学生姓名:谢辉 专业班级:信安141 指导教师:郑晓蓉、杨娟 实习时间:2014年12月22日- 2014年12月26日 实习地点:1203 重庆工程职业技术学院 学生实习考核表 三号黑体行距:固定

目录 1实习目的..................................................... 2 实习概况..................................................... 2.1 实习要求 ............................................... 2.2 实习时间 ............................................... 2.3 实习环境 ............................................... 2.4 开发环境 ............................................... 3 实习内容..................................................... 3.1 系统需求分析 ........................................... 3.2 程序设计 ............................................... 3.2.1程序的初始界面..................................... 3.2.2成绩的输入......................................... 3.2.3成绩的查询......................................... 3.2.4各科成绩的排序..................................... 3.4.5总成绩排序.........................................

最新大学生c语言程序设计实训报告总结

大学生c语言程序设计实训报告总结 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便,,小编整理了大学生c语言程序设计实训报告总结,希望能帮助到您。 大学生c语言程序设计实训报告总结一 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言。掌握了C语言,可以说你就掌握了很多门语言。 学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。 在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,

并总结了一点经验: 要了解C语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。比如说IFELSE和SWITCHCASE这两种条件语句都是用来判断执行功能的,那我要什么时侯用IF什么时侯用SWITCH 呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选SWITCH 而不会选IF。因为如果条件分支太多时要用IF语句,这样一定会出现IF的嵌套,如果IF的嵌套越多时程序的开销就会随着增大,这样对整个程序的运行效率就大在降底。而SWITCH就不同,它只要比较一次就可以找出条件的结果比起嵌套IF它的效率就大大的提高了很多。不过SWITCH也有它的约束条件,就是它的条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时我们也会通常使用IF语句,毕竟IF语句它使用起来也比较方便用的范围也比较广。所以说了解语法规则是很重要的,如果没有一个良好的语法基础是很难编出一个好的程序!学习好基础后我们就可以开始来编程了。 大学生c语言程序设计实训报告总结二

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)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应 尽可能清晰美观!

C语言程序设计实习报告

手机通讯录管理系统一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。 具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、 电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出 此类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消 录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 ◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编 号。 系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录

二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。 系统功能模块图: 输入新信息:可输入新的数据。 添加:可以添加通讯录记录,依次输入姓名、电话号码、分类、电子邮箱后,会提示是否继续添加。 删除:输入姓名删除,输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可按1、办公类2、个人类3、商务类分类查询 修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、分类、电子邮箱即可完成修改。 下面就是总的程序流程图:

c语言课程设计总结

c语言课程设计总结 c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。 透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 c语言课程设计总结(二): 经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。 课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。 课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我必须要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我必须能把C语言学好。

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

C语言实训课程学习总结

C语言实训课程学习总结 在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时间中,我们同组的 同学共同的感受是:C语言实训和平时上课所接触的程序是有很大 不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同 组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言 实训的复杂程序。在这里,我作为其中的参与者,感触良多。 在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功, 让我对下面的项目就充满信心。通过自己与同学合作编写程序,最 终把最初的理论知识转化基本技能。这次的实训,使我对C语言的 学习产生浓厚的兴趣。 还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体 会到了老师认真负责的伟大的精神和热情为同学指导的促学方式, 虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但 是到了结束时才知道,这种教学让我们自己学会了自学,学会了去 看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了 教室,在讲课中海给我们分享他在公司上班的一些心得和体会,还 有那些我们应该注意的事项,这些是平时上课时无法学到的,是更 深层次的巨大收获。 通过这次实训,也使我们发现了许多问题。 在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错 误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的 变态,以后要克服,尽量保持一颗良好的心态,学好C语言,也学 好用C语言编写一个按要求的系统。

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

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

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

c语言图书管理系统实践报告

北京师大学分校 C程序设计实践报告题目:图书管理系统 学院信息技术学院 专业计算机科学与技术 学生姓名龙海恩,少彬,鑫,麦淑玲 指导教师姓名肖红玉 指导教师单位信息技术学院 2013 年 4 月11 日

1、题目与要求 编写一个图书管理系统,除了书上的功能之外,还要能做到读者借书还书,查看书籍排行榜,看到书籍的借阅记录和分类状况。 2、系统总体设计(要给出必要的文字说明及图示) 本报告中蓝色字体为我们小组新增的图书信息。 2.1功能需求分析(明确系统的功能需求) (1)用户登录 (2)系统主控平台 (3)新增图书信息处理 (4)浏览图书信息处理 (5)查询图书信息处理 (6)删除图书信息 (7)保存图书信息处理 (8)普通用户借书信息处理 (9)普通用户还书信息处理 (10)普通用户可查看已借书籍 (11)查看排行榜 (12)新增用户信息 (13)查找用户 (14)查看所有用户 (15)保存用户信息 (16)退出 2.2系统功能模块划分(要给出系统功能模块图) (1)登录系统 (2)增加图书信息 (3)浏览图书信息 (4)查找图书信息 ((1))按书名查找 ((2))按作者查找 ((3))按出版社查找 ((4))按出版日期查找 ((5))按ISBN查找 ((6))按图书类型查找 (5)删除图书信息保存图书信息 (6)图书排行榜 (7)新增用户信息

(8)查找用户信息(9)更新用户信息(10)删除用户信息(11)保存用户信息(12)退出系统((1))管理员退出系统((2))普通用户退出系统

3、详细设计 本系统包括图书信息管理和用户管理两大面,程序有三大模块,有三个源程序文件(management.c、book.c、user.c)和三个头文件(management.h、book.h、user.h)。 其中book.c完成的是图书信息的管理,包括新增图书、浏览图书、查询图书、删除图书、保存图书功能。user.c完成的是用户信息的管理,包括新增用户、用户查询、保存用户等功能。 management.c完成的是用户登录,用户退出等功能。Main函数也在这一源程序中。 book.h中的容是图书信息的管理中涉及的常量、结构体的定义和相关函数的声明。 user.h中的容是用户信息的管理中涉及的常量、结构体的定义和相关函数的声明。 management.h中的容是菜单及退出函数的声明。 3.1重要数据的数据结构设计(即结构体的声明、变量的定义、文件) 一.头文件management.h 1.显示菜单函数声明 void show_admin_menu(); void show_search_book_menu(); void show_user_menu(); 2.退出系统函数声明 void admin_exit(); void user_exit(); 二.头文件book.h 1.常量定义 分别定义书名、出版社、出版日期、作者、ISBN、图书类型、借书读者、借阅图书的借阅量的最大长度。(蓝色字体为我们小组新增的图书信息。) #define MAX_BOOK_NAME 20 #define MAX_PUBLISHER 20 #define MAX_DATE 10 #define MAX_AUTHOR 20 #define MAX_ISBN 20 #define MAX_SORT 10 #define MAX_BORROW_USER 20 #define MAX_BOOK_COUNT 10000 2.结构体类型定义 定义一个结构体类型_book_info,使用typedef 语句自定义一个新类型book_info,新类型中共11个成员,分别是书名、作者、出版社、出版日期、ISBN、页数、用于标记借书还书、图书类型、借阅次数、借书读者、用于标记排行榜,用来描述图书的基本信息。

相关主题