成都信息工程大学计算机系
课
程
实
验
报
告
实验课程: | C语言程序设计基础 |
实验项目: | 图书管理系统 |
指导教师: | 李莉丽 |
学生姓名: | |
学生学号: | 20100 |
班 级: | 计算机科学与技术 |
实验地点: | 5201 |
实验时间: | 2011 年 5 月 18 日 |
实验成绩: | |
评阅老师: | |
| |
一【上机实验目的】
设计并实现该课程设计的目的主要在于:
1) 对一定规模的综合软件编程有一定的经历与认识。在做的过程中,你会发现,提前的规划即分析与设计重要过编程过程,否则会走很多弯。
2) 综合并结合现实应用使用C语言的知识。这个设计会用到C语言这门课的全部知识,其中以文件、数组与链表为主,书中提到的主要及重点算法都会使用到。
3) 不仅涉及编程,还涉及到功能分析、模块规划等方面的知识,这些知识在后续课程学习时,会经常使用。这些知识在学《软件工程》这门课时,会系统讲解。希望有了这次的经历,你能更好的体会《软件工程》这门课的意义,并能学好和用好其中的知识 。
4) 每项功能的实现,一般有多种方法,这里都强调使用时空效率最高的方法,此次实现只是让你有一个初步的认识,在下学期学习了《数据结构》后,你就知道为什么让你这样做,你也对《数据结构》这门课的作用及意义有所了解。
二【实验环境】
PC机每人1台
三【上机实验内容】
编写图书管理系统,具有以下基本功能
(1) 各种基本数据的录入。如:图书资料基本信息录入等。
(2) 各种基本数据的修改。即:允许对以及录入的数据重新进行编辑、修改。
(包打天下3) 各种基本数据的插入。如:在图书采购信息中插入一条新信息等。
(4) 各种基本数据的删除。如:假设某本书遗失且馆藏数为0,删除该书的相关信息等。
(5) 基于各种数据的查询。如:书名中含有“计算机”的所有书籍、全部借出的所有图书等。
(6) 基于各种基本数据的统计计算。
四【上机调试程序流程图】(注:可打印)
五【上机调试中出现的错误信息、错误原因及解决办法】
读写错误:fopen的时候改成用二进制读写.目前不知道为什么不用二进制不能读写.
六【上机调试后的源程序及还存在的问题】
#include <stido.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define Key_UP 72
#define Key_DOWN 80
#define Key_ENTER 28
#define Key_N 49
#define Key_Y 21
#define LEN sizeof(struct linklist)
typedef struct book1 /*图书基本信息结构体*/
{
char name[20];
char writer[30];
char type[20];
char num[20];
char time[20];
char press[20];
char edition[20];
char ISBN[40];
float price;
int count;
int lendnum;
}bbasic;
/*
图书资料基本信息:中图法分类号、图书编号、书名、作者(要考虑多个作者情况)、出版社、出版日期、ISBN、版次、定价、馆藏数、借阅数等。
*/
typedef struct book2 /*图书采购信息结构体*/
{
char name[20];
char writer[20];
char time[15];
int num;
float price;
float money;
char bill [30];
}bpurcha;
/*
图书采购信息:书名、作者、采购日期、采购数量、采购单价、采购金额、发票号码、图书编号等。
*/
typedef struct book3 /*图书借阅信息结构体*/
{
/***************需要输入的信息*********/
char name[20];
char person[20];
char company[20];
char num[20]; /*借书证号*/
char btime[15];
昼伏/**************运算可得信息************/
char rtime[15];
char fine[20];
}blend;
/*
图书借阅信息:借阅人、借阅人所在单位、借书证号、所借书名、借阅日期、归还日期、逾期罚款等。借阅期限为一个月,逾期1天,罚款1角。
*/
struct linklist
{
bbasic binfo;
struct linklist *next;
};
int key();
void menu();
void _window();
void words();
void box(int,int,int,int);
int _choo(int bot, int top);
void play(int);
int readsum();
void add();
void addbook();
void addbuy();
手机性能排行
void addborrow();
void manage();
struct linklist* create();
void modify();
void delete();
void inrt();
void arch();
雷锋的故事有哪些void archname();
void archwriter();
void orderw(bbasic binfo[100]);
void orderw(bbasic binfo[100]);
int halfn(int sum,bbasic binfo[100],char *find);
int halfw(int sum,bbasic binfo[100],char *find);
void sta();
void blist();
void bmoney();
int main(void)
{
menu();
}
void menu()
{
int y;
_window(); /*显示窗口*/
北京外国语分数线 words(); /*显示菜单文字*/
y = choo(7,19); /*光标*/
play(y); /*根据键盘值操作*/
炒包心菜}
void _window() /*窗口初始化*/
{
textbackground(BLUE);
textcolor(WHITE);
clrscr();
box(1,1,24,80);
}
void words() /*显示菜单文字*/
海带焯水多长时间{
textcolor(WHITE);
gotoxy(30,7);
textbackground(RED);
cprintf("Add Book info");
textbackground(BLUE);
gotoxy(30,10);
cprintf("Manage Book");
gotoxy(30,13);
cprintf("Search Book");
gotoxy(30,16);
cprintf("Book Statistic");
gotoxy(30,19);
cprintf("Exit");
gotoxy(35,22);
textcolor(LIGHTGRAY);
textbackground(BLUE);
cprintf(" Main Menu ");
gotoxy(25, 2);
textcolor(RED);
highvideo();
cprintf("The Library Managemnt Program");
normvideo();
}
void box(int x,int y, int high, int width) /*画方框*/
苦瓜怎么做好吃{
int i;
gotoxy(x,y);
putchar(0xda);
for (i = 1 ; i < width - 1; i++)
{
putchar(0xc4);
}
putchar(0xbf);
gotoxy(x, y + high - 3);