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

    C语言程序设计_题库管理系统.doc

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

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

    C语言程序设计_题库管理系统.doc

    程序设计基础课程设计报告班 级: 计算机科学与技术1103班 姓 名: 杨广宇 指导教师: 胡宏涛 完成日期: 2012年9月6日 (题目)1 设计题目与要求(简要介绍课程设计题目内容与要求。)1设计内容要求输入试题(仅限选择题和填空题)基本信息,实现试题浏览.,查询,修改功能,并将数据保存至文本文件。2要求功能完善,界面友好。2 算法设计与描述(要求有相关流程图) 2.1 算法设计与描述(描述算法设计、实现过程。)1.提供可操作的主菜单:输出主菜单,用户可根据菜单来选择操作。根据客户输入的选项来运行不同的功能,运行不同的函数。2.。试题信息的录入函数:按照提示输入题的题号,题目内容,并提示用户是否继续录入,每输入一个记录,全局变量n就自增,最后最为函数的返回值返回。3.保存试题信息函数:将文件的所有数据通过fprintf来写入指定文本文档,完成后关闭文件,没有返回值4. 载入试题信息函数:通过fopen函数打开指定文件,通过fscanf来读取文件里的数据,最后返回记录数,避免了每次打开时都要输入数据的麻烦。5. 查询记录函数:细分为按题号,题目两种方式来进行查询记录,并能对查询记录不存在进行提示。遍历所有结构体找出符合的输出。 6. 修改记录函数:首先判断用户要修改的试题序号是否存在,进行相应的系统提示,然后遍历所有记录找出符合的,按照提示依次进行修改项目,返回记录值不变(没增加也没减少)。7. 删除记录函数:首先判断用户要删除的试题序号是否存在,进行相应的系统提示,然后遍历所有记录找出符合的删除,冰讲后面的所有数据向前移动一个位置,记录数减一并返回。 2.2 主要流程图(用NS图描述。)1,、输入函数2、保存函数3、载入函数4、查询函数5、修改函数6、删除函数3 设计软硬件环境 硬件设备 系统:Microsoft Windows XP Professional 版本 2002 机型:Inter ® Core2 Duo CPU E8400 3.00GHz 2.99GHz, 2.00 GB内存 软件设备 Microsoft Visual C+ 6.0应用程序调试4 源程序代码清单#include<stdio.h> #include<stdlib.h>#include<string.h> typedef struct char tihao10; /题号char timu15; /题目Data; Data da80; int menu_select() char c; do system("cls"); printf("ttt =题库管理系统= n"); printf("ttt n"); printf("ttt 1. 题目的输入 n"); printf("ttt 2. 题目的浏览 n"); printf("ttt 3. 题目信息更改 n"); /包括删除,插入和更改printf("ttt 4. 题目信息查询 n"); printf("ttt 5. 题目文件操作 n"); /包括保存,读取和复制printf("ttt 0. 退出管理系统 n"); printf("ttt n"); printf("ttt = n");printf("ntt请您选择(0-5):"); c=getchar(); while(c<'0'|c>'5'); return(c-'0'); void tihaosort(Data dat,int n) /题号排序int i,j;Data temp;for(i=0;i<n;+i)dai=dati;for(i=0;i<n-1;+i)for(j=i+1;j<n;+j)if(strcmp(dai.tihao,daj.tihao)>0)temp=dai;dai=daj;daj=temp;printf("tt=排序成功=n");void SaveText(Data dat,int n) /保存函数int i; FILE *fp; /*指向文件的指针*/ if(fp=fopen("txl.txt","wb")=NULL) /*打开文件,并判断打开是否正常*/ printf("t不能打开文件n"); /*没打开*/ exit(1); /*退出*/ fprintf(fp,"%d",n); /*将记录数写入文件*/fprintf(fp,"rn");for(i=0;i<n;i+) fprintf(fp,"%-8s%-6s",dati.tihao,dati.timu);fprintf(fp,"rn"); /*将换行符号写入文件*/ fclose(fp);int LoadText(Data dat) /载入函数int i,n;FILE *fp;if(fp=fopen("txl.txt","r")=NULL)printf("不能打开文件n");exit(1);fscanf(fp,"%d",&n); /*读入记录数*/for(i=0;i<n;i+)fscanf(fp,"%s%sn",dati.tihao,dati.timu);/*按格式读入记录*/fclose(fp);return n; /*返回记录数*/int Charu(Data dat,int n) /插入函数Data temp; /*新插入记录信息*/int i=0,j,k;char s20;doprintf("t请插入您的数据n");printf("t题号:"); scanf("t%s",temp.tihao); for(k=0;k<n;k+) /判断插入数据是否存在if(strcmp(datk.tihao,temp.tihao)=0)printf("t-该记录已存在,请重新输入!-n");system("pause");system("cls");break;while(strcmp(datk.tihao,temp.tihao)=0);printf("t题目:"); scanf("t%s",temp.timu); printf("t请输入插入位置的题号:");scanf("t%s",s); /*输入插入位置的题号*/while(strcmp(dati.tihao,s)!=0&&i<n) i+;if(i=n)printf("t-题库中没有记录,请查询后再操作!-n");return n;for(i=0;strcmp(dati.tihao,s)!=0;i+) ;printf("ntt*插入成功!*n");for(j=n-1;j>=i;j-) /*从最后一个结点开始向后移动一条*/strcpy(datj+1.tihao,datj.tihao); /*当前记录的题号拷贝到后一条*/strcpy(datj+1.timu,datj.timu);strcpy(dati.tihao,temp.tihao); /*将新插入记录的题号拷贝到第i个位置*/strcpy(dati.timu,temp.timu);n+; /*记录数加1*/return n;int Shuru(Data dat,int n) /输入函数int i=0; char ch; while(ch!='n'&&ch!='N') /用来判断是否继续输入 system("cls");printf("t题号:"); scanf("t%s",datn+i.tihao); printf("t题目:"); scanf("t%s",datn+i.timu); printf("nt是否继续添加?(Y/N)"); scanf("t%c",&ch);i+; return (n+i); /其实输入除了N和n的任意键均能实现继续添加的功能 void List(Data dat,int n) /显示函数 int i; printf("=共%d条记录=n",n);printf("n"); /*格式*/ printf("题号 题目 n"); printf("n"); for(i=0;i<n;i+) printf("%2st%3sn",dati.tihao,dati.timu); /*按格式输出*/printf("n"); system("pause"); int Shanchu(Data dat,int n) /删除函数 char s20; /*要删除记录的题号*/int i=0,j; printf("t请输入想删除记录中的题号:"); scanf("%s",s); while(strcmp(dati.tihao,s)!=0&&i<n) i+; /*查找要删除的记录题号*/if(i=n) printf("t题库中没有此题!n"); return(n); for(j=i;j<n-1;j+) /数据交换 strcpy(datj.timu,datj+1.timu); strcpy(datj.tihao,datj+1.tihao); printf("ttt已经成功删除!n"); return(n-1); void Chazhao(Data dat,int n) /查询函数 int j;printf("tn请选择查询方式:n"); printf("tn"); printf("t1-题号 n"); printf("t0-返回 n"); printf("tn"); printf("请选择:"); scanf("%d",&j); if(j=1)char s20; int i=0; printf("t请输入想查询的题号:"); scanf("t%s",s); while(strcmp(dati.tihao,s)!=0&&i<n) i+; if(i=n) printf("t题库中没有此题!n"); return; printf("t此题内容n"); printf("t%5sn",dati.timu); ;void Biangeng(Data dat,int n) /修改函数char s20; int i=0; printf("t请输入想修改的试题的题号:"); scanf("%s",s); while(strcmp(dati.tihao,s)!=0&&i<n) i+; if(i=n) printf("t题库中没有此题!n"); return; printf("t题号:"); scanf("t%s",dati.tihao); printf("t题目:"); scanf("t%s",dati.timu); printf("nt修改成功!");void CopyText() /复制文件函数 char outfile20; /*目标文件名*/int i,n; Data temp80;FILE *fp,*fc;if(fp=fopen("txl.txt","rb")=NULL) /*打开记录文件*/ printf("tt不能打开文件n"); /*显示不能打开文件信息*/ exit(1); /*退出*/printf("tt输入目标文件名(例如c:outfile.txt):");scanf("%s",outfile);if(fc=fopen(outfile,"wb")=NULL) /*打开目标文件*/ printf("tt不能打开文件n"); /*显示不能打开文件信息*/ exit(1); /*退出*/ fscanf(fp,"%d",&n); /*读出文件记录数*/ fprintf(fc,"%d",n); /*写入目标文件数*/ fprintf(fc,"rn"); /*写入换行符*/ for(i=0;i<n;i+)fscanf(fp,"%s%sn",tempi.tihao,tempi.timu);fprintf(fc,"%-8s%-6s",tempi.tihao,tempi.timu);fprintf(fc,"rn"); /*写入换行符*/ fclose(fp); /*关闭源文件*/ fclose(fc); /*关闭目标文件*/printf("tt您已成功复制文件!n"); /* 主函数 */void main() int n=0; for(;) switch(menu_select() case 1: system("cls");n=Shuru(da,n); break; case 2: system("cls");int k;printf("ttt =题库信息管理系统= n"); printf("ttt n");printf("ttt 1.显示全部题目 n");printf("ttt 2.按题号排序信息 n");printf("ttt 0.返回上一级菜单 n");printf("ttt n");printf("ttt = n");printf("ntt请选择:"); scanf("%d",&k);switch(k)case 1: /显示信息system("cls");List(da,n);break;case 2:/题号排序tihaosort(da,n);system("pause");break;case 0:; break;case 3: system("cls");int m;printf("ttt =题库信息管理系统= n"); printf("ttt n");printf("ttt 1.题库信息的修改 n");printf("ttt 2.题库信息的删除 n");printf("ttt 3.题库信息的插入 n");printf("ttt 0.返回 n");printf("ttt n");printf("ttt = n");printf("ntt请选择:");scanf("%d",&m);switch(m)case 1:system("cls");Biangeng(da,n);printf("t"); system("pause"); break; case 2:system("cls");n=Shanchu(da,n); /*删除记录*/ printf("t"); system("pause"); break; case 3:system("cls");n=Charu(da,n);/插入函数printf("t"); system("pause"); break; case 0:; break;case 4:system("cls");printf("nt*在题库中查找记录*n"); Chazhao(da,n); printf("t"); system("pause"); break;case 5: system("cls");int x;printf("ttt =题库信息管理系统= n"); printf("ttt n"); printf("ttt 1.题库信息的载入 n");printf("ttt 2.题库信息的保存 n");printf("ttt 3.题库信息的复制 n");printf("ttt 0.返回 n");printf("ttt n");printf("ttt = n");printf("ntt请选择:");scanf("%d",&x);switch(x)case 1:n=LoadText(da);printf("tt您已经成功的将题目导入到题库!n");printf("t"); system("pause"); break; case 2:printf("tt=题库的保存=n");SaveText(da,n);printf("ntt保存成功n");printf("t"); system("pause");break;case 3:CopyText(); /*保存数据*/ printf("t"); system("pause"); break; case 0: ;break;case 0: printf("nttt感谢您的使用,再见!n"); exit(0); 5 程序运行结果(可截屏程序运行界面。)1、主界面显示2、试题的输入3、函数的保存4、试题库的载入5,、试题的浏览与查询6、函数的修改与删除6 设计总结(重点从设计方法、实现技术、功能等几方面总结。)通过此次的程序设计课学到了很多,对C语言也有了更好的了解,同时也对C程序的操作和调试也有了进一步的掌握。尽管程序中的一部分是从网上复制过来的,但其中都加入了自己手动修改的元素,并且把一些以前不懂的弄懂了,总之经过了几天的奋斗我们都掌握了很多知识,收获了很多。开学的第一天,老师们就让我们分组进行程序设计,题目发下来顿时怵了,只是几个人在一起商量了一下把程序的大致框架熟悉了一下,但由于是头一次搞,根本不知道从哪些地方着手,原本学到的只是到真正运用的时候才显得那么的苍白,就这样整整一个上午的时间什么进展都没有,我们只是在那里看书,熟悉知识。下午有网了,我们便取巧百度了一个程序进行调试,目的是熟悉分析程序的运转效果,查询整理我们所需要的应用函数,于是才渐渐摸清了我们要进行的方向。首先,我们要进行的是主体框架的设置,为了节省时间,我们拟在一个运行程序里进行删减,从整体中将“肉”剔除,然后得到我们的主体,刚开始不懂得,只知道将哪来的代码胡乱的删去了事,后来发现程序虽然没错了,但只剩下了一副空壳,原有的功能都没有了。 然后,我们商议给这副“骨架”填“肉”,因为这我们也吃了不少口头,拼命看书了解掌握相应函数如save& load的相关函数,网上查找相应函数的用法以及问题解决办法,再不行的我们就请教老师,也因此吃够了BUG的苦头。终于,经历了九九八十一难,我们提前完成了程序的调试,欢呼声我们从中遇到的问题有N+个,我们也学到了很多知识。其一、我们刚开始进行试题输入的时候,总是输入后杳无音讯,查无所踪,无法进行浏览和查询,我们网上查询才知道是出在了文件的保存和载入的问题,于是我们inquire出save、load和fopen等函数解决了这个问题。其二、开始我们的界面做的很不好,巨难看,于是我们继续百度inquire,找到了很多不错的界面模版,填印进去,然后就是一长串的BUG、BUG、BUG于是我们也了解到“肉”也是不可以乱添,否则会有异体排斥的。其三、原先我们进行的信息输入总会保存不完善,行幅不协调,在浏览时很难看,我们找出是输入字节设置的问题,就这样我们就轻松搞定了。从中我也体会到了团队合作重要,我想没有我们组各个成员的分工合作、集体商议,我想一个人是很难完成的,而且在开始的时候遇到了很多问题没法解决,摆好时间没有进展,当我认为是设计思路错误,想要放弃重来时,也是队友及朋友的鼓劲支持,才得以见到柳暗花明的一刻。一个星期很快就过去了,程序设计课也接近尾声了,通过请教别人,在发现问题然后解决问题的过程中体会到了不一样的快乐!虽然有时会为了一个小小的BUG苦恼不已,但当解决后却是异常的兴奋!现在回想来看这个程序觉得不是很复杂,但我却不能很顺利的完成,因此我还要好好的学习,努力奋斗!参考文献1谭浩强编著 C程序设计解题与上机指导(第三版)。北京:清华大学出版社,200523格式如下:1朱战立编著. 数据结构使用C语言(第4版). 北京:电子工业出版社, 2009.要求:字体为宋体,字号为五号,行距为单倍,字数不少于3000字。

    注意事项

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

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




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

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

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

    收起
    展开