| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 816 人关注过本帖
标题:图书库存管理系统闪退问题
只看楼主 加入收藏
温温氵
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-1-12
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
图书库存管理系统闪退问题
这个程序在学校电脑上可以运行出来,虽然查询图书功能不能用,但是在我的电脑上直接不出来,闪退,有人可以指导一下吗?
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "stdlib.h"
#define STACK_INIT_SIZE 10
#define OK 1
#define TRUE 1
#define FALSE  0
#define ERROR 0
struct book              /*定义书的类型*/
{
int booknum;
char bookname[10];
char bookcreat[10];
int turefalse;           /*该变量为判断书籍是否借出*/
}book[1000];
void findbook()                                                 /*…………查找图书…………*/
{
FILE *fp;
char bookname[10];
int ture,i;
fp=fopen("book.txt","r");
printf("请输入你要查找的书名\n");                 
scanf("%s",bookname);
for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++)
{if(strcmp(bookname,book[i].bookname)!=0)
{
if(book[i].turefalse==1)
{
printf("这本书的详细资料是 :\n 序号<%d>\t书名<%s>\t作者<%s>\n 此书现在无人借阅\n",book[i].booknum,book[i].bookname,book[i].bookcreat);            
}
else {printf("这本书已有人借出\n");fclose(fp);return;}                             
fclose(fp);
return;
}
}
printf("没有你要查询的书籍\n");                                /*没有你要查询的书籍*/
fclose(fp);
return;
}
chabook()             /*…………查询图书…………*/
{
char ch2;
do
{
printf("****************Welcome to book Search System ****************\n");   /*欢迎进入图书查询系统*/
printf("               1:<bookname search>\n");  /*按书名查找*/
printf("               0:<Return Enter>\n");  /*输入0返回*/
scanf("%s",&ch2);
switch(ch2)
{
case '1':findbook();getchar();break;
case '0':break;
default:printf("Error\n");getchar();break;
}

void addbook()                                                 /*…………添加图书…………*/
{
FILE *fp;
int i=0;
char choice='y';
fp=fopen("book.txt","a+");
while(choice=='y'||choice=='Y')
{
printf("请输入第n本书的序号\n",i+1);                        /*请输入第-本书的序号*/
scanf("%d",&book[i].booknum);
printf("请输入书名\n");                                     /*请输入书名*/
scanf("%s",book[i].bookname);
printf("请输入书的作者\n");                                 /*请输入书的作者*/
scanf("%s",book[i].bookcreat);
printf("请输入1或者0,1代表书还没被借,0表示已经借出\n");   /*请输入1或者0,1代表书还没被借,0表示已经借出*/
printf("请设定书的状态\n");                                 /*请设定书的状态*/
scanf("%d",&book[i].turefalse);
fwrite(&book[i],sizeof(struct book),1,fp);
printf("是否要输入下一本书? \n");                              /*是否要输入下一本书*/
scanf("%s",&choice);
}
fclose(fp);
}
void delbook()                                               /*…………删除图书…………*/
{
FILE *fp,*fp2;
int i;
char bookname[10],choice;
fp=fopen("book.txt","r");
fp2=fopen("bookl.txt","w");
printf("请输入要删除的书名\n");
printf("如果你输入的书名存在,系统自动删除该信息!如果不存在,系统不做任何改动\n");      
                                                             /*如果你输入的书名存在,系统自动删除该信息!如果不存在,系统不做任何改动*/
scanf("%s",bookname);
for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++)
{

if(strcmp(bookname,book[i].bookname)!=0)
{
fwrite(&book[i],sizeof(struct book),1,fp2);
}
}
fclose(fp);
fclose(fp2);
printf("是否要删除该书籍,删除后该书籍的所有信息将无法恢复\n");    /*是否要删除该书籍,删除后该书籍的所有信息将无法恢复*/
scanf("%s",&choice);
if(choice=='y'||choice=='Y')
{
fp=fopen("book.txt","w");
fp2=fopen("bookl.txt","r");
for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++)
{

fwrite(&book[i],sizeof(struct book),1,fp);
}
fclose(fp);
fclose(fp2);
fp2=fopen("bookl.txt","w");
fclose(fp2);
getchar();
return;
}
else
{
printf("Enter\n");
getchar();
return;
}
}
void bookcount()               /*…………图书统计…………*/
{
FILE *fp;
int i,n=0;
fp=fopen("book.txt","r");
for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++)
{

if(book[i].booknum!=0&&strlen(book[i].bookname)!=0&&strlen(book[i].bookcreat)!=0)
{
printf("第 %d 本书 <编号:%d 书名:%s 作者:%s 状态:%d>\n",i+1,book[i].booknum,book[i].bookname,book[i].bookcreat,book[i].turefalse);
n=n+1;
}
}
fclose(fp);
printf("目前共有 %d 本书\n",n);                                         /*目前共有()本书*/
getchar();
}
void main()                                                             /*…………主菜单开始…………*/
{char ch1='1',ch2;
do
{
printf("**************** 图书库存管理系统****************\n");          /*管理菜单*/
printf("               1:查找书籍\n");                                  /*查找书籍*/
printf("               2:添加书籍\n");                                  /*添加书籍*/
printf("               3:删除书籍\n");                                  /*删除书籍*/
printf("               4:书籍统计\n");                                  /*书籍统计*/
printf("               0:退出\n");
printf("请输入 0--4  \n");  
scanf("%s",&ch1);
switch(ch1)
{case '1':chabook;break;
case '2':addbook();break;
case '3':delbook();break;
case '4':bookcount();break;
case '0':break;
}}while(ch1!='0');
getchar();getchar();}
搜索更多相关主题的帖子: include 管理系统 
2016-01-12 21:40
快速回复:图书库存管理系统闪退问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037083 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved