C语言程序设计实习报告docWord格式文档下载.docx

上传人:b****8 文档编号:22565878 上传时间:2023-02-04 格式:DOCX 页数:9 大小:20.99KB
下载 相关 举报
C语言程序设计实习报告docWord格式文档下载.docx_第1页
第1页 / 共9页
C语言程序设计实习报告docWord格式文档下载.docx_第2页
第2页 / 共9页
C语言程序设计实习报告docWord格式文档下载.docx_第3页
第3页 / 共9页
C语言程序设计实习报告docWord格式文档下载.docx_第4页
第4页 / 共9页
C语言程序设计实习报告docWord格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C语言程序设计实习报告docWord格式文档下载.docx

《C语言程序设计实习报告docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实习报告docWord格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

C语言程序设计实习报告docWord格式文档下载.docx

5

四、后记·

24

五、附录·

26题目要求及能实现的功能图书管理信息包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,使之能提供以下功能1、新进图书基本信息的输入。

2、图书基本信息的查询。

3、对撤消图书信息的删除。

4、办理借书手续。

5、办理还书手续【提示】建立图书管理信息结构体,结构体成员包括图书馆名称、图书编号、单价啊、作者、存在状态、借书人姓名、性别、学号。

存在状态设为整型,可用不同的数字代表借还状态。

借书和还书手续要注意修改结构题的成员变量存在状态的值。

总体设计欢迎进入地大图书管理系统查阅图书借阅图书退出系统图书归还管理系统欢迎进入管理系统增加图书删除图书学生管理系统图书统计修改图书详细设计1、主函数[说明]主函数较多、较复杂,已经和主菜单函数合并,主菜单函数里还包括了各自的二级菜单,并已经开始了对各个函数的调用。

为了程序显示的清晰可读,应先清屏之后调用菜单函数。

