删除功能:
七 用户使用说明
一开始运行程序时,就会出现一个让你选择的界面,1.是增加数据,2是查询数据,3是浏览数据,4是修改数据,5是删除数据,6是输入数据,并新建一个文本存这些数据,0是退出程序。
当你输入1时,界面就会输出“Enter the static(lognum bookname authorname scorenum publishname time price):”,接着你就输入你要增加的图书的信息就可以了。
当你输入2时,就会在出现一个让你选择的界面,1是书名查询,2是作者名查询。
当你输入1时,如果文件时空的,界面就会输出“N0 Records”,如果文件不是空的,界面就会输出“Input bname:”,就着你就输入你要查询的图书的书名,如果文件中没有你要查询的这本书,界面就会输出“There isn't this static!”,当文件中有你要查询的这本书时,界面就会输出这本书的全部信息。
当你输入2时,如果文件时空的,界面就会输出“N0 Records”,如果文件不是空的,界面就会输出“Input aname:”,就着你就输入你要查询的图书的作者名,如果文件中没有你要查询的这本书,界面就会输出“There isn't this static!”,当文件中有你要查询的这本书时,界面就会输出这本书的全部信息。
当你输入3时,界面就会输出全部图书的全部信息; 当你输入4时,界面就会输出“Input the lognum:”,接着你要输入你要修改的图书的登录号,如果文件时空的,界面就会输出“Not records!”,如果文件不是空的,但没有你所输入的登录号的图书,界面就会输出“There isn't this static!”,如果文件不是空的,并且有你输入的登录号的图书,界面就会输出这本书的全部信息,很“Retype the static:”,接着你重新输入这本书的全部信息就可以了。
当你输入4时,界面就会输出“Input dlnum:”,接着你就输入你要删除的图书的登录号就可以了。
当你输入6时,界面就会输出“Enter the static(lognum bookname authorname scorenum publishname time price):”,接着你就输入你要增加的图书的信息就可以了。 当你输入0时,就退出程序
当你输入的是其他的数字或是字符时,界面就会输出“Enter error!”。
八 课程设计总结
做为这个小组的组长,我觉得我们所设计的程序今本上已经能够实现题目的要求,并且运用的链表,还用文件来存数据。但是,我觉得我们的程序还是存在着一些不足之处。首先建立一个文件是文件名和拓展名都已经被规定好的,其次是当文件为空时,程序运行时,当你输入得选择不是6是,会发生错误,所以一开始要先运行选择6,后才能运行其他选择,最后是运行查询、修改、删除功能,你输入的信息要跟文件中的一致,才能实现,如果稍有不同,就不够实现这些功能了。
另外,我想感谢我的组员,因为我们是分工合作的,他们有的负责一个功能,有的负责两个功能,而我主要是些主函数,在他们的积极配合下,我们很快就把总程序写好,并调试完毕。所以我想感谢他们的配合。因为集体的力量是强大的,只有我们的积极合作,才能够准时的完成这个课程设计。
最后,我觉得在这个课程设计的过程中,我学到了很多东西。第一是耐心,当你在调试程序中,看到了你设计的程序出现了那么多错误,或者当显示0错误0警告,却不能运行,或者是运行结果不是你所期望时,我觉得这时候最是考验耐心的时候,也只有耐心和永不言败的信念,才能支持你逆流而上,解决所有的困难。在这个过程中,我试过用了几个钟的时间找一个错误,而结果只是打错了一个定义。第二是沟通,因为我对C语言也比较熟了,有一些同学比较陌生,所以他们来问我,在我解答他们的问题是,我深刻的体会了沟通的重要性,因为只有你沟通的好,他们容易理解,你也不用浪费口舌去讲一些不必要的知识点……
程序参考代码:
/*...............................................主函数.................................................*/ #include
struct bookinf { //定义结构 int num;
char bname[20]; char wname[10]; char clanum[14]; char pubcom[10]; char pubtime[10]; float price; struct bookinf *next; };
long size; FILE * fp;
struct bookinf * vitil(void) //从文件中拿出数据 { struct bookinf * p1,* p2,* p3; int num;
char bname[20]; char wname[10]; char clanum[14]; char pubcom[10]; char pubtime[10]; float price; long i=0; if((fp=fopen(\程序设计.txt\ //打开文件 { printf(\程序设计.txt!\\n\ exit(0); } while(! feof(fp)) { if(feof(fp)) break; if(i>=1) p3=p1; if((p1=(struct bookinf *)calloc(1,size))==NULL) { printf(\
exit(1); }
fscanf(fp,\ p1->num=num; strcpy(p1->bname,bname); strcpy(p1->wname,wname); strcpy(p1->clanum,clanum); strcpy(p1->pubcom,pubcom); strcpy(p1->pubtime,pubtime); p1->price=price; if(i==0) p2=p1; else p3->next=p1; i++; } if(p2->next==p1) p2->next=NULL; else p3->next=NULL; free(p1); fclose(fp); //关闭文件 return p2; }
void inputchoice(void) { printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\}
void write_to_txt(struct bookinf * head) //写入文件 { struct bookinf * p; if((fp=fopen(\程序设计.txt\