c++图书管理系统_轻松学做C语言课程设计:图书管理系统-数组实现
时间: 2023-09-08 21:07:35 浏览: 117
很高兴为您解答问题。您的问题是关于C++图书管理系统的,那么我将为您提供一种基于数组实现的C语言课程设计方案。
首先,我们可以定义一个结构体来表示每一本书的信息,包括书名、作者、出版社、出版日期、价格等等。例如:
```
struct Book {
char name[50];
char author[50];
char publisher[50];
char date[20];
float price;
};
```
然后,我们可以定义一个数组来存储所有的书籍信息,例如:
```
Book books[100];
```
接下来,我们可以实现一些基本的功能,如添加书籍、删除书籍、查询书籍等等。下面是一个简单的添加书籍的函数实现:
```
void addBook() {
Book book;
printf("请输入书籍信息:\n");
printf("书名:");
scanf("%s", book.name);
printf("作者:");
scanf("%s", book.author);
printf("出版社:");
scanf("%s", book.publisher);
printf("出版日期:");
scanf("%s", book.date);
printf("价格:");
scanf("%f", &book.price);
// 将新书籍加入数组
books[num] = book;
num ++;
printf("添加成功!\n");
}
```
其中,num表示当前已经有多少本书籍被添加进来了。
除了添加书籍外,我们还可以实现删除书籍的功能,例如:
```
void deleteBook() {
char name[50];
printf("请输入要删除的书籍的书名:");
scanf("%s", name);
int flag = 0;
for (int i = 0; i < num; i++) {
if (strcmp(books[i].name, name) == 0) {
// 找到了要删除的书籍,将其移出数组
for (int j = i; j < num - 1; j++) {
books[j] = books[j+1];
}
num --;
flag = 1;
printf("删除成功!\n");
break;
}
}
if (!flag) {
printf("未找到该书籍!\n");
}
}
```
最后,我们可以编写一个主函数,提供一个简单的菜单供用户选择不同的功能,例如:
```
int main() {
while (1) {
printf("请选择功能:\n");
printf("1.添加书籍\n");
printf("2.删除书籍\n");
printf("3.查询书籍\n");
printf("4.退出系统\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
addBook();
break;
case 2:
deleteBook();
break;
case 3:
searchBook();
break;
case 4:
return 0;
default:
printf("输入有误,请重新输入!\n");
}
}
return 0;
}
```
以上是一个简单的C语言课程设计方案,基于数组实现的图书管理系统。希望能对您有所帮助!
阅读全文