#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>typedef int BOOL;typedef struct bookinfo{
char number[15];/*产品编号*/
char name[30];/*产品名称*/
float price;/*单价*/
char auther[20];/*作者*/
BOOL isExit;/*存状态*/
char lendername[20];/*借书姓名*/
char lendersex[2];/*借书性别*/
char lendernum[15];/*借书号*/}BOOKINFO;void menu(){
printf("\n\n\n\n\n\n\n");
printf("\t\t\t图书管理系统\n");
printf("\t\t\t1:新进图书基本信息输入\n");
printf("\t\t\t2:显示全部记录\n");
printf("\t\t\t3:根据图书名称查询图书基本信息\n");
printf("\t\t\t4:根据图书名称撤销图书信息进行删除\n");
printf("\t\t\t5:按照图书名称排序\n");
printf("\t\t\t6:统计某价格图书数量\n");
printf("\t\t\t7:列所未借图书信息\n");
printf("\t\t\t8:退\n");
}void choice_1_input_new()/*输入新进图书信息*/{
char choice;
FILE *p;
BOOKINFO newbook;
system("cls");
while(1)
{
printf("输入图书编号:");
gets(newbook.number);
printf("输入图书名称:");
gets(newbook.name);
printf("输入图书单价:");
scanf("%f",&newbook.price;);
while(getchar()!='\n');
printf("输入图书作者:");
gets(newbook.auther);
printf("输入借书姓名:");
gets(newbook.lendername);
printf("输入借书性别:");
gets(newbook.lendersex);
printf("输入借书号:");
gets(newbook.lendernum);
printf("否保存该条书目?(Y/N)\n");
choice=getch();
while(choice!='Y'&&choice;!='y'&&choice;!='N'&&choice;!='n')
choice=getch();
if(choice=='Y'||choice=='y')
{
newbook.isExit=1;/*图书状态设置1表示没借*/
p=fopen("c:\\bookinfo.data","ab");
fwrite(&newbook;,sizeof(BOOKINFO),1,p);
fclose(p);
printf("\n该条书目已添加c:\\bookinfo.data文件!\n");
}
else
{
printf("\n本条书目未保存!\n");
}
printf("\n否继续添加书目?(Y/N)\n");
choice=getch();
while(choice!='Y'&&choice;!='y'&&choice;!='N'&&choice;!='n')
choice=getch();
if(choice=='Y'||choice=='y')
continue;
else
break;
}
}void choice_2_display_all()/*显示全部图书信息*/{
FILE *p;
int n;
BOOKINFO bookinfo[100];
int booknumber=0;
system("cls");
p=fopen("c:\\bookinfo.data","rb");
while(!feof(p))
{
fread(&bookinfo;[booknumber],sizeof(BOOKINFO),1,p);
booknumber++;
}
/*booknumber--;使用feof()函数读行需要booknumber自减使书目数量确*/
fclose(p);
booknumber--;
if(booknumber==0)
{
printf("没任何图书信息!\n\n");
}
else
{
n=0;
printf("
图书信息\n");
printf("
图书信息
|
借书信息 \n");
printf("编号 名称
单价
作者
图书状态 | 姓名
性别
号\n");
while(n<booknumber)
{
printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8s\n",
bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
bookinfo[n].lendersex,bookinfo[n].lendernum);
n++;
}
}
printf("\n\n按任意键主菜单!\n");
getch();
}void choice_3_search_according_name()/*根据图书名称显示图书信息*/{
char search[20]="";/*search用存放要查询书名*/
int n;
FILE *p;
char choice;
BOOKINFO bookinfo[100];
int booknumber=0;
system("cls");
p=fopen("c:\\bookinfo.data","rb");
while(!feof(p))
{
fread(&bookinfo;[booknumber],sizeof(BOOKINFO),1,p);
booknumber++;
}
booknumber--;/*使用feof()函数读行需要booknumber自减使书目数量确*/
fclose(p);
while(1)
{
printf("输入要查询书本名称:");
gets(search);
if(booknumber==0)
{
printf("书库没任何信息!\n\n");
printf("按任意键主菜单!\n\n");
getch();
break;
}/*if结束*/
else
{
for(n=0;n<booknumber;n++)
if(strcmp(bookinfo[n].name,search)==0)
{
printf("该书详细信息:\n");
printf("
图书信息
|
借书信息 \n");
printf("编号 名称
单价
作者
图书状态 | 姓名
性别
号\n");
printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8s\n",
bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
bookinfo[n].lendersex,bookinfo[n].lendernum);
break;
}
if(n>=booknumber)
printf("没查找该书任何信息!\n");
printf("\n\n否继续查询?(Y/N)\n");
choice=getch();
while(choice!='Y'&&choice;!='y'&&choice;!='N'&&choice;!='n')
choice=getch();
if(choice=='Y'||choice=='y')
continue;
else
break;
}/*else结束*/
}/*while(1)结束*/
}void choice_4_delete_according_name()/*根据图书名称图书信息进行删除*/{
char search[20]="";/*search用存放要删除书名*/
int n,i;
FILE *p;
char choice;
BOOKINFO bookinfo[100];
int booknumber;
system("cls");
while(1)
{
printf("输入要删除书本名称:");
gets(search);
p=fopen("c:\\bookinfo.data","rb");
booknumber=0;
while(!feof(p))
{
fread(&bookinfo;[booknumber],sizeof(BOOKINFO),1,p);
booknumber++;
}
booknumber--;/*使用feof()函数读行需要booknumber自减使书目数量确*/
fclose(p);
if(booknumber==0)
{
printf("书库没任何信息!\n\n");
printf("按任意键主菜单!\n\n");
getch();
break;
}/*if结束*/
else
{
for(n=0;n<booknumber;n++)
if(strcmp(bookinfo[n].name,search)==0)
{
break;
}
if(n>=booknumber)
printf("没查找该书任何信息!\n");
else
{
printf("否确认需要删除该条书目?(Y/N)");
choice=getch();
while(choice!='Y'&&choice;!='y'&&choice;!='N'&&choice;!='n')
choice=getch();
if(choice=='Y'||choice=='y')
{
for(i=n;i<booknumber-1;i++)
bookinfo[i]=bookinfo[i+1];
booknumber--;
p=fopen("c:\\bookinfo.data","wb");
for(n=0;n<booknumber;n++)
fwrite(&bookinfo;[n],sizeof(BOOKINFO),1,p);
fclose(p);
printf("删除功!\n");
}
else
printf("\n\n该条书目没删除!");
}
printf("\n\n否继续进行删除操作?(Y/N)\n");
choice=getch();
while(choice!='Y'&&choice;!='y'&&choice;!='N'&&choice;!='n')
choice=getch();
if(choice=='Y'||choice=='y')
continue;
else
break;
}/*else结束*/
}/*while(1)结束*/
}void choice_5_sort_according_name()/*根据图书名称排序*/{
FILE *p;
int m,n;
BOOKINFO temp;
BOOKINFO bookinfo[100];
int booknumber;
p=fopen("c:\\bookinfo.data","rb");
booknumber=0;
system("cls");
while(!feof(p))
{
fread(&bookinfo;[booknumber],sizeof(BOOKINFO),1,p);
booknumber++;
}
booknumber--;/*使用feof()函数读行需要booknumber自减使书目数量确*/
fclose(p);
if(booknumber==0)
{
printf("没任何图书信息!\n\n");
}
else
{
for(m=0;m<booknumber-1;m++)
for(n=m+1;n<booknumber;n++)
if(strcmp(bookinfo[m].name,bookinfo[n].name)>0)
{
temp=bookinfo[m];
bookinfo[m]=bookinfo[n];
bookinfo[n]=temp;
}
p=fopen("c:\\bookinfo.data","wb");
for(m=0;m<booknumber;m++)
fwrite(&bookinfo;[m],sizeof(BOOKINFO),1,p);
fclose(p);
printf("\n\n完排序!\n\n");
}
printf("按任意键主菜单!\n");
getch(); }void choice_6_display_high_price()/*根据价格列图书信息*/{
float price;
FILE *p;
int n;
int count=0;
BOOKINFO bookinfo[100];
int booknumber;
system("cls");
printf("请输入价格:");
scanf("%f",&price;);
p=fopen("c:\\bookinfo.data","rb");
booknumber=0;
while(!feof(p))
{
fread(&bookinfo;[booknumber],sizeof(BOOKINFO),1,p);
booknumber++;
}
booknumber--;/*使用feof()函数读行需要booknumber自减使书目数量确*/
fclose(p);
if(booknumber==0)
{
printf("没任何图书信息!\n\n");
}
else
{
for(n=0;n<booknumber;n++)
{
if(bookinfo[n].price>=price)
count++;
}
if(count==0)
printf("书库没比%.1f$价格高图书!",price);
else
{
printf("
价格高于%.1f$图书信息\n",price);
printf("
图书信息
|
借书信息 \n");
printf("编号 名称
单价
作者
图书状态 | 姓名
性别
号\n");
for(n=0;n<booknumber;n++)
{
if(bookinfo[n].price>=price)
printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8s\n",
bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
bookinfo[n].lendersex,bookinfo[n].lendernum);
}
}
}
printf("\n\n按任意键主菜单!\n");
getch();
}void choice_7_display_according_exitflag()/*根据存状态列图书信息*/{
FILE *p;
int n;
int count=0;
BOOKINFO bookinfo[100];
int booknumber;
system("cls");
booknumber=0;
p=fopen("c:\\bookinfo.data","rb");
while(!feof(p))
{
fread(&bookinfo;[booknumber],sizeof(BOOKINFO),1,p);
booknumber++;
}
booknumber--;
fclose(p);
if(booknumber==0)
{
printf("书库没任何书目存!\n");
}
else
{
for(n=0;n<booknumber;n++)
if(bookinfo[n].isExit==1)
count++;
if(count==0)
printf("书库书籍全部借!\n");
else
{
printf("书库未借图书信息:\n\n");
printf("
图书信息
|
借书信息 \n");
printf("编号 名称
单价
作者
图书状态 | 姓名
性别
号\n");
for(n=0;n<booknumber;n++)
if(bookinfo[n].isExit==1)
{
printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8s\n",
bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
bookinfo[n].lendersex,bookinfo[n].lendernum);
}
}
}
printf("\n按任意键返主菜单!\n");
getch(); }void main(){
char choice;
clock_t tm;
FILE *p;
if((p=fopen("c:\\bookinfo.data","rb"))==NULL)
{
p=fopen("c:\\bookinfo.data","wb");
fclose(p);
}
while(1)
{
system("cls");
menu();
choice=getch();
switch(choice)
{
case '1':choice_1_input_new();break;/*输入新进图书信息*/
case '2':choice_2_display_all();break;/*显示全部图书信息*/
case '3':choice_3_search_according_name();break;/*根据图书名称显示图书信息*/
case '4':choice_4_delete_according_name();break;/*根据图书名称图书信息进行删除*/
case '5':choice_5_sort_according_name();break;/*根据图书名称排序*/
case '6':choice_6_display_high_price();break;/*根据价格列图书信息*/
case '7':choice_7_display_according_exitflag();break;/*根据存状态列图书信息*/
case '8':printf("\n\n\t\t\t谢谢使用,再见!\n\t\t\t按任意键退!\n");getch();return;
default:
printf("\n\n\t\t\t请输入菜单数字!(1~8)");
tm=clock();
while(clock()<tm+1800);
break;
}
}}写赶,知道行行 程序没复杂东西要写楼主吧
出版的过程如下:1.选题
编辑通过市场调研提出出版内容选题,经过责任编辑、编辑室主任、出版社社长和总编辑(或出版社选题论证委员会)的三级论证,最终由出版社选题审核委员会审批通过,报省一级新闻出版局批准。2.选题报批
省一级新闻出版局依据国家《出版管理条例》等法律、法规、政策对出版图书选题内容进行审批,确保有关选题符合国家有关规定,并报国家新闻出版总署备案。
根据《出版管理条例》和《图书、期刊、音像制品、电子出版物重大选题备案办法》(新闻出版署[1997] 860 号)等法律法规,对于涉及国家安全、社会安定等方面的内容,对国家的政治、经济、文化、军事等会产生较大影响的选题,实行重大选题备案制度,即出版单位须向新闻出版总署专题申报备案,同意后方可出版。3.组稿、编辑
选题经批准后,出版业务进入编辑环节。
编辑组织稿件主要有以下几种形式:直接与作者签约组织稿件,或委托作者(多为知名学者)代理组织稿件。每一种图书,都与作者签订出版合同,约定和保护作者和出版社双方的合作条件和权利。出版社拥有的是著作权人(作者)许可使用的专有出版权。出版合同通常包括著作权人允许出版社对其著作的使用范围、许可使用年限、出版社向作者支付报酬标准、付酬方式等。合同期限一般在3-10年。
出版社向作者支付稿酬一般有三种方式:基本稿酬加印数稿酬、版税和一次性付酬。基本稿酬加印数稿酬,指出版者按作品的字数,以千字为单位向著作权人支付一定报酬(即基本稿酬),再根据图书的印数,以千册为单位按基本稿酬的一定比例向著作权人支付报酬(即印数稿酬);作品重印时只付印数稿酬,不再付基本稿酬。版税,指出版者以图书定价×发行数×版税率的方式向著作权人付酬;版税率一般是3%-10%。一次性付酬,指出版者按作品的质量、篇幅、经济价值等情况计算一个确定现金数额的报酬,并一次性向著作权人付清。4.审稿、申报书号审稿:
审稿是编辑工作的重要组成部分。审稿实行三审制,对稿件进行三个级别的审查,即责编初审、编辑室主任复审和社长(总编辑)终审。三审后的书稿按齐、清、定的原则,发送出版社的出版生产部门,进入生产流程。申报书号:
出版社总编室负责向出版业务部申请分配书号、条码并向新闻出版总署信息中心申请CIP(Cataloguing in Publication)数据,即图书在版编目数据,规定了图书在版编目数据的内容、选取规则及印刷格式,包括书名、作者、出版社、版本、印张等。
每年12月,出版社将有关书号申请的各项材料,经由省新闻出版局报送新闻出版总署,新闻出版总署核定下一年度发给公司的书号数量。新闻出版总署将书号按核定数量经由省新闻出版局发给出版社。出版社按照所得书号数量,填写ISBN条码制作申请单,报送国家图书条码中心制作相应条码。出版社也可根据需要,定期、不定期或随时向省新闻出版局和国家新闻出版总署申请所需数量的书号。
在书号获批后,编辑人员填写《CIP数据申请表》,再由出版社总编室将《CIP数据申请表》报送新闻出版总署信息中心。新闻出版总署信息中心将编制完毕的CIP数据返给出版社,以备印载在图书上,做为版权保护的重要手段。5.确定印数和定价
图书定价和印数由各出版社营销部连同责任编辑根据市场调研情况分析确定。定价主要参考因素为成本、图书印数、同类书市场价格及该书目标读者群的消费能力。印刷数量的确定主要参考成本、定价及对该书销量的预测,一般每版图书的印刷数量划分为四种情况:3,000册至4,000册;5,000册至8,000册;8,000册至10,000册;或10,000册以上。一般来说,出版社主要采用较少印数、多次印刷策略,以降低出版风险、减少资金占用,加快周转。6.排版和印刷
有关书稿经社长(或总编辑)终审签发后,由相关出版社之业务部门完成封面设计和版式设计,并负责安排印刷商排版、印刷。出版社将达到印制标准的书稿发送到印刷厂,进行排版及制作清样,图书清样完成后,送出版社出版部进行校对,出版社将校对完的清样退回印刷厂,印刷厂按出版社所做的改动进行改版,这样反复三次,行业内称为“三校”,最后经该书责任核对、责任编辑和出版部主任审定签字,交社长(或总编辑)签批,返回印刷企业,进行印制、装订。7.发行和销售
各出版社出版的图书一般采用自办发行、独立发行、参加图书订货会等方式销售。
自办发行是由出版社与零售书店签订协议,一般由出版社将成品书从印刷厂发运到各书店。
独立发行是由出版社根据资质情况选择发行商,并与发行商(主要为图书批发商)订立批发协议,一般由出版社将成品书从印刷厂运送到批发商的仓库,批发商将书发送至其下游客户,批发商在约定期限内与出版社结清书款。独立发行方式的优势在于可以充分利于发行商广泛的发行渠道和较低的发行成本,且图书销售回款有较好的保证。独立发行又可以分为包销和经销,包销主要以学生课本和畅销书为主,一般不允许退货;经销则是以一般图书为主,通常允许退货。
出版社每年定期参加的主要图书订货活动有:全国每年一度最大规模的北京图书订货会、书市,每两年一次的全国规模的北京国际图书博览会。此外,亦参加各类专业出版社订货会、民营书店联合举办的图书订货会以及各种图书团体采购活动等。近年来,还可以参加每年一度的国际最大图书展览——“法兰克褔国际图书博览会”。
出版社营销部及责任编辑负责策划、参与图书市场推广活动,主要形式有参加全国各大定期新书订货活动,在全国各种新书目录及《中国图书商报》上发布新书预告,组织作者到零售书店举办讲座、签名售书等新书推广活动,组织书评家发布书评等。
签合同注意事项如下:每一种图书,都与作者签订出版合同,约定和保护作者和出版社双方的合作条件和权利。出版社拥有的是著作权人(作者)许可使用的专有出版权。出版合同通常包括著作权人允许出版社对其著作的使用范围、许可使用年限、出版社向作者支付报酬标准、付酬方式等。合同期限一般在3-10年。出版社向作者支付稿酬一般有三种方式:基本稿酬加印数稿酬、版税和一次性付酬。基本稿酬加印数稿酬,指出版者按作品的字数,以千字为单位向著作权人支付一定报酬(即基本稿酬),再根据图书的印数,以千册为单位按基本稿酬的一定比例向著作权人支付报酬(即印数稿酬);作品重印时只付印数稿酬,不再付基本稿酬。版税,指出版者以图书定价×发行数×版税率的方式向著作权人付酬;版税率一般是3%-10%。一次性付酬,指出版者按作品的质量、篇幅、经济价值等情况计算一个确定现金数额的报酬,并一次性向著作权人付清。
. 新书计划表 2. 审阅: 经由审阅者评估新书内容. 印务制作 10、营销、会计、编辑、行政等部门 依不同角度讨论决定是否出书 4. 投票: 共同投票同意的新书计划则进入出版流程 5,评估以专业学术性、内容创新性、 结构完整性、题材丰富性、是否符合出版方向等为评估的依据 3: 公司内部开会讨论: 签署合约 6. 定出书进度 7. 编辑: 完成新书内容之后,则进行版面的编辑、校对、美编 8. 封面设计 9,由业务. 会议决定. 签约. 出书 11