i have problem in one part of my project
although it's not completed yet...
in function llfined2 there occurs an exeption because of
if(t->b_num==d)....
i don't why it's wrong!!!!!
can any body help me?!:rolleyes:
by the way i use visual c++ 6.0
mahtab 0 Newbie Poster
Insert ID book = 256 , Name book = BAA ;
Insert ID book = 257 , Name book = CAA ;
Insert ID book = 258 , Name book = DAA ;
Insert ID book = 259 , Name book = EAA ;
Insert ID book = 260 , Name book = FAA ;
Insert ID book = 261 , Name book = GAA ;
Insert ID book = 262 , Name book = HAA ;
Insert ID book = 263 , Name book = IAA ;
Insert ID book = 264 , Name book = JAA ;
Insert ID book = 265 , Name book = KAA ;
Insert ID book = 266 , Name book = LAA ;
Insert ID book = 267 , Name book = MAA ;
Insert ID book = 272 , Name book = NAK ;
Borrow ID book = 260 ;
Borrow ID book = 259 ;
Borrow ID book = 258 ;
Borrow ID book = 257 ;
Borrow ID book = 256 ;
Borrow ID book = 255 ;
Borrow ID book = 254 ;
Borrow ID book = 253 ;
Borrow ID book = 252 ;
Borrow ID book = 251 ;
Return ID book = 265 ;
Return ID book = 264 ;
Return ID book = 263 ;
Return ID book = 262 ;
Return ID book = 261 ;
Return ID book = 260 ;
Return ID book = 259 ;
Return ID book = 258 ;
Return ID book = 257 ;
Return ID book = 256 ;
Return ID book = 255 ;
Return ID book = 254 ;
Return ID book = 253 ;
Return ID book = 252 ;
Return ID book = 251 ;
Return ID book = 250 ;
Return ID book = 249 ;
Return ID book = 248 ;
Return ID book = 247 ;
Return ID book = 246 ;
Delete ID book = 260 ;
Delete ID book = 261 ;
Delete ID book = 262 ;
Delete ID book = 263 ;
Delete ID book = 264 ;
Delete ID book = 265 ;
Delete ID book = 266 ;
Delete ID book = 267 ;
Delete ID book = 268 ;
Delete ID book = 269 ;
Delete Name book = BAA ;
Delete Name book = CAA ;
Delete Name book = DAA ;
Delete Name book = EAA ;
Delete Name book = FAA ;
Delete Name book = GAA ;
Delete Name book = HAA ;
Delete Name book = IAA ;
Delete Name book = JAA ;
Delete Name book = KAA ;
PRT books in library ;
PRT books in honesty ;
Insert ID book = 271 , Name book = LAA ;
Insert ID book = 272 , Name book = MAA ;
Insert ID book = 273 , Name book = NAA ;
Insert ID book = 274 , Name book = OAA ;
Insert ID book = 275 , Name book = PAA ;
Insert ID book = 276 , Name book = QAA ;
Insert ID book = 277 , Name book = RAA ;
Insert ID book = 278 , Name book = SAA ;
Insert ID book = 287 , Name book = TAK ;
Borrow ID book = 270 ;
Borrow ID book = 269 ;
Borrow ID book = 268 ;
Borrow ID book = 267 ;
Borrow ID book = 266 ;
Borrow ID book = 265 ;
Borrow ID book = 264 ;
Borrow ID book = 263 ;
Borrow ID book = 262 ;
Borrow ID book = 261 ;
Return ID book = 285 ;
Return ID book = 284 ;
Return ID book = 283 ;
Return ID book = 282 ;
Return ID book = 281 ;
Return ID book = 280 ;
Return ID book = 279 ;
Return ID book = 278 ;
Return ID book = 277 ;
Return ID book = 276 ;
Return ID book = 275 ;
Return ID book = 274 ;
Return ID book = 273 ;
Return ID book = 272 ;
Return ID book = 271 ;
Return ID book = 270 ;
Return ID book = 269 ;
Return ID book = 268 ;
Return ID book = 267 ;
Return ID book = 266 ;
Delete ID book = 270 ;
Delete ID book = 271 ;
Delete ID book = 272 ;
Delete ID book = 273 ;
Delete ID book = 274 ;
Delete ID book = 275 ;
Delete ID book = 276 ;
Delete ID book = 277 ;
Delete ID book = 278 ;
Delete ID book = 279 ;
Delete Name book = BAA ;
Delete Name book = CAA ;
Delete Name book = DAA ;
Delete Name book = EAA ;
Delete Name book = FAA ;
Delete Name book = GAA ;
Delete Name book = HAA ;
Delete Name book = IAA ;
Delete Name book = JAA ;
Delete Name book = KAA ;
PRT books in library ;
PRT books in honesty ;
Insert ID book = 286 , Name book = LAA ;
Insert ID book = 287 , Name book = MAA ;
Insert ID book = 288 , Name book = NAA ;
Insert ID book = 289 , Name book = OAA ;
Insert ID book = 302 , Name book = PAK ;
Borrow ID book = 280 ;
Borrow ID book = 279 ;
Borrow ID book = 278 ;
Borrow ID book = 277 ;
Borrow ID book = 276 ;
Borrow ID book = 275 ;
Borrow ID book = 274 ;
Borrow ID book = 273 ;
Borrow ID book = 272 ;
Borrow ID book = 271 ;
Return ID book = 305 ;
Return ID book = 304 ;
Return ID book = 303 ;
Return ID book = 302 ;
Return ID book = 301 ;
Return ID book = 300 ;
Return ID book = 299 ;
Return ID book = 298 ;
Return ID book = 297 ;
Return ID book = 296 ;
Return ID book = 295 ;
Return ID book = 294 ;
Return ID book = 293 ;
Return ID book = 292 ;
Return ID book = 291 ;
Return ID book = 290 ;
Return ID book = 289 ;
Return ID book = 288 ;
Return ID book = 287 ;
Return ID book = 286 ;
Delete ID book = 280 ;
Delete ID book = 281 ;
Delete ID book = 282 ;
Delete ID book = 283 ;
Delete ID book = 284 ;
Delete ID book = 285 ;
Delete ID book = 286 ;
Delete ID book = 287 ;
Delete ID book = 288 ;
Delete ID book = 289 ;
Delete Name book = BAA ;
Delete Name book = CAA ;
Delete Name book = DAA ;
Delete Name book = EAA ;
Delete Name book = FAA ;
Delete Name book = GAA ;
Delete Name book = HAA ;
Delete Name book = IAA ;
Delete Name book = JAA ;
Delete Name book = KAA ;
PRT books in library ;
PRT books in honesty ;
Insert ID book = 301 , Name book = LAA ;
Insert ID book = 302 , Name book = MAA ;
Insert ID book = 303 , Name book = NAA ;
Insert ID book = 304 , Name book = OAA ;
Insert ID book = 305 , Name book = PAA ;
Insert ID book = 306 , Name book = QAA ;
Insert ID book = 307 , Name book = RAA ;
Insert ID book = 308 , Name book = SAA ;
Insert ID book = 309 , Name book = TAA ;
Insert ID book = 310 , Name book = UAA ;
Insert ID book = 311 , Name book = VAA ;
Insert ID book = 312 , Name book = WAA ;
Insert ID book = 313 , Name book = XAA ;
Insert ID book = 314 , Name book = YAA ;
Insert ID book = 315 , Name book = ZAA ;
Insert ID book = 316 , Name book = ZBA ;
Insert ID book = 317 , Name book = ZCA ;
Insert ID book = 318 , Name book = ZDA ;
Insert ID book = 319 , Name book = ZEA ;
Insert ID book = 320 , Name book = ZFA ;
Insert ID book = 321 , Name book = ZGA ;
Insert ID book = 322 , Name book = ZHA ;
Insert ID book = 323 , Name book = ZIA ;
Insert ID book = 324 , Name book = ZJA ;
Insert ID book = 325 , Name book = ZKA ;
Insert ID book = 326 , Name book = ZLA ;
Insert ID book = 327 , Name book = ZMA ;
Insert ID book = 328 , Name book = ZNA ;
Insert ID book = 309 , Name book = ZOA ;
Borrow ID book = 290 ;
Borrow ID book = 289 ;
Borrow ID book = 288 ;
Borrow ID book = 287 ;
Borrow ID book = 286 ;
Borrow ID book = 285 ;
Borrow ID book = 284 ;
Borrow ID book = 283 ;
Borrow ID book = 282 ;
Borrow ID book = 281 ;
Return ID book = 325 ;
Return ID book = 324 ;
Return ID book = 323 ;
Return ID book = 322 ;
Return ID book = 321 ;
Return ID book = 320 ;
Return ID book = 319 ;
Return ID book = 318 ;
Return ID book = 317 ;
Return ID book = 316 ;
Return ID book = 315 ;
Return ID book = 314 ;
Return ID book = 313 ;
Return ID book = 312 ;
Return ID book = 311 ;
Return ID book = 310 ;
Return ID book = 309 ;
Return ID book = 308 ;
Return ID book = 307 ;
Return ID book = 306 ;
Delete ID book = 290 ;
Delete ID book = 291 ;
Delete ID book = 292 ;
Delete ID book = 293 ;
Delete ID book = 294 ;
Delete ID book = 295 ;
Delete ID book = 296 ;
Delete ID book = 297 ;
Delete ID book = 298 ;
Delete ID book = 299 ;
Delete Name book = BAA ;
Delete Name book = CAA ;
Delete Name book = DAA ;
Delete Name book = EAA ;
Delete Name book = FAA ;
Delete Name book = GAA ;
Delete Name book = HAA ;
Delete Name book = IAA ;
Delete Name book = JAA ;
Delete Name book = KAA ;
PRT books in library ;
PRT books in honesty ;
end ;
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#define MAX 100
#define max 1000
struct book
{
char b_name[1000];
long b_num;
book* next;
};
struct B_E
{
int borrow[MAX];
int exist[max];
}b_e;
struct linklist
{
book *head;
book *tail;
};
bool llfind(linklist *me,long d);
book* llfind2(linklist *me,long d);
bool llinit(linklist *me);
bool llinsert(linklist *me,long num,char name[100]);
bool llborrow(linklist *me,long d);
//long printnum(linklist *me);
linklist l;
int i=-1;
int j=-1;
void main(void)
{
FILE *fp;
FILE *ff;
llinit(&l);
fp=fopen("in.txt","r");
if(!fp)
{
printf("can't open the file");
return;
}
while(1)
{
char cmd[1000];
if(fscanf(fp,"%s",cmd)!=1)
{
fclose(fp);
return;
}
strupr(cmd);
if(!strcmp(cmd,"INSERT"))
{
i++;
long num;
char cmdd[10],cmddd[100],m[5],name[100];
char yk[10],mn[100],m2[5];
char k[5];
fscanf(fp,"%s%s%s",&cmdd,&cmddd,&m);
fscanf(fp,"%d",&num);
fscanf(fp,"%s",&k);
fscanf(fp,"%s%s%s",&yk,&mn,&m2);
fscanf(fp,"%s",&name);
bool qq=llinsert(&l,num,name);
if(qq==false)
printf("\nalready exist ID book = %d",num);
b_e.exist[i]=num;
}
if(!strcmp(cmd,"BORROW"))
{
j++;
long b;
char cmdd[10],cmddd[100],m[5];
fscanf(fp,"%s%s%s",cmdd,cmddd,m);
fscanf(fp,"%d",&b);
bool aa=llborrow(&l,b);
if(aa==false)
{
printf("not exist books ID =%d",b);
}
for(int w=0;w<max;w++)
if(b_e.exist[w]==b)
{
b_e.exist[w]=0;
b_e.borrow[j]=b;
}
}
/* if(!strcmp(cmd,"RETURN ID BOOK="))
{
int r;
fscanf(fp,"%d",&r);
}
if(!strcmp(cmd,"DELETE ID BOOK="))
{
}
*/
/* if(!strcmp(cmd,"PRT BOOKS IN LIBRARY ;"))
{
printf("\nPRT BOOKS IN LIBRARYYYYYY");
ff=fopen("out.txt","w");
if(!ff){printf("can't open the file");return;}
linklist l;
// while(l->head)
// fprintf(ff,"%ld",printnum(l));
book *t=l.head;
while(!t){
printf("%d",t->b_num);
t=t->next;
}
}
if(!strcmp(cmd,"PRT BOOKS IN HONESTY ;"))
{
}
if(!strcmp(cmd,"END"))
{
}
*/
}
return;
}
bool llfind(linklist* me,long d)
{
if(!me)
return(false);
if(!me->head)
return false;
book* p=me->head;
while(p)
if(p->b_num==d)
return true;
else
p=p->next;
return false;
}
book *llfind2(linklist *me,long d)
{
if(!me)
return(NULL);
if(!me->head)
return NULL;
book* t=me->head;
while(t)
if(t->b_num==d)
return t;
else
t=t->next;
return NULL;
}
bool llinit(linklist *me)
{
if(!me) return false;
me->head=me->tail=NULL;
return true;
}
/*long printnum(linklist *me)
{
long data=me->head->b_num;
book *t=me->head;
me->head=t->next;
free(t);
t=NULL;
if(me->head==NULL)
me->tail=NULL;
return data;
}*/
bool llinsert(linklist *me,long num,char name[100])
{
bool x=llfind(&l,num);
if(x==true)
{
return false;
}
book *t=(book *)malloc(sizeof(struct book));
if(!t)
{
printf("memorry low");
return false;
}
if(me->head==NULL)
{
me->head=me->tail=t;
// t->next=me->tail;
t->next=NULL;
t->b_num=num;
strcpy(t->b_name,name);
}
else if(me->head)
{
t->b_num=num;
strcpy(t->b_name,name);
t->next=NULL;
if(!me->tail)
{
me->head=me->tail=t;
}
me->tail->next=t;
me->tail=t;
}
printf("\n%d %s inserted",t->b_num,t->b_name);
return true;
}
bool llborrow(linklist *me,long d)
{
if(!me)
return false;
if(!me->head)
return false;
// book *s=me->head;
book *s=llfind2(&l,d);
if(s==NULL)
return false;
else if(s)
{
free(s);
s=NULL;
}
return true;
}
/* while(s)
{
//if(s->b_num==d)
{
free(s); s=NULL;return true;
//s=s->next;
}
else
s=s->next;
}
return false;
*/
Infarction 503 Posting Virtuoso
My guess would be that t->b_num wasn't initialized properly. Mind you, this is very much a guess. I can't run your code so I can't tell for sure, and you didn't post what the exception was, but I'm assuming it's due to an improperly initialized pointer (in this case the members of t were not set properly).
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.