C语言程序设计题库管理系统Word文档格式.docx

上传人:b****5 文档编号:18120604 上传时间:2022-12-13 格式:DOCX 页数:24 大小:455.15KB
下载 相关 举报
C语言程序设计题库管理系统Word文档格式.docx_第1页
第1页 / 共24页
C语言程序设计题库管理系统Word文档格式.docx_第2页
第2页 / 共24页
C语言程序设计题库管理系统Word文档格式.docx_第3页
第3页 / 共24页
C语言程序设计题库管理系统Word文档格式.docx_第4页
第4页 / 共24页
C语言程序设计题库管理系统Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

C语言程序设计题库管理系统Word文档格式.docx

《C语言程序设计题库管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计题库管理系统Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

C语言程序设计题库管理系统Word文档格式.docx

2.2主要流程图

(用N—S图描述。

1,、输入函数

2、保存函数

3、载入函数

4、查询函数

5、修改函数

6、删除函数

3.设计软硬件环境

硬件设备系统:

MicrosoftWindowsXPProfessional版本2002

机型:

Inter®

Core™2DuoCPUE8400@3.00GHz2.99GHz,2.00GB内存

软件设备MicrosoftVisualC++6.0应用程序调试

4.源程序代码清单

#include<

stdio.h>

stdlib.h>

string.h>

typedefstruct

{

chartihao[10];

//题号

chartimu[15];

//题目

}Data;

Datada[80];

intmenu_select()

charc;

do{

system("

cls"

);

printf("

\t\t\t========题库管理系统========\n"

\t\t\t┌───────────┐\n"

\t\t\t│1.题目的输入│\n"

\t\t\t│2.题目的浏览│\n"

\t\t\t│3.题目信息更改│\n"

//包括删除,插入和更改

\t\t\t│4.题目信息查询│\n"

\t\t\t│5.题目文件操作│\n"

//包括保存,读取和复制

\t\t\t│0.退出管理系统│\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)//题号排序

{

inti,j;

Datatemp;

for(i=0;

i<

n;

++i)

da[i]=dat[i];

n-1;

for(j=i+1;

j<

++j)

if(strcmp(da[i].tihao,da[j].tihao)>

0)

{

temp=da[i];

da[i]=da[j];

da[j]=temp;

}

printf("

\t\t========排序成功========\n"

}

voidSaveText(Datadat[],intn)//保存函数

inti;

FILE*fp;

/*指向文件的指针*/

if((fp=fopen("

txl.txt"

"

wb"

))==NULL)/*打开文件,并判断打开是否正常*/

{

\t不能打开文件\n"

/*没打开*/

exit

(1);

/*退出*/

}

fprintf(fp,"

%d"

n);

/*将记录数写入文件*/

\r\n"

i++)

fprintf(fp,"

%-8s%-6s"

dat[i].tihao,dat[i].timu);

/*将换行符号写入文件*/

fclose(fp);

intLoadText(Datadat[])//载入函数

inti,n;

r"

))==NULL)

不能打开文件\n"

exit

(1);

fscanf(fp,"

&

n);

/*读入记录数*/

fscanf(fp,"

%s%s\n"

/*按格式读入记录*/

returnn;

/*返回记录数*/

intCharu(Datadat[],intn)//插入函数

/*新插入记录信息*/

inti=0,j,k;

chars[20];

do

\t请插入您的数据\n"

\t题号:

scanf("

\t%s"

temp.tihao);

for(k=0;

k<

k++)//判断插入数据是否存在

{

if(strcmp(dat[k].tihao,temp.tihao)==0)

printf("

\t-------该记录已存在,请重新输入!

-------\n"

system("

pause"

break;

}

}while(strcmp(dat[k].tihao,temp.tihao)==0);

\t题目:

scanf("

temp.timu);

\t请输入插入位置的题号:

s);

/*输入插入位置的题号*/

while(strcmp(dat[i].tihao,s)!

=0&

&

n)i++;

if(i==n)

\t------------题库中没有记录,请查询后再操作!

-------------\n"

returnn;

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,temp.tihao);

/*将新插入记录的题号拷贝到第i个位置*/

strcpy(dat[i].timu,temp.timu);

n++;

/*记录数加1*/

intShuru(Datadat[],intn)//输入函数

inti=0;

charch;

while(ch!

='

n'

ch!

N'

)//用来判断是否继续输入

dat[n+i].tihao);

dat[n+i].timu);

\n\t是否继续添加?

(Y/N)"

\t%c"

ch);

i++;

return(n+i);

//其实输入除了N和n的任意键均能实现继续添加的功能

}

voidList(Datadat[],intn)//显示函数

{

========================共%d条记录============================\n"

┌─────────────────────────────┐\n"

/*格式*/

│题号│题目│\n"

└─────────────────────────────┘\n"

i++)

%2s\t%3s\n"

/*按格式输出*/

───────────────────────────────\n"

system("

intShanchu(Datadat[],intn)//删除函数

/*要删除记录的题号*/

inti=0,j;

\t请输入想删除记录中的题号:

%s"

/*查找要删除的记录题号*/

if(i==n)

\t题库中没有此题!

\n"

return(n);

for(j=i;

j++)//数据交换

strcpy(dat[j].timu,dat[j+1].timu);

strcpy(dat[j].tihao,dat[j+1].tihao);

\t\t\t已经成功删除!

return(n-1);

voidChazhao(Datadat[],intn)//查询函数

intj;

\t\n请选择查询方式:

\t┌──────┐\n"

\t│1------题号│\n"

\t│0------返回│\n"

\t└──────┘\n"

请选择:

j);

if(j==1)

chars[20];

inti=0;

\t请输入想查询的题号:

while(strcmp(dat[i].tihao,s)!

if(i==n)

return;

}

\t此题内容\n"

\t%5s\n"

dat[i].timu);

};

voidBiangeng(Datadat[],intn)//修改函数

\t请输入想修改的试题的题号:

return;

dat[i].tihao);

\n\t修改成功!

voidCopyText()//复制文件函数

charoutfile[20];

/*目标文件名*/

Datatemp[80];

FILE*fp,*fc;

rb"

))==NULL)/*打开记录文件*/

\t\t不能打开文件\n"

/*显示不能打开文件信息*/

\t\t输入目标文件名(例如c:

\\outfile.txt):

outfile);

if((fc=fopen(outfile,"

))==NULL)/*打开目标文件*/

/*读出文件记录数*/

fprintf(fc,"

/*写入目标文件数*/

/*写入换行符*/

temp[i].tihao,temp[i].timu);

fprintf(fc,"

/*关闭源文件*/

fclose(fc);

/*关闭目标文件*/

\t\t您已成功复制文件!

/*主函数*/

voidmain()

intn=0;

for(;

;

switch(menu_select())

case1:

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请选择:

k);

switch(k)

case1:

//显示信息

List(da,n);

case2:

//题号排序

tihaosort(da,n);

case0:

;

}break;

case3:

intm;

\t\t\t=====题库信息管理系统=====\n"

\t\t\t┌──────────┐\n"

\t\t\t│1.题库信息的修改│\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);

/*删除记录*/

n=Charu(da,n);

//插入函数

case0:

;

case4:

\n\t*****在题库中查找记录******\n"

Chazhao(da,n);

case5:

intx;

\t\t\t│1.题库信息的载入│\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();

/*保存数据*/

;

}break;

\n\t\t\t感谢您的使用,再见!

exit(0);

5.程序运行结果

(可截屏程序运行界面。

1、主界面显示

2、试题的输入

3、函数的保存

4、试题库的载入

5,、试题的浏览与查询

6、函数的修改与删除

6.设计总结

(重点从设计方法、实现技术、功能等几方面总结。

通过此次的程序设计课学到了很多,对C语言也有了更好的了解,同时也对C程序的操作和调试也有了进一步的掌握。

尽管程序中的一部分是从网上复制过来的,但其中都加入了自己手动修改的元素,并且把一些以前不懂的弄懂了,总之经过了几天的奋斗我们都掌握了很多知识,收获了很多。

开学的第一天,老师们就让我们分组进行程序设计,题目发下来顿时怵了,只是几个人在一起商量了一下把程序的大致框架熟悉了一下,但由于是头一次搞,根本不知道从哪些地方着手,原本学到的只是到真正运用的时候才显得那么的苍白,就这样整整一个上午的时间什么进展都没有,我们只是在那里看书,熟悉知识。

下午有网了,我们便取巧XX了一个程序进行调试,目的是熟悉分析程序的运转效果,查询整理我们所需要的应用函数,于是才渐渐摸清了我们要进行的方向。

首先,我们要进行的是主体框架的设置,为了节省时间,我们拟在一个运行程序里进行删减,从整体中将“肉”剔除,然后得到我们的主体,刚开始不懂得,只知道将哪来的代码胡乱的删去了事,后来发现程序虽然没错了,但只剩下了一副空壳,原有的功能都没有了。

然后,我们商议给这副“骨架”填“肉”,因为这我们也吃了不少口头,拼命看书了解掌握相应函数如save&

load的相关函数,网上查找相应函数的用法以及问题解决办法,再不行的我们就请教老师,也因此吃够了BUG的苦头。

终于,经历了九九八十一难,我们提前完成了程序的调试,欢呼声~~~~

我们从中遇到的问题有N++个,我们也学到了很多知识。

其一、我们刚开始进行试题输入的时候,总是输入后杳无音讯,查无所踪,无法进行浏览和查询,我们网上查询才知道是出在了文件的保存和载入的问题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

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

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