C语言程序设计题库管理系统Word文档下载推荐.docx
《C语言程序设计题库管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言程序设计题库管理系统Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
![C语言程序设计题库管理系统Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/30/10f2062a-a275-4b8e-824d-1b1f2907ace0/10f2062a-a275-4b8e-824d-1b1f2907ace01.gif)
4.载入试题信息函数:
通过fopen函数打开指定文件,通过fscanf来读取文件里的数据,最后返回记录数,避免了每次打开时都要输入数据的麻烦。
5.查询记录函数:
细分为按题号,题目两种方式来进行查询记录,并能对查询记录不存在进行提示。
遍历所有结构体找出符合的输出。
6.修改记录函数:
首先判断用户要修改的试题序号是否存在,进行相应的系统提示,然后遍历所有记录找出符合的,按照提示依次进行修改项目,返回记录值不变(没增加也没减少)。
7.删除记录函数:
首先判断用户要删除的试题序号是否存在,进行相应的系统提示,然后遍历所有记录找出符合的删除,冰讲后面的所有数据向前移动一个位置,记录数减一并返回。
主要流程图
(用N—S图描述。
1,、输入函数
2、保存函数
3、载入函数
4、查询函数
5、修改函数
6、删除函数
3.设计软硬件环境
硬件设备系统:
MicrosoftWindowsXPProfessional版本2002
机型:
Inter®
Core™2DuoCPUE8400@,GB内存
软件设备MicrosoftVisualC++应用程序调试
4.源程序代码清单
#include<
>
typedefstruct
{
chartihao[10];
题目的输入│\n"
);
printf("
\t\t\t│2.题目的浏览│\n"
\t\t\t│3.题目信息更改│\n"
题目信息查询│\n"
\t\t\t│5.题目文件操作│\n"
退出管理系统│\n"
\t\t\t└───────────┘\n"
\t\t\t============================\n"
\n\t\t请您选择(0-5):
"
c=getchar();
}while(c<
'
0'
||c>
5'
return(c-'
}
voidtihaosort(Datadat[],intn)ihao,da[j].tihao)>
0)
{
temp=da[i];
da[i]=da[j];
da[j]=temp;
}
printf("
\t\t========排序成功========\n"
}
voidSaveText(Datadat[],intn)ihao,dat[i].timu);
fprintf(fp,"
\r\n"
/*将换行符号写入文件*/
}
fclose(fp);
intLoadText(Datadat[])ihao,dat[i].timu);
/*按格式读入记录*/
returnn;
/*返回记录数*/
intCharu(Datadat[],intn)ihao,==0)
printf("
\t-------该记录已存在,请重新输入!
-------\n"
system("
pause"
cls"
break;
}
}while(strcmp(dat[k].tihao,==0);
\t题目:
scanf("
\t%s"
;
\t请输入插入位置的题号:
s);
/*输入插入位置的题号*/
while(strcmp(dat[i].tihao,s)!
=0&
&
i<
n)i++;
if(i==n)
{
\t------------题库中没有记录,请查询后再操作!
-------------\n"
returnn;
for(i=0;
strcmp(dat[i].tihao,s)!
=0;
i++);
\n\t\t***********插入成功!
************\n"
for(j=n-1;
j>
=i;
j--)/*从最后一个结点开始向后移动一条*/
strcpy(dat[j+1].tihao,dat[j].tihao);
/*当前记录的题号拷贝到后一条*/
strcpy(dat[j+1].timu,dat[j].timu);
strcpy(dat[i].tihao,;
/*将新插入记录的题号拷贝到第i个位置*/
strcpy(dat[i].timu,;
n++;
/*记录数加1*/
intShuru(Datadat[],intn)ihao);
scanf("
dat[n+i].timu);
\n\t是否继续添加(Y/N)"
\t%c"
&
ch);
i++;
return(n+i);
ihao,dat[i].timu);
/*按格式输出*/
───────────────────────────────\n"
system("
}
intShanchu(Datadat[],intn)ihao,s)!
/*查找要删除的记录题号*/
if(i==n)
\t题库中没有此题!
\n"
return(n);
for(j=i;
j<
n-1;
j++)imu,dat[j+1].timu);
strcpy(dat[j].tihao,dat[j+1].tihao);
\t\t\t已经成功删除!
return(n-1);
voidChazhao(Datadat[],intn)ihao,s)!
if(i==n)
{
return;
}
\t此题内容\n"
\t%5s\n"
dat[i].timu);
};
voidBiangeng(Datadat[],intn)ihao,s)!
return;
\t题号:
dat[i].tihao);
\n\t修改成功!
voidCopyText()ihao,temp[i].timu);
fprintf(fc,"
%-8s%-6s"
temp[i].tihao,temp[i].timu);
/*写入换行符*/
/*关闭源文件*/
fclose(fc);
/*关闭目标文件*/
\t\t您已成功复制文件!
/*主函数*/
voidmain()
{
intn=0;
for(;
;
)
switch(menu_select())
case1:
system("
n=Shuru(da,n);
break;
case2:
intk;
\t\t\t======题库信息管理系统======\n"
\t\t\t┌──────────┐\n"
\t\t\t│1.显示全部题目│\n"
\t\t\t│2.按题号排序信息│\n"
\t\t\t│0.返回上一级菜单│\n"
\t\t\t└──────────┘\n"
\n\t\t请选择:
%d"
k);
switch(k)
case1:
库信息的修改│\n"
\t\t\t│2.题库信息的删除│\n"
\t\t\t│3.题库信息的插入│\n"
\t\t\t│0.返回│\n"
\t\t\t└──────────┘\n"
\t\t\t==========================\n"
m);
switch(m)
Biangeng(da,n);
\t"
n=Shanchu(da,n);
/*删除记录*/
case3:
n=Charu(da,n);
库信息的载入│\n"
\t\t\t│2.题库信息的保存│\n"
\t\t\t│3.题库信息的复制│\n"
x);
switch(x)
n=LoadText(da);
\t\t您已经成功的将题目导入到题库!
\t\t=========题库的保存=========\n"
SaveText(da,n);
\n\t\t保存成功\n"
CopyText();
/*保存数据*/
case0:
;
}break;
\n\t\t\t感谢您的使用,再见!
exit(0);
5.程序运行结果
(可截屏程序运行界面。
1、主界面显示
2、试题的输入
3、函数的保存
4、试题库的载入
5,、试题的浏览与查询
6、函数的修改与删除
6.设计总结
(重点从设计方法、实现技术、功能等几方面总结。
通过此次的程序设计课学到了很多,对C语言也有了更好的了解,同时也对C程序的操作和调试也有了进一步的掌握。
尽管程序中的一部分是从网上复制过来的,但其中都加入了自己手动修改的元素,并且把一些以前不懂的弄懂了,总之经过了几天的奋斗我们都掌握了很多知识,收获了很多。
开学的第一天,老师们就让我们分组进行程序设计,题目发下来顿时怵了,只是几个人在一起商量了一下把程序的大致框架熟悉了一下,但由于是头一次搞,根本不知道从哪些地方着手,原本学到的只是到真正运用的时候才显得那么的苍白,就这样整整一个上午的时间什么进展都没有,我们只是在那里看书,熟悉知识。
下午有网了,我们便取巧XX了一个程序进行调试,目的是熟悉分析程序的运转效果,查询整理我们所需要的应用函数,于是才渐渐摸清了我们要进行的方向。
首先,我们要进行的是主体框架的设置,为了节省时间,我们拟在一个运行程序里进行删减,从整体中将“肉”剔除,然后得到我们的主体,刚开始不懂得,只知道将哪来的代码胡乱的删去了事,后来发现程序虽然没错了,但只剩下了一副空壳,原有的功能都没有了。
然后,我们商议给这副“骨架”填“肉”,因为这我们也吃了不少口头,拼命看书了解掌握相应函数如save&
load的相关函数,网上查找相应函数的用法以及问题解决办法,再不行的我们就请教老师,也因此吃够了BUG的苦头。
终于,经历了九九八十一难,我们提前完成了程序的调试,欢呼声~~~~
我们从中遇到的问题有N++个,我们也学到了很多知识。
其一、我们刚开始进行试题输入的时候,总是输入后杳无音讯,查无所踪,无法进行浏览和查询,我们网上查询才知道是出在了文件的保存和载入的问题,于是我们inquire出save、load和fopen等函数解决了这个问题。
其二、开始我们的界面做的很不好,巨难看,于是我们继续XXinquire,找到了很多不错的界面模版,填印进去,然后就是一长串的BUG、BUG、BUG……于是我们也了解到“肉”也是不可以乱添,否则会有异体排斥的。
其三、原先我们进行的信息输入总会保存不完善,行幅不协调,在浏览时很难看,我们找出是输入字节设置的问题,就这样我们就轻松搞定了。
从中我也体会到了团队合作重要,我想没有我们组各个成员的分工合作、集体商议,我想一个人是很难完成的,而且在开始的时候遇到了很多问题没法解决,摆好时间没有进展,当我认为是设计思路错误,想要放弃重来时,也是队友及朋友的鼓劲支持,才得以见到柳暗花明的一刻。
一个星期很快就过去了,程序设计课也接近尾声了,通过请教别人,在发现问题然后解决问题的过程中体会到了不一样的快乐!
虽然有时会为了一个小小的BUG苦恼不已,但当解决后却是异常的兴奋!
现在回想来看这个程序觉得不是很复杂,但我却不能很顺利的完成,因此我还要好好的学习,努力奋斗!
参考文献
[1]谭浩强编著C程序设计解题与上机指导(第三版)。
北京:
清华大学出版社,2005
[2]
[3]
格式如下:
[1]朱战立编著.数据结构——使用C语言(第4版).北京:
电子工业出版社,2009.
要求:
字体为宋体,字号为五号,行距为单倍,字数不少于3000字。