[流程]开始显示一系列功能选项输入n,判断n是否是04调用与n相应的模块NY[程序]main{charch1,ch2,ch4;

do{printf“\t\tChinaUniversityofGeosciences\n\n“;

printf“\t\t\n“;

printf“\t\t▂▃▄▅▆▇█欢迎进入地大图书管理系统█▇▆▅▄▃▂\n\n“;

printf“\t\t\Booksaretheladderofhumanprogress━Golgi\n\n“;

printf“\t\n“;

printf“\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n“;

printf“\t\t『制作徐学连学号20081001489班号05408114』\n\n“;

printf“请选择需要的服务\n“;

printf“1查阅图书\n“;

printf“2借阅图书\n“;

printf“3管理系统\n“;

printf“4还书\n“;

printf“0退出\n“;

printf“请输入数字0━4\n“;

ch1getch;

switchch1{case1chabook;

break;

case2lendbook;

;

case3{do{printf“\t\t●○●○●○●○●○欢迎进入管理系统○●○●○●○●○●\n“;

printf“1增加图书\n“;

printf“2删除图书\n“;

printf“3修改图书\n“;

printf“4图书统计\n“;

printf“5学生管理系统\n“;

printf“0返回\n“;

printf“请输入0━5\n“;

ch2getch;

switchch2{case1addbook;

break;

case2delbook;

case3changebook;

case4bookcount;

getch;

case5{do{printf“\t\t★★★★★欢迎进入学生管理系统★★★★★\n“;

printf“1申请新卡\n“;

printf“2删除卡号\n“;

printf“3借书统计\n“;

printf“4卡号统计\n“;

printf“0返回\n“;

printf“请输入0━4\n“;

ch4getch;

switchch4{case1addcar;

case2delcar;

case3lendcount;

case4carcount;

case0break;

defaultprintf“无此操作\n“;

}}whilech40;

}break;

}}whilech20;

case4huanbook;

}}whilech10;

}2、各功能模块设计

(1)公共函数在很多模块中都有调用structstudent/*定义学生类型*/{intcarnum;

charlendbook[10];

}student[1000];

structbook/*定义书的类型*/{intbooknum;

charbookname[20];

floatbookprice;

charbookcreat[20];

intturefalse;

/*用于借书和还书模块判断一本书是否借出的条件*/}book[1000];

structcar/*借书卡的数据类型*/{intcarnum;

charsex[5];

charstudentname[20];

intstudentclass;

}car[1000];

(2)查阅模块[说明]输入个员工信息后,浏览、查找、排序时同一个员工的所有信息都要同时显示,所以运用结构体运行。

数据信息存放在文件中,一条记录对应一条学生信息,方便管理。

[流程]查询系统按书名查找按作者查找退出输入不存在已出借无人借[程序]chabook{charch5;

do{printf“\t\t◇◇◇◇欢迎进入图书查询系统◇◇◇◇\n\n“;

printf“1按书名查找\n“;

printf“2按作者查找\n“;

printf“请输入0━2\n“;

ch5getch;

switchch5{case1findbook;

case2findbook1;

}}whilech50;

return0;

}findbook{FILE*fp;

charbookname[10];

inti;

fpfopen“book.txt“,“r“;

printf“请输入你要查找的书名\n“;

scanf“s“,bookname;

fori0;

freadi{ifstrcmpbookname,book[i].bookname0{ifbook[i].turefalse1{printf“书号书名作者\ndss\n“,book[i].booknum,book[i].bookname,book[i].bookcreat;

printf“此书现在无人借阅\n按任意键返回\n“;

}else{printf“这本书已经有人借出\n“;

fclosefp;

return0;

}fclosefp;

}}printf“没有你要查询的书籍\n”;

fclosefp;

}findbook1{FILE*fp;

charbookcreat[10];

printf“请输入你要查找的作者名\n“;

scanf“s“,bookcreat;

freadi{ifstrcmpbookcreat,book[i].bookcreat0{ifbook[i].turefalse1{printf“书号书名作者\ndss\n“,book[i].booknum,book[i].bookname,book[i].bookcreat;

}fclosefp;

}}printf“没有你要查询的书籍\n“;

}(3)借阅模块[说明]查阅完图书记录后,用户要借阅图书,系统要在操作过程中提示用户输入流程,根据用户所输入的指令,帮助其完成借阅。

[流程]借阅图书输入卡号卡号存在输入书名已出借不存在借阅成功返回卡号不存在[程序]lendbook{FILE*fp,*fp2;

inti,n;

intcarnum;

printf“\t\t▲▼△▽▲▼△▽▲▼欢迎进入借书系统▼▲▽△▼▲▽△▼▲\n\n“;

printf“请输入借书人的\n卡号\n“;

scanf“d“,fpfopen“car.txt“,“r“;

freadi{ifcar[i].carnumcarnum{ni;

printf“书名\n“;

scanf“s“,student[n].lendbook;

freadi{ifstrcmpbook[i].bookname,student[n].lendbook0{ifbook[i].turefalse0{printf“对不起,此书有人借出,请借其他书\n“;

}elsefclosefp;

fpfopen“record.txt“,“a“;

student[n].carnumcarnum;

fwritefclosefp;

fp2fopen“bookl.txt“,“w“;

freadi{ifstrcmpbook[i].bookname,student[n].lendbook0{book[i].turefalse0;

fwritecontinue;

}fwrite}fclosefp;

fclosefp2;

fpfopen“book.txt“,“w“;

fp2fopen“bookl.txt“,“r“;

freadi{fwrite}fclosefp;

fopen“bookl.txt“,“w“;

printf“借书完毕,按任意键返回...\n“;

getch;

}}printf“不存在这样的书,任意键返回...\n“;

}}printf“你的卡号不存在,请申请新卡,按任意键返回...\n“;

}(4)管理模块[说明]管理模块最为复杂,管理所有的图书及职工、学生的信息。

先进入总体的管理系统,在这个系统中重点的操作是图书的管理,为其中的1至4项(分别是增加图书、删除图书、修改图书资料、书籍统计),同时系统还连接了职工、学生管理两个系统,为下一步的操作提供了条件。

职工管理系统主要有增加图书、删除图书、修改图书资料、书籍统计,学生管理系统主要有申请新卡、删除卡号、借书统计、卡号统计四个模块,用于管理学生登录信息。

[流程]欢迎进入管理系统增加图书删除图书学生管理系统图书统计修改图书欢迎进入学生管理系统申请新卡删除卡号卡号统计借书统计返回[程序]1、增加图addbook{FILE*fp;

inti0;

charchoicey;

fpfopen“book.txt“,“a“;

whilechoicey||choiceY{printf“书号\n“;

scanf“d“,printf“书名\n“;

scanf“s“,book[i].bookname;

printf“作者\n“;

scanf“s“,book[i].bookcreat;

printf“单价\n“;

scanf“f“,printf“请你设定书的状态1在架/0不在\n“;

scanf“d“,fwriteprintf“是否要输入下本书y/n\n“;

scanf“s“,}fclosefp;

}2、删除图书delbook{FILE*fp,*fp2;

charbookname[10],choice;

freadi{ifstrcmpbookname,book[i].bookname0{fwrite}}fclosefp;

printf“确认删除y/n\n“;

scanf“s“,ifchoicey||choiceY{fpfopen“book.txt“,“w“;

printf“按任意键返回...\n“;

}else{printf“按任意键返回...\n“;

}}3、修改图书changebook{FILE*fp,*fp2;

freadi{ifstrcmpbook[i].bookname,bookname0{printf“你所要修改的书的资料如下,请选择你要修改的内容\n“;

printf“序号书名作者\n“;

printf“dss\n“,book[i].booknum,book[i].bookname,book[i].bookcreat;

printf“1修改书号\n“;

printf“2修改书名\n“;

printf“3修改作者\n“;

printf“4修改单价“;

printf“请输入1━3“;

choicegetch;

switchchoice{case1{printf“新的书号\n“;

scanf“d“,fwrite}break;

case2{printf“新的书名\n“;

fwrite}break;

case3{printf“新的作者\n“;

case4{printf“新的单价“;

scanf“f“,book[i].bookprice;

fwrite}defaultprintf“没有这样的操作“;

}continue;

getchar;

}4、图书统计bookcount{FILE*fp;

inti,n0;

freadi{ifbook[i].booknum0printf“\t\t\n“;

printf“d10s“,book[i].booknum,book[i].bookname;

printf“15s4.2fd1在/0不在\n“,book[i].bookcreat,book[i].bookprice,book[i].turefalse;

nn1;

}}fclosefp;

printf“目前共有d本书.\n“,n;

}end{printf“\t\t\n“;

printf“\t\t┃┃谢谢使用本系统,再见┃┃\n“;

}申请新卡addcar{FILE*fp;

fpfopen“car.txt“,“a“;

printf“卡号\n“;

scanf“d“,printf“性别\n“;

scanf“s“,car[i].sex;

printf“姓名\n“;

scanf“s“,car[i].studentname;

printf“班级\n“;

scanf“d“,fwritefclosefp;

printf“输入完毕,任意键返回...\n“;

}删除卡号delcar{FILE*fp,*fp2;

charchoice;

fpfopen“car.txt“,“r“;

printf“要删除的卡号不存在则不作改动\n“;

scanf“d“,fori0;

freadi{ifcar[i].carnumcarnum{fwrite}}fclosefp;

printf“确认删除Y/N\n“;

scanf“s“,ifchoicey||choiceY{fpfopen“car.txt“,“w“;

printf“操作超成功\n按任意键返回...\n“;

}else{printf“操作已取消\n按任意键返回...\n“;

}}借书统计lendcount{FILE*fp;

fpfopen“record.txt“,“r“;

iffpfopen“record.txt“,“r“0{printf“文件中没有数据\n“;

return0;

}fori0;

freadi{printf“卡号借出的书籍\n“;

printf“ds\n“,student[i].carnum,student[i].lendbook;

printf“目前共有d本书借出\n“,n;

printf“按任意键...\n“;

returnn;

}卡号统计carcount{FILE*fp;

freadi{printf“第d张卡\n“,i1;

printf“卡号性别姓名班级\n“;

printf“d6s10s3d\n\n“,car[i].carnum,car[i].sex,car[i].studentname,car[i].studentclass;

printf“目前共有d个学生。

\n“,n;

}(5)还书模块[说明]需要根据输入员工的姓名及工号查找相应的记录,找到后增加删除和修改功能。

[流程]存在不存在出错提示不存在存在删除记录输入卡号输入要还书名[程序]huanbook{FILE*fp,*fp2;

printf“\t\t_欢迎进入还书界面_“;

printf“\n请你输入你的\n卡号\n“;

printf“请输入你要还的书的名字\n“;

scanf“s“,lendbook;

fpfop

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1