湖南大学程序设计训练报告
system(\ while(1) { newp.count=0;//初始化计数器 for(i=0;i<11;i++)//初始化借书名称
newp.bookname[i][0]='\\0';
printf(\输入学号:\
scanf(\
printf(\输入卡号:\
scanf(\
printf(\输入学员姓名:\ gets(newp.studentname); while(getchar()!='\\n'); printf(\输入学员班级:\
gets(newp.studentclass); printf(\是否保存该条信息?(Y/N)\\n\ choice=getch();
while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf(\请输入Y或y或N或n\\n\
choice=getch();
}
if(choice=='Y'||choice=='y') { a=fopen(\
fwrite(&newp,sizeof(student),1,a);
fclose(a);
printf(\该用户已添加到c:\\\\card.txt文件中!\\n\
} else { printf(\改用户资料未保存!\\n\ }
printf(\是否继续添加用户?(Y/N)\\n\ choice=getch();
while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf(\请输入Y或y或N或n\\n\ choice=getch();
}
8
湖南大学程序设计训练报告
if(choice=='Y'||choice=='y') continue; else
break;
}
}
void input_new()/*输入新进的图书信息*/ {
char choice; FILE *a;
BOOKINFO newbook; system(\ while(1) { fflush(stdin);//清除文件缓冲区
printf(\输入书籍编号:\ gets(newbook.number); printf(\输入书籍名称:\ gets(newbook.name); printf(\输入书籍单价:\
scanf(\
while(getchar()!='\\n');
printf(\输入书籍的作者:\
gets(newbook.auther); printf(\输入书籍的出版社:\
gets(newbook.published);
printf(\输入书籍的类别:\ gets(newbook.sort);
printf(\输入书籍的数量:\
scanf(\ printf(\是否保存该条书目?(Y/N)\\n\ choice=getch();
while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') {
printf(\请输入Y或y或N或n\\n\
9
湖南大学程序设计训练报告
choice=getch(); }
if(choice=='Y'||choice=='y')
newbook.isExit=1;/*将图书状态设置成1,表示没有借出*/
{
a=fopen(\
fwrite(&newbook,sizeof(BOOKINFO),1,a);
fclose(a);
printf(\该条书目已添加到c:\\\\bookinfo.data文件中!\\n\ }
else
{
printf(\本条书目未保存!\\n\ } printf(\是否继续添加书目?(Y/N)\\n\ choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf(\请输入Y或y或N或n\\n\ choice=getch();
}
if(choice=='Y'||choice=='y') continue; else break;
}
}
void search_according_name()/*根据图书名称显示图书的信息*/ {
char search[20]=\用来存放要查询的书名*/ int n; FILE *p; char choice;
BOOKINFO bookinfo[100]; int booknumber=0;
system(\
p=fopen(\ while(!feof(p)) {
fflush(stdin);//清除文件缓冲区 fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);
10
湖南大学程序设计训练报告
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 printf(\该书的详细信息如下:\\n\ printf(\ 图书信息 printf(\编号 名称 单价 作者 图书状态 出版 \\n\ 社 类别 剩余书籍\\n\ break; } for(n=0;n { printf(\ %-16s%-8s%-6d\\n\ bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, bookinfo[n].sort,bookinfo[n].bookcount); } if(n>=booknumber) printf(\没有查找该书的任何信息!\\n\printf(\是否继续查询?(Y/N)\\n\ choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { 11
相关推荐: