C语言程序设计 题库管理系统.docx
《C语言程序设计 题库管理系统.docx》由会员分享,可在线阅读,更多相关《C语言程序设计 题库管理系统.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序设计根底课程设计报告班 级: 计算机科学及技术1103班 姓 名: 杨广宇 指导老师: 胡宏涛 完成日期: 2012年9月6日 题目1 设计题目及要求简要介绍课程设计题目内容及要求。1设计内容要求输入试题仅限选择题和填空题根本信息,实现试题阅读.,查询,修改功能,并将数据保存至文本文件。2要求功能完善,界面友好。2 算法设计及描绘要求有相关流程图 2.1 算法设计及描绘描绘算法设计、实现过程。1.供应可操作的主菜单:输出主菜单,用户可依据菜单来选择操作。依据客户输入的选项来运行不同的功能,运行不同的函数。2.。试题信息的录入函数:依据提示输入题的题号,题目内容,并提示用户是否接着录入,每输
2、入一个记录,全局变量n就自增,最终最为函数的返回值返回。3.保存试题信息函数:将文件的全部数据通过fprintf来写入指定文本文档,完成后关闭文件,没有返回值4. 载入试题信息函数:通过fopen函数翻开指定文件,通过fscanf来读取文件里的数据,最终返回记录数,防止了每次翻开时都要输入数据的费事。5. 查询记录函数:细分为按题号,题目两种方式来进展查询记录,并能对查询记录不存在进展提示。遍历全部构造体找出符合的输出。 6. 修改记录函数:首先推断用户要修改的试题序号是否存在,进展相应的系统提示,然后遍历全部记录找出符合的,依据提示依次进展修改工程,返回记录值不变没增加也没削减。7. 删除记
3、录函数:首先推断用户要删除的试题序号是否存在,进展相应的系统提示,然后遍历全部记录找出符合的删除,冰讲后面的全部数据向前挪动一个位置,记录数减一并返回。 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内存 软件设备 应用程序调试4 源程序代码清单#include #include#include typedef
4、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. 退出管
5、理系统 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;printf(tt=排序胜利=n);void SaveText(Data dat,int n) /保存函数int i; FILE *fp;
6、 /*指向文件的指针*/ 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); /*将换行符号写入文件*/ fclose(fp);int LoadText(Data dat) /载入函数int i,n;FILE *fp;if(fp=fo
7、pen(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; /*新插入记录信息*/int i=0,j,k;char s20;doprintf(t请插入您的数据n);printf(t题号:); scanf(t%s,temp.tihao); for(k
8、=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请输入插入位置的题号:);scanf(t%s,s); /*输入插入位置的题号*/while(strcmp(dati.tihao,s)!=0&i=i;j-) /*从最终一个结点开始向后挪动一条*/strcpy
9、(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.t
10、ihao); 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;in;i+) printf(%2st%3sn,dati.tihao,dati.timu); /*按格式输出*/printf
11、(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题库中没有此题!n); return(n); for(j=i;jn-1;j+) /数据交换 strcpy(datj.timu,datj+1.timu); strcpy(datj.tihao,datj+1.tihao)
12、; 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&in) i+; if(i=n) printf(t题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 题库管理系统 语言程序设计 题库 管理 系统
限制150内