ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:553.52KB ,
资源ID:5361944      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5361944.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计题库管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、C语言程序设计题库管理系统程序设计基础课程设计报告班 级: 计算机科学与技术1103班 姓 名: 杨广宇 指导教师: 胡宏涛 完成日期: 2012年9月6日 (题目)1 设计题目与要求(简要介绍课程设计题目内容与要求。)1设计内容要求输入试题(仅限选择题和填空题)基本信息,实现试题浏览.,查询,修改功能,并将数据保存至文本文件。2要求 功能完善,界面友好。2 算法设计与描述(要求有相关流程图) 2.1 算法设计与描述(描述算法设计、实现过程。)1.提供可操作的主菜单:输出主菜单,用户可根据菜单来选择操作。根据客户输入的选项来运行不同的功能,运行不同的函数。2.。试题信息的录入函数:按照提示输入

2、题的题号,题目内容,并提示用户是否继续录入,每输入一个记录,全局变量n就自增,最后最为函数的返回值返回。3.保存试题信息函数:将文件的所有数据通过fprintf来写入指定文本文档,完成后关闭文件,没有返回值4. 载入试题信息函数:通过fopen函数打开指定文件,通过fscanf来读取文件里的数据,最后返回记录数,避免了每次打开时都要输入数据的麻烦。5. 查询记录函数:细分为按题号,题目两种方式来进行查询记录,并能对查询记录不存在进行提示。遍历所有结构体找出符合的输出。 6. 修改记录函数:首先判断用户要修改的试题序号是否存在,进行相应的系统提示,然后遍历所有记录找出符合的,按照提示依次进行修改

3、项目,返回记录值不变(没增加也没减少)。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

4、.0应用程序调试4 源程序代码清单#include #include#include 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);

5、 printf(ttt 5. 题目文件操作 n); /包括保存,读取和复制 printf(ttt 0. 退出管理系统 n); printf(ttt n); printf(ttt = n); printf(ntt请您选择(0-5):); c=getchar(); while(c5); return(c-0); void tihaosort(Data dat,int n) /题号排序 int i,j; Data temp; for(i=0;in;+i) dai=dati; for(i=0;in-1;+i) for(j=i+1;j0) temp=dai;dai=daj;daj=temp; print

6、f(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;in;i+) fprintf(fp,%-8s%-6s,dati.tihao,dati.timu); fprintf(fp,rn); /*将换行符号写入文

7、件*/ 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;in;i+) fscanf(fp,%s%sn,dati.tihao,dati.timu); /*按格式读入记录*/ fclose(fp); return n; /*返回记录数*/int Charu(Data dat,int n) /插入函数 Data temp; /*新插入记录信息*/ in

8、t i=0,j,k; char s20; do printf(t请插入您的数据n); printf(t题号:); scanf(t%s,temp.tihao); for(k=0;kn;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请输入插入位置的题号:

9、); scanf(t%s,s); /*输入插入位置的题号*/ while(strcmp(dati.tihao,s)!=0&i=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

10、) /输入函数 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);

11、 /*格式*/ printf(题号 题目 n); printf(n); for(i=0;in;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&in) i+; /*查找要删除的记录题号*/ if(i=n) printf(t

12、题库中没有此题!n); return(n); for(j=i;jn-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)

13、 char s20; int i=0; printf(t请输入想查询的题号:); scanf(t%s,s); while(strcmp(dati.tihao,s)!=0&in) 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&in) i+;

14、 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 out; /*目标文件名*/ int i,n; Data temp80; FILE *fp,*fc; if(fp=fopen(txl.txt,rb)=NULL) /*打开记录文件*/ printf(tt不能打开文件n); /*显示不能打开文件信息*/ exit(1); /*退出*/ pri

15、ntf(tt输入目标文件名(例如c:out):); 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;in;i+) fscanf(fp,%s%sn,tempi.tihao,tempi.timu); fprintf(fc,%-8s%-6s,te

16、mpi.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.显

17、示全部题目 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

18、); 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); /*删除记录

19、*/ 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

20、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保存成功

21、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程序的操作和调试

22、也有了进一步的掌握。尽管程序中的一部分是从网上复制过来的,但其中都加入了自己手动修改的元素,并且把一些以前不懂的弄懂了,总之经过了几天的奋斗我们都掌握了很多知识,收获了很多。开学的第一天,老师们就让我们分组进行程序设计,题目发下来顿时怵了,只是几个人在一起商量了一下把程序的大致框架熟悉了一下,但由于是头一次搞,根本不知道从哪些地方着手,原本学到的只是到真正运用的时候才显得那么的苍白,就这样整整一个上午的时间什么进展都没有,我们只是在那里看书,熟悉知识。下午有网了,我们便取巧XX了一个程序进行调试,目的是熟悉分析程序的运转效果,查询整理我们所需要的应用函数,于是才渐渐摸清了我们要进行的方向。首先

23、,我们要进行的是主体框架的设置,为了节省时间,我们拟在一个运行程序里进行删减,从整体中将“肉”剔除,然后得到我们的主体,刚开始不懂得,只知道将哪来的代码胡乱的删去了事,后来发现程序虽然没错了,但只剩下了一副空壳,原有的功能都没有了。 然后,我们商议给这副“骨架”填“肉”,因为这我们也吃了不少口头,拼命看书了解掌握相应函数如save& load的相关函数,网上查找相应函数的用法以和问题解决办法,再不行的我们就请教老师,也因此吃够了BUG的苦头。终于,经历了九九八十一难,我们提前完成了程序的调试,欢呼声我们从中遇到的问题有N+个,我们也学到了很多知识。其一、我们刚开始进行试题输入的时候,总是输入后杳无音讯,查无所踪,无法进行浏览和查询,我们网上查询才知道是出在了文件的保存和载入的问题,于是我们inquire出s

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

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