C语言求高手 在线等 50分
小型图书管理系统设计功能:实现某班级的图书信息管理,图书的基本信息包括书号、书名、作者、单价、数量和简介(50字内)等。
基本要求:
1设计简单的菜单,能够进行系统功能选择。
2实现信息的录入功能。
3在已有信息的基础上添加新的记录。
4删除指定书号的记录。
5修改指定书号的记录
6实现信息的浏览功能
7按书号查询功能
8按单价排序功能
追问:有空时间不 追问几个问题 30一个问 根据代码画程序流程图
追问:有空时间不 追问几个问题 30一个问 根据代码画程序流程图
答案:
以前自己用C做的,没什么大问题,C++的话,稍微改一下就可以.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct book{
char booknum[5];
char bookname[20];
char bookcreat[10];
struct book *next;
}BOOK;
BOOK *jllb();
void init(BOOK *head);
void xxll(BOOK *head);
void cxts(BOOK *head);
void xgts(BOOK *head);
void del(BOOK *head);
void cd();
void lb(BOOK *head);
BOOK *jllb()
{
BOOK *head;
head=(BOOK *)malloc(sizeof(BOOK));
head->next=NULL;
return head;
}
void save(BOOK *head)
{
BOOK *p;
FILE *fp;
fp=fopen("books.txt","w");
fprintf(fp,"| 书号 | 书名 | 作者 |\n");
for (p=head;p!=NULL;p=p->next)
{
fprintf(fp,"|%s|%s|%s|\n",p->booknum,p->bookname,p->bookcreat);
}
fclose(fp);
printf("OK!");
}
void init(BOOK *head)
{
BOOK *p,*s,*q;
char ch='y';
for (p=head;p->next!=NULL;p=p->next);
q=p;
while(ch){
s=(BOOK *)malloc(sizeof(BOOK));
printf("\nBookNum:\n");
scanf("%s",s->booknum);
printf("BookName:\n");
scanf("%s",s->bookname);
printf("BookCreat\n");
scanf("%s",s->bookcreat);
p->next=s;
p=s;
save(head);
printf("\n继续添加?\n");
printf("Y or N:");
fflush(stdin);
scanf("%s",&ch);
if(ch!='y'){
printf("您输入的信息:\n");
printf("| 书号 | 书名 | 作者 |\n");
for (p=q->next;p!=NULL;p=p->next)
printf("|%s|%s|%s|\n",p->booknum,p->bookname,p->bookcreat);
cd();
lb(head);}}
return;
}
void xxll(BOOK *head)
{
BOOK *p;
char ch;
if(head->next==NULL||head==NULL)
{printf("\n ━━━━ 没有图易做图录! ━━━━\n\n");
printf("是否添加?'Y' or 'N'");
scanf("%s",&ch);
if (ch=='y') init(head);
else {cd();lb(head);}}
else
{printf("| 书号 | 书名 | 作者 |\n");
for (p=head;p!=NULL;p=p->next)
{
printf("|%s|%s|%s|\n",p->booknum,p->bookname,p->bookcreat);
if(p->next==NULL) {printf("OK!\n");cd();lb(head);
}
}
}
return;
}50分?做个系统?
上一个:单片机做的日历 c语言程序
下一个:学C语言为什么要用linux