1、教材信息管理系统课程设计报告课程设计题目: 教材信息管理系统 学生学号 学生姓名 专 业 信息系统与信息管理指导教师 2008年 5 月 24 日目 录1一、 概要设计教材信息管理系统,采用数据文件存放教材基本信息,管理员可以进行添加、选择出库教材、输出、教材信息修改工作。教材信息包括:编号、书名、作者.、入库时间、出库时间、单价、总数量。功能设计如下:1、 主函数。2,输入信息查找。3,教材信息的显示。4,插入,删除,添加一些必要的信息。5,核对教材的信息。设计一个名为s_book.txt的程序,该程序中的主函数显示系统菜单,并读入用户的选择,然后通过调用 个主要分类函数( www.nb-)
2、的子函数来实现系统的各项功能;建立了来存储信息。二、 总体设计分析教材信息管理系统是实现人与教材信息之间互通的平台,实现教材信息的共享,需要的主要功能为:可以查询的信息、进行信息的修改、安全和隐秘性等。所以可以对整个程序进行如下的分析:1 对教材信息设置了如上结构体变量。在教材信息中设置了编号,书名,作者,单价,买书人,数量,入库时间,出库时间等信息,来满足来管理教材。2 为了教材的信息能过更好的利用此程序进行管理,管理者能够查询教材的信息,对教材的管理进行插入,删除,添加一些信息。满足管理者对教材管理的一些需求。3 在输入变量,能够查询需要的教材信息。4 此系统使使用者在登录之后,在输入变量
3、,能显示出你所需的教材资料的基本信息,方便了使用者。功能模块图 三、 各模块的实现方法整个系统可以分为主函数、输入函数,显示函数。修改函数。核对函数,写入文件函数。等几个模块。1 主函数主函数中包括选择菜单界面,以printf语句输出07种选择,以switch()语句,由用户输入,则计算机根据用户输入的选择进行执行相应模块的调用,并用goto语句使得循环能够进行。2 输入信息运用printf语句输出要输出的编号,书名,作者 ,单价,买书人等一些信息,用scanf语句由用户输入教材的信息,最后由选择是否还是数据,运用while()语句中的条件,用户输入字符不是“N“,则继续输入信息。3显示信息
4、显示信息中的while()语句中的条件范围,输出显示信息。4修改信息。修改信息部分包括插入信息,删除信息,添加信息三部分。 插入信息部分运用printf()语句输出教材中的信息,用scanf()语句由用户输入教材对应信息。删除信息部分由用户输入要删除的书的书名,以while()语句中的条件控制循环。如果用户输入的书名相同则删除此书,用if语句,假设检查过的书的数量与总书的数量相等,说明没有找到这本用户要删除的书,用for语句实现,如果前一本书由用户找到要删除的书。则后一本书向前一位进行覆盖。添加部分添加信息部分为使要添加的教材信息到指针文件中,if语句说名不能以二进制文件打开,如果打开则信息系
5、统停止,while语句中条件的范围使文件添加的教材信息的本数为编号本书。5 核对信息部分 核对信息部分用scanf()语句用户输入要核对的书的书名,以while()语句中的条件控制循环,如果用户输入的书名与系统书名相同,则可以核对到此书的信息,用if语句,假设检查过的书的数量与总书的数量相等,说明没有找到要核对的书,如果找到要核对的书则输出编号,作者,单价等一些信息。6写入文件部分 写入文件部分为将输入的教材信息写入FILE*fp文件中,如果用户以输出的形式打开一个文本文件,则系统显示不能打开文件,系统停止,在while循环语句的范围下。Fprintf()以fp为指定输出文件把各项数据写入文件
6、,关闭fp文件,则输出成功写入文件四、 自己负责模块的程序设计分析企业操作流程图个人操作流程图管理员操作流程图系统菜单流程图系统菜单用switch语句调用企业菜单、个人菜单和管理员操作。企业操作中的企业登录功能:输入一个企业的企业帐号,调用企业结构提的企业数组,利用for循环来调用所有的企业数组,再用if语句判断企业数组里的企业帐号与输入的帐号进行比较,如果有相同的则确定此数组,并提取此数组的密码选项内容,在提示输入密码后,继续用if语句继续判断此数组中的密码是否与输入的密码相同,是的话则可以进入下一级菜单,用switch来选择下步的操作:可以开始调用显示所有应聘人的信息、修改企业看中的应聘人
7、来面试的确认信息、刷新还要录取的人数等操作。个人操作中的个人登录功能:输入一个个人的姓名,调用个人结构体并取得个人数组,利用for循环来调用所有的存在的数组,再用if语句判断个人数组里的个人姓名与输入的姓名进行比较,如果有相同的则确定此数组,并提取此数组的密码选项内容,在提示输入密码后,继续用if语句继续判断密码是否相同,是的话则可以进入下一级菜单,用switch来选择下一步的操作:查询企业信息、查询自己信息、输入应聘企业的代码。管理员操作:输入一个管理员的帐号,调用管理员结构体并取得管理员数组,利用for循环来调用所有的存在的数组,再用if语句判断管理员数组里的管理员帐号与输入的帐号进行比较
8、,如果有相同的则确定此数组,并提取此数组的密码选项内容,在提示输入密码后,继续用if语句继续判断密码是否相同,是的话则可以进入下一级菜单,用switch来选择下面的操作操作:添加新管理员、修改权限、进入普通权限。添加新管理员是用scanf语句来输入来实现;修改权限则要用if语句来判断是否可以执行此命令,在通过查找定位你要修改的数组,再进行修改;普通权限进入后用switch来选择是企业删除和个人删除命令。五、 自己负责模块的程序源代码#include#include#include#includetypedef structchar bianhao10;char shuming20;char z
9、uozhe20;int danjia10;char maishuren10;int shuliang;char ruku10;char chuku10;testbook;testbook test80;int n=0;FILE *fp;int Input()char sign;sign=getch();while(sign!=n&sign!=N)printf(ttttestbooks bianhao:);scanf(ttt%s,testn.bianhao);printf(ttttestbooks shuming:);scanf(ttt%s,testn.shuming);printf(tttte
10、stbooks zuozhe:);scanf(ttt%d,testn.zuozhe);printf(ttttestbooks danjia:);scanf(ttt%d,testn.danjia);printf(ttttestbooks maishuren:);scanf(ttt%s,testn.maishuren);printf(ttttestbooks shuliang:);scanf(ttt%s,testn.shuliang);printf(ttttestbooks ruku:);scanf(ttt%s,testn.ruku);printf(ttttestbooks chuku:);sca
11、nf(ttt%s,testn.chuku);printf(tttany more records?(Y/N);scanf(ttt%c,&sign);n+;www.nb-return(n);void Display(testbook test,int n)int i=1;printf(tttbianhao shuming zuozhe shuliang chuku danjia maishuren rukun);while(in+1)printf(ttt%-16s%-15s%-15s%d%-15s%-15sn,testi-1.bianhao,testi-1.shuming,testi-1.zuo
12、zhe,testi-1.chuku,testi-1.danjia,testn-1.maishuren,testn-1.ruku,i+);int Insert_a_record(testbook test,int n)printf(tttbooktests bianhao:);scanf(ttt%s,testn.bianhao);printf(ttttestbooks shuming:);scanf(ttt%s,testn.shuming);printf(ttttesetbooks zuozhe:);scanf(ttt%s,testn.zuozhe);printf(ttttestbooks ch
13、uku:);scanf(ttt%s,testn.chuku);printf(ttttestbooks danjia:);scanf(ttt%d,testn.danjia);printf(ttttestbooks maishuren:);scanf(ttt%s,testn.maishuren );printf(ttttestbooks ruku:);scanf(ttt%s,testn.ruku);n+;int Delete_a_record(testbook test,int n) char s20;int i=0,j;printf(ttttell me his or her shuming:)
14、;scanf(%s,s);while(strcmp(testi.shuming,s)!=0&in) i+;if(i=n) printf(tttnot find!n);return(n);for(j=i;jn-1;j+)strcpy(testj.bianhao,testj+1.bianhao);strcpy(testj.shuming,testj+1.shuming);strcpy(testj.zuozhe,testj+1.zuozhe);strcpy(testj.chuku,testj+1.chuku);strcpy(testj.maishuren,testj+1.maishuren);str
15、cpy(testj.ruku,testj+1.ruku);printf(tttDelete Successed!n);return(n-1);void check_a_record(testbook test,int n) char s20;int i=0;printf(tttinput his or her shuming:);scanf(ttt%s,s);while(strcmp(testi.shuming,s)!=0&in) i+;if(i=n) printf(tttnot find!n);return;printf(ttt testbooks bianhaober:%sn,testi.
16、bianhao);printf(ttt testbooks zuozhe:%sn,testi.zuozhe);printf(ttt testbooks chuku:%sn,testi.chuku);printf(ttt testbooks danjia:%sn,testi.danjia);printf(ttt testbooks maishuren:%sn,testi.maishuren);printf(ttt testbooks ruku:%sn,testi.ruku);int AddfromText(testbook test,int n) int i=0,bianhao;FILE *fp
17、;char fileshuming20;printf(tttInput the fileshuming:);scanf(ttt%s,fileshuming);if(fp=fopen(fileshuming,rb)=NULL) printf(tttcannt open the filen);printf(ttt);system(pause);return(n);fscanf(fp,%d,&bianhao);while(ibianhao)fscanf(fp,%s%s%s%s,testn+i.bianhao,testn+i.shuming,testn+i.zuozhe,testn+1.chuku);
18、i+;n+=bianhao;fclose(fp);printf(tttSuccessed!n);printf(ttt);system(pause);return(n);void WritetoText(testbook test,int n)int i=0;FILE *fp;char fileshuming20;printf(tttWrite Records to a Text Filen);printf(tttInput the fileshuming:);scanf(ttt%s,fileshuming);if(fp=fopen(fileshuming,w)=NULL)printf(tttc
19、annt open the filen);system(pause);return;fprintf(fp,%dn,n);while(in)fprintf(fp,%-16s%-15s%-15s%-15s%d%-13s%-12sn,testi.bianhao,testi.shuming,testi.zuozhe,testi.chuku,testi.danjia,testi.maishuren,testi.ruku);i+;fclose(fp);printf(Successed!n);void main()int i=0,h;if(fopen(jiaocao.txxt,r)=NULL) fp=fop
20、en(jiacao.txt,w);elsefp=fopen(jiaocai.txt,r+); while(fscanf(fp,%10s,%20s,%20d,%10d,%10s,%10s,%10s, &testn.bianhao,testn.shuming,testn.zuozhe,testn.danjia,testn.maishuren,testn.ruku,testn.chuku)!=EOF)n+;L1:printf(tt*Welcome To The TestBooks Management System*n); /*/printf(tt | 1. Input Records |n);pr
21、intf(tt | 2. Display All Records |n);printf(tt | 3. Sort |n);printf(tt | 4. Insert a Record |n);printf(tt | 5. Delete a Record |n);printf(tt | 6. check|n);printf(tt | 7. Statistic |n);printf(tt | 8. Add Records from a Text File|n);printf(tt | 9. Write to a Text file |n);printf(tt | 0. Quit |n);print
22、f(tt*n);printf(tttGive your Choice(0-9):);scanf(%d,&h);switch(h)goto L1;case 1:printf(tttInput Recordsn);n=Input(test, n);goto L1;break;case 2:printf(tttDisplay All Recordsn);Display(test, n);goto L1;break;case 3:printf(tttInsert a Recordn);n=Insert_a_record(test, n);printf(ttt);system(pause);goto L
23、1;break;case 4:printf(tttDelete a Recordn);n=Delete_a_record(test,n);printf(ttt);system(pause);goto L1;break;case 5:printf(tttAdd Records from a Text Filen);n=AddfromText(test, n);goto L1;break;case 6:printf(tttWrite to a Text filen);WritetoText(test, n);printf(ttt);system(pause);goto L1;break;case
24、0:printf(Have a Good Luck,Bye-bye!n);printf(this system cost me a whole night to compose at last i finish itn);printf( i feel very happyn);printf(ttt);system(pause);exit(0); for(i=0;i=n;i+) fprintf(fp,%10s,%20s,%20d,%10d,%10s,%10sn, testn.bianhao,testn.shuming,testn.zuozhe,testn.danjia,testn.maishur
25、en,testn.ruku,testn.chuku); fclose(fp);_六、 程序运行结果及系统使用说明 课程设计评分表学生姓名: 班级: 学号:课程设计题目: 项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合要求。10说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1