欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    小说管理系统(共30页).doc

    • 资源ID:14405451       资源大小:128.50KB        全文页数:30页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    小说管理系统(共30页).doc

    精选优质文档-倾情为你奉上 课 程 设 计报 告 题目:小说管理系统 系部名称:电子与信息工程系专业名称:电子信息工程班 级:电子1304学号:学生姓名 :指导教师:时间:2014年2月24日 至2014年3月7日题目:小说管理系统一、 课程设计目的 掌握C语言的课程设计结构,语法规则,编程方法,达到独立编程能力,为以后的学习,设计大型应用系统打下坚实的基础。二、课程设计内容 通过结构体、数组、文件等的应用,设计了一个小型的小说管理系统。三、需求分析该小说管理系统,具有最基本的功能:1:通过输入和存储小说编号、小说名称、小说种类、小说总评、完结日期;2:将输入信息输出;3:通过输入小说名称或小说编号查询出所要的信息;4:添加小说信息;5;输入想要修改的小说的名称、种类、总评,可以将任一小说信息修改;6:通过输入要删除小说的编号或名称,可删除此小说的全部信息;7:可按照小说编号或完结日期对小说信息进行排序;四、概要设计1)、系统结构图 对系统进行分析,给出结构图添加模块修改模块删除模块主函数输入模块输出模块更新模块查询模块保存文件退出程序统计模块 修改模块修改种类修改总评删 除模块按名称删 除按 编号删 除 修改名称查询模块按 名称查 询按 编号查 询2)模块功能简介:1、 输入模块:输入要存储的信息,最多只能存入15个信息。2、 输出模块:输出已经输入的信息。3、 添加模块:添加一些信息到存储系统。4、 修改模块:将已存储的名称、种类、总评这些信息进行修改。5、查询模块:(1)按名称查询函数:通过输入小说名称,若该名称在存储信息中,则将输出关于该小说的所有信息,若不存在,则输出没有关于此小说的信息;(2)按编号查询函数:输入编号在存储信息中,则输出关于该编号小说的所有信息,若无,则输出没有关于此编号的信息;(3)返回主菜单:返回系统主菜单。6、删除模块: (1)按编号删除:通过输入编号将该小说信息全部删除,若无该小说信息,则告知无关于此编号的小说信息; (2)按名称删除:通过输入名称将小说信息全部删除,若无该小说信息,则告知无关于此名称的小说信息;(3)返回主菜单:返回系统主菜单。五.详细设计及运行结果主函数:i=0输出i<sum退出开始i=0,s=MAX输出输入入i<MAX?开始退出输入模块:输出模块: 输出模块:是开 始choice=1?输入提示信息输入信息是是更新信息输出信息choice=2?choice=3?输出模块:是开 始choice=1?输入提示信息输入信息输出模块:是开 始choice=1?输入提示信息开 始输入提示信息 是输入信息choice=1? 是输出信息choice=2? 是choice=3? 更新信息 是查询信息choice=4? 输出模块: 是排序模块choice=5? 输出信息输入(choice)添加模块删除模块修改模块开始退出更新模块:1 2 3 0选择修改的内容i=0i<sum开始退出Strcmp()输出修改后的信息继续退出YNNY修改模块:i=sum输入新信息继续i+flage=1 flage=0开始退出NY添加模块:添加模块: i=sum输入新信息继续i+flage=1 flage=0开始退出NY 删除模块:选择要删除的选项输入i=0i<sum?mStrcmp()比较名称或编号开始YY不同相同Y删除?j+j<sum?继续?输出无此内容退出N查询模块:输出提示信息输入要查询的内容i<0Strcmp()查有此?输出该条信息继续?输出无此内容开始Y退出NYN 用下条信息代替此条 i=0,j=i+1i<sum-1,j<sum,i+,j+比较交换:t=stui;stui=stuj;stuj=t;输出排序的内容排序模块:开始退出 六.调试情况,设计技巧及体会这次C语言的实习,自己最大的感受是无知.知识总是在用的时候才知道匮乏,以前觉得自己C语言考试过了,就是合格了,对自己要求太低,以至于这次实习遇到很大的麻烦.这个程序是我按照书上例题程序模仿编写的,当程序写完后,运行时发现有许多错误,我请教老师和同学,对程序进行了耐心细致的修改,经过一番努力,程序里的错误终于被全部纠正了。但程序没有错误不代表它能正常运行,基础知识不够扎实是我最大的问题,对很多知识点是只知其一,不知其二,或是只知其然而不知其所以然,C语言程序的编写和运行是非常具有科学性的,没有正确掌握C语言编写的风格和规则,要编译成功较为复杂的程序真的是困难重重.正所谓”无以规矩,不成方圆”,对待科学文化知识没有一个严谨求实的态度,只能让自己在在成功路上举步为艰.但一份耕耘一份收获,两个星期的C语言实习,我又重新拾起了渐以模糊的C语言知识和概念,通过上机调试程序,不但熟悉了C语言的一些基本知识,而且熟练了上机实践,通过实践,又掌握了一些在书本上学不到的解决实际问题的方法,此外,也将学过的计算机基础知识做了一次复习,这次实习确实是一次非常珍贵的实习.我明确了以后的方向和目标,再也不会荒废时间了.七.参考文献C语言程序设计(第二版) 王曙燕/主编八.附录源代码#include "stdio.h"#include "string.h"#include "stdlib.h"#include "conio.h"#define MAX 15int sum; /*记录小说个数*/*日期结构体类型*/struct date int year; int month; int day;/*小说信息结构体类型*/struct novel_type int num; char name20; char kind20; float score; struct date time;novelMAX;/*存放MAX部小说信息记录的结构体数组*/*函数声明*/int input_message();void output_message();int add_message();int delet_by_name();int delet_by_num();int renew_message();int inquire_name();int inquire_num();int inquire_message();int sort_num();int sort_time();int sort_message();int read_message();/*保存信息*/save_message(int sum) FILE *fp;/*定义文件指针*/ int i; if(fp=fopen("book.txt","wb")=NULL) printf("读文件错误!n"); return 0; for(i=0;i<sum;i+) if(fwrite(&noveli,sizeof(struct novel_type),1,fp)!=1) printf("写文件错误!n"); fclose(fp); return 0;/*主函数*/main()int choice;sum=read_message();doprintf("nnn *小说信息管理系统*nn");printf(" 1.录入小说信息nn");printf(" 2.浏览小说信息nn");printf(" 3.更新小说信息nn");printf(" 4.小说信息排序nn");printf(" 5.查询小说信息nn");printf(" 0.退出系统nn");printf(" 请选择(0-5): nnn");printf(" -");scanf("%d",&choice);switch(choice)case 1: input_message();break;case 2: output_message();break; case 3: renew_message();break; case 4: sort_message();break; case 5: inquire_message();break; case 0: break;while(choice!=0);save_message(sum);printf("n -以上小说信息已保存!- (文件名:book.txt) n");return 0;/*输入模块*/input_message()int i=0,s=MAX;printf("nn 录入小说信息 (最多%d部)n",s);printf("n");doprintf("n 第%d部小说",i+1);printf("nn 编号:");scanf("%d",&noveli.num);if(noveli.num=0) break;printf("n 名称:");scanf("%s",noveli.name);printf("n 种类:");scanf("%s",noveli.kind);printf("n 总评:");scanf("%f",&noveli.score);printf("n 完结日期(yyyy-mm-dd):");scanf("%d-%d-%d",&noveli.time.year,&noveli.time.month,&noveli.time.day);i+;while(i<MAX);printf("n -%d部小说信息输入完毕!-n",i);sum=i;printf("n 按任意键返回主菜单!");return 0;/*读取信息*/int read_message()FILE *fp;int i=0;if(fp=fopen("book.txt","rb")=NULL)/*打开文件*/printf("nn*暂时还没有任何库存信息,按任意键进入主菜单选择基本信息的录入!*n");return 0;while(!feof(fp)fread(&noveli,sizeof(struct novel_type),1,fp);if(noveli.num=0) break;else i+;fclose(fp);/*关闭文件*/return(i);/*小说信息浏览*/void output_message()int i;printf("nn *小说信息表* nn");printf("n");printf(" 编号-名称-种类-总评-完结日期 nn");for(i=0;i<sum;i+)printf(" %5d %12s %8s %10f %7d-%2d-%2dn",noveli.num,noveli.name,noveli.kind,noveli.score,noveli.time.year,noveli.time.month,noveli.time.day);/*添加小说信息*/add_message()int i=sum,flag=0;char choice,ch;printf("nn 添加一本小说的信息n");printf("n");donoveli.num=+sum;printf("n 编号:");scanf("%d",&noveli.num);printf("n 名称:");scanf("%s",noveli.name);printf("n 种类:");scanf("%s",noveli.kind);printf("n 总评:");scanf("%f",&noveli.score);printf("n 完结日期(yyyy-mm-dd):");scanf("%d-%d-%d",&noveli.time.year,&noveli.time.month,&noveli.time.day);printf("nnn 要继续吗? (Y/N) ");ch=getchar();choice=getchar();i+;if(choice='y'|choice='Y')printf("n 继续! n");flag=1;else flag=0;while(flag=1);printf("n 按任意键返回主菜单!");return 0;/*按小说名称删除*/int delet_by_name() int i=0,k,flag;char ch,delet_name20; char choice;doprintf("n 输入要删除的小说名称:");scanf("%s",delet_name);for(i=0;i<MAX;i+)if(strcmp(noveli.name,delet_name)=0)k=i;for(k=i;k<MAX-1;k+)novelk=novelk+1;sum=MAX-1;if(i=MAX)printf("n 无该小说信息!");return 0;printf("nn 要继续删除吗?(Y/N)");ch=getchar();choice=getchar();if(choice='Y'|choice='y')flag=1;printf("n 继续!n");else flag=0;while(flag=1);printf("n 删除完毕!");return 0;/*按小说编号删除*/ int delet_by_num() int i,j,delet_num,flag,b=0; char ch; char choice;do printf(" 输出要删除的小说编号:");scanf("%d",&delet_num);for(i=0;i<sum;i+)if(noveli.num=delet_num&&noveli.num!=0)for(j=i;j<sum;j+)novelj=novelj+1;sum-;break;else b+;printf("n");printf(" 编号-名称-种类-总评-完结日期 nn");for(i=0;i<sum;i+)printf(" %5d %12s %8s %10f %7d-%2d-%2dn",noveli.num,noveli.name,noveli.kind,noveli.score,noveli.time.year,noveli.time.month,noveli.time.day);printf("n");if(sum=b)printf("n 无该小说信息!"); return 0;printf("nn 要继续删除吗?(Y/N)");ch=getchar();choice=getchar();if(choice='Y'|choice='y')flag=1;printf("n 继续! n");else flag=0;while(flag=1);printf("n 删除完毕! ");return 0; /*删除模块*/int delet_message() int choice; do printf("nn - 删除小说信息 -nnn"); printf(" 1.按小说名称删除nn"); printf(" 2.按小说编号删除nn"); printf(" 0.返回主菜单nn"); printf(" 请选择(0-2)nn;"); scanf("%d",&choice); switch(choice) case 1: delet_by_name();break; case 2: delet_by_num();break; case 0: break; while(choice!=0); save_message(sum); return 0;/*修改模块*/revise_message() int i=0,choice,revise_num,flag; do printf("n 请输入要修改的小说编号:"); scanf("%d",&revise_num); for(i=0;i<sum;i+) if(noveli.num=revise_num) printf("n -小说信息-n"); printf("n"); printf(" 编号-名称-种类-总评-完结日期 nn"); printf(" %5d %12s %8s %10f %7d-%2d-%2dn",noveli.num,noveli.name,noveli.kind,noveli.score,noveli.time.year,noveli.time.month,noveli.time.day); printf("n 您要修改哪一项?n"); printf("n 1.名称n"); printf("n 2.种类n"); printf("n 3.总评n"); printf("n 请选择(1-3):"); scanf("%d",&choice); switch(choice) case 1:printf("n 输入修改后的名称:"); scanf("%s",noveli.name); break; case 2:printf("n 输入修改后的种类:"); scanf("%s",noveli.kind); break; case 3:printf("n 输入修改后的总评:"); scanf("%f",&noveli.score); break; printf("n"); printf(" 编号-名称-种类-总评-完结日期 nn"); printf(" %5d %12s %8s %10f %7d-%2d-%2dn",noveli.num,noveli.name,noveli.kind,noveli.score,noveli.time.year,noveli.time.month,noveli.time.day); break; if(i=sum) printf("n 该小说不存在!"); return 0; printf("nn 继续修改吗? (Y/N) "); choice=getchar(); if(choice='Y'|choice='y') flag=1; printf("n 继续!n"); else flag=0; while(flag=1); printf("n 按任意键返回主菜单!"); return 0;/*更新模块*/renew_message() int choice; do printf("nnn *更新小说信息*nn"); printf(" 1.添加小说信息nn"); printf(" 2.删除小说信息nn"); printf(" 3.修改小说信息nn"); printf(" 0.返回主菜单nn"); printf(" 请选择(0-3):"); scanf("%d",&choice); switch(choice) case 1:add_message();break; case 2:delet_message();break; case 3:revise_message();break; case 0:break; while(choice!=0);return 0;/*按名称查询*/inquire_name() int i; char inquire_name10; printf("n 输入要查询的小说名称:"); scanf("%s",inquire_name); for(i=0;i<sum;i+) if(strcmp(noveli.name,inquire_name)=0&&noveli.num!=0) printf("n -%s小说信息- n",noveli.name); printf("n"); printf(" 编号-名称-种类-总评-完结日期 nn"); printf(" %5d %12s %8s %10f %7d-%2d-%2dn",noveli.num,noveli.name,noveli.kind,noveli.score,noveli.time.year,noveli.time.month,noveli.time.day); if(i=sum) printf("n 该小说信息不存在!"); return 0;inquire_num() /*按编号查询*/ int i,j=0; int inquire_num; printf("n 请输入要查询的小说编号:"); scanf("%d",&inquire_num); for(i=0;i<sum;i+) if(noveli.num=inquire_num&&noveli.num!=0) printf("n -%d号小说信息- n",noveli.num); printf("n"); printf(" 编号-名称-种类-总评-完结日期 nn"); printf(" %5d %12s %8s %10f %7d-%2d-%2dn",noveli.num,noveli.name,noveli.kind,noveli.score,noveli.time.year,noveli.time.month,noveli.time.day); else j+; if(j=sum) printf("nn 该小说信息不存在!"); return 0;/*查询模块*/inquire_message() int choice; do printf("nnn *查询小说信息*nn"); printf(" 1.按小说名称查询nn"); printf(" 2.按小说编号查询nn"); printf(" 0.返回主菜单nn"); printf(" 请选择(0-2):"); scanf("%d",&choice); switch(choice) case 1:inquire_name();break; case 2:inquire_num();break; case 0:break; while(choice!=0); return 0;/*按编号排序*/ sort_num()

    注意事项

    本文(小说管理系统(共30页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开