C语言程序设计题库管理系统
C语言试题库系统的开发与实现

我 国现 阶段 高校 c 言课 程考 试 一般 是在任 课 教 师结 束一 学期 的教 学 之后 自行 命题 和 组织 阅卷 ,教师 命题 时要 花 费 语 大量 的 时 间去 搜集 考 试题 目, 要做 大 量 的重 复工 作 ,而 以往很 多 高质 量 的考 题 没有 保 存 下来 。同时 ,考试 结 束往 往 会 导致 每 年 高校 进行 考 试 的试 题 质量 、 难度 、 区分 度 、可 信 度 、 阅卷 的复 杂度 等 有所 差 异 ,缺 乏 一个 按 照教 学 要求 建 立 的统 一 的标 准C 言试 题 库系 统 。基于 此 ,本 文提 供 一个专 门的c 言试 题库 系 统 。本系 统提 供c 言试 题 库 的建 立 、试 语 语 语 卷生 成 、试 题 库 管理 和评 卷 系 统 的完 整解 决 方案 。利用 本 系 统可 以通过 一 些简 单 的操 作 和 设置 ,在 短 时 间 内生成 一 套 带评 卷 系 统 的考 试试 卷 。 该系 统在 很 大程 度 上减 轻 任课 教 师 的工 作 量 ,建 立一 种 灵活 性好 ,可 修 改 、可扩 展 的试 题 库
B sc . 比较合 适 。 a i6 O
图1
该 C 言 试 题 库 系 统 以v 语 言 为 基 础 , 以A c S 数 语 B ceS
3 2 二 级模 块 结构 . 1 )试 题 库 管 理 模块 。如 图2 示 ,该 模 块 由填 空题 所 库 、 选 择题 库 、编 程 填 空 题库 、编 程 改 错 题 库 、编 程 阅
图2
2 1年 6 下 第 1期 ( 第2 0 ) 01 月 8 总 4期
中国教 育技 术装备
技 术在 线
徐 华 c言 题 系 的 发 实 伟 :语 试 库 统 开 与 现
《C语言程序设计基础》考试系统的设计开发

其 中的关 键字段 , 操作层 提 供相应 的数 据服 务 。 为
式 显示在 系统 界面 上 , 方便 使 用者 对系统 的操作 。
2 响应 使 用者 的操作 , . 显示 相应 的结果
2 提供 功能模 块 调用 的接 口 . 对 于 使 用者 的操 作 , 以 由操 作层 调 用 相应 的 可 功能模 块 , 命令 请求 通过 对应 接 口提交 给数据层 。 将 数 据层 处理 的结果 , 过对 应接 口发 送到 功能模块 , 通
1 51
一
个重要 内容 。在 考试 系统 的实 现过 程 中 , 据层 数
完 成操作 层 与 数 据层 的连 接 。使 用 日期 时 间类 ( C Tm 类 ) ie 进行定 时组 件 的使用 , 于控 制考试 时间 , 用
一
、
考试 系统结 构
3 控制 使用 者 的非法输 入 .
在开 发基 于《 C语 言 程 序 设 计 基 础 》 程 考 试 课 系统 的过 程 中 , 应用 分 层 结 构进 行 考 试 系 统体 系设 计 。系统分 层 的设 想是 考 虑 从 实 际 应用 出发 , 考 将 试 系统 中各 个应 用 模块 进 行 有 序 组 织 , 得各 个 模 使 块 的调用层 次 清 晰。 在考 试 系 统 的 设计 过 程 中, 按 照各 个应 用模块 的 功 能把 模 块 放 置 于两 层 实 现 , 即 操作 层与 数 据 层 。其 中 , 作 层 使 用 V sa C+ + 操 i l u
c语言管理系统设计源代码

c语言管理系统设计源代码以下是一个简单的C语言管理系统示例,用于管理学生信息。
该系统可以添加、删除、修改和查找学生信息。
c复制代码#include<stdio.h>#include<stdlib.h>#include<string.h>struct student {char name[50];int roll;float marks;};struct student students[100];int count = 0;void add_student() {struct student new_student;printf("Enter name: ");scanf("%s", new_);printf("Enter roll number: ");scanf("%d", &new_student.roll);printf("Enter marks: ");scanf("%f", &new_student.marks);students[count] = new_student;count++;}void delete_student() {int index;printf("Enter index of student to delete: ");scanf("%d", &index);for (int i = index; i < count - 1; i++) {students[i] = students[i + 1];}count--;}void modify_student() {int index;struct student new_student;printf("Enter index of student to modify: "); scanf("%d", &index);printf("Enter new name: ");scanf("%s", new_);printf("Enter new roll number: ");scanf("%d", &new_student.roll);printf("Enter new marks: ");scanf("%f", &new_student.marks);students[index] = new_student;}void find_student() {char name[50];printf("Enter name of student to find: "); scanf("%s", name);for (int i = 0; i < count; i++) {if (strcmp(students[i].name, name) == 0) { printf("Roll number: %d\n", students[i].roll); printf("Marks: %.2f\n", students[i].marks); return;}}printf("Student not found.\n");}int main() {int choice;do {printf("\nMenu:\n");printf("1. Add student\n");printf("2. Delete student\n");printf("3. Modify student\n");printf("4. Find student\n");printf("5. Exit\n");printf("Enter choice: ");scanf("%d", &choice);switch (choice) {case1: add_student(); break;case2: delete_student(); break;case3: modify_student(); break;case4: find_student(); break;case5: exit(0); break; // exit the program here, otherwise the loop will keep running indefinitely, as it is in the do-while loop above. We are not returning, but rather exiting the program completely, so we do not need to return anything. The return value of main is always 0, and this is how the program exits. If you want to return a value other than 0, you can do so like this: return 1; or return -1; or return any other integer value you want to represent an error condition. The operating system will interpret this as the program's exit status. In this case, it will be seen as successful, as it is returning 0. The return value of main is not used for anything in this program, but it can be used in other programs to determine whether the program exited successfully or with an error. For example, if you were writing a shell script that executed this program and needed to know if it was successful or not, you could check the return value of the program and act accordingly. This is a common practice in programming, and it is important to understand how it works so that you can use it effectively in your own programs.。
C程序设计题库(含答案)

else y = 1.0;
printf("%f\n",y);
}
A.0.000000B.0.250000C.0.500000D.1.000000
(3)下列程序的运行结果是( )
#include <stdio.h>
void main()
{
int a = 2, b = -1, c = 2;
答案:B
4、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)
A、6.500000 B、6 C、5.500000 D、6.000000
5、以下的选择中,正确的赋值语句是()。
A) a=1,b=2 B) j++ C) a=b=5; D) y=int(x)
A) 10<回车>B) 10.0,22.0,33.0<回车>
22<回车>
33<回车>
C) 10.0<回车> D) 10 22<回车>
22.0 33.0<回车> 33<回车>
答案:B
2.三大结构
(1)下列程序的运行结果是()
#include <stdio.h>
void main()
{
char c1 = '6', c2 = '0';
B.形参可以是常量,变量或表达式
C.实参可以为任意类型
D.如果形参和实参的类型不一致,以形参类型为准
9.C语言规定,函数返回值的类型是由( )决定的。
A. return语句中的表达式类型
C语言程序设计题库及答案

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。
C语言程序设计综合实训题目

一、参考题目及选题(1)学生信息管理系统设计问题描述:学生信息包括:学号, 姓名, 年龄, 性别, 出生年月, 政治面貌, 籍贯, 家庭住址, 电话, E-mail等。
试设计一学生信息管理系统, 使之能提供以下功能:(1)系统以菜单方式工作(2)学生信息录入功能(学生信息用文件保存)(3)学生信息浏览功能(4)学生信息排序、查询功能对信息进行排序, 可以按学号, 按姓名, 按性别, 按出生年月日, 按籍贯进行查询(5)信息统计a) 可以按性别, 按出生年, 按籍贯统计学生人数b) 可以按班级统计学生人数c) 可以按政治面貌统计学生人数按班级统计学生党员人数, 团员人数, 以及所占比例, 设计并输出统计报表。
(6)学生信息的删除与修改●设计要求:●界面比较美观;有一定的容错能力, 比如输入的成绩不在0~100之间, 就提示不合法, 要求重新输入;●最好用链表的方式实现。
算法分析:首先, 一个学生包括这么多的属性, 应该考虑定义一个结构, 其次, 我们应该考虑数据的存储形式:是定义一个数组来存储, 还是定义一个链表呢?在这里假如我们以数组的方式来存储, 当然可以, 但是我们知道, 假如我们定义一个数组的话, 我们首先必须知道学生人数大概是多少, 以便我们确定数组的大小, 但是题目中没有给出, 而且题目要求中有大量的删除、插入操作, 所以用链表的方式比较方便。
对于菜单的实现, 其实也比较简单, 首先我们用printf语句把程序的功能列出来, 然后等待用户输入而执行不同的函数, 执行完了一个功能后又回到菜单。
文件的读写操作大家参照书中的有关文件的章节。
(2)、学生综合测评系统每个学生的信息为: 学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%, 10%, 10%, 20%。
c语言程序设计大作业学生信息管理系统

一、概述随着信息技术的不断发展和应用,计算机程序设计作为重要的基础课程,对学生的综合能力有着重要的培养作用。
在C语言程序设计课程中,大作业是检验学生对知识的掌握和应用能力的重要环节。
学生信息管理系统作为一种常见的大作业题目,涉及到了文件操作、结构体、指针等多个知识点,对学生的理论知识掌握和实战能力都有一定的考验。
二、需求分析学生信息管理系统是一个管理学生基本信息的软件,具有录入、查找、删除、修改等功能。
在设计学生信息管理系统的时候,首先要明确系统的功能需求,并且考虑到系统的扩展性和健壮性。
1. 学生基本信息包括学号、尊称、性别、芳龄、专业等内容,系统应具备录入学生信息的功能,并且能够将信息保存在文件中,方便下次使用。
2. 用户可以通过查找功能根据学号或尊称查询学生信息,系统需要具备高效的查找算法。
3. 可以对学生信息进行删除和修改操作,需要保证操作的准确性和安全性。
4. 系统需要具备良好的用户界面,方便用户的操作和管理。
三、系统设计在进行学生信息管理系统的设计时,需要考虑到系统的模块化和扩展性,将整个系统划分为多个模块,进行单独设计和测试。
1. 学生信息录入模块:负责接收用户输入的学生信息,并将信息写入文件中。
2. 学生信息查找模块:通过学号或尊称进行查找操作,需要设计高效的查找算法。
3. 学生信息删除模块:实现对学生信息的删除功能。
4. 学生信息修改模块:实现对学生信息的修改功能。
5. 用户界面设计:设计友好的用户界面,方便用户的操作和管理。
四、系统实现在进行系统实现时,需要根据设计的模块进行逐一实现和测试,保证系统的稳定性和功能完整性。
1. 学生信息录入模块实现:接收用户输入的学生信息,并将信息写入文件。
2. 学生信息查找模块实现:设计高效的查找算法,并实现根据学号或尊称进行查找操作。
3. 学生信息删除模块实现:实现对学生信息的删除功能,并确保操作的准确性和安全性。
4. 学生信息修改模块实现:实现对学生信息的修改功能,保证信息的一致性。
教学题库管理系统

教学题库管理系统摘要:考试题库管理系统在教学管理中起到重要的意义。
本文简明阐述了C语言题库管理系统的设计和建立。
系统运用C/S架构设计,主要分成四个功能模块:用户管理模块、试题管理模块、组卷管理模块和试卷管理模块。
在传统的考试出题时,由教师从庞大的题库中手工挑选试题,不仅难以保证试题的覆盖度和试卷的难易程度,而且耗费教师大量的精力,造成有限的教师资源浪费。
因此考试题库管理系统,有助于减轻教师工作负担、提高工作效率,并为试卷的规范性提供了保障,同时也为教学质量的评估提供了统一的标准。
关键词:题库管理系统C/S架构Access java1 研究背景与现状1.1 本设计的背景、意义在当今社会,建设教育公共服务体系、实现网络化、智能化的发展新模式是我国现代化教育业的发展新方向。
题库管理系统正是为教师方便、快速、高效的出版试卷而开发的。
计算机生成试卷的方式与传统的方式相比较,优势是显而易见的,首先避免了不必要的重复劳动,节约了人力资源及时间;其次使用科学的衡量、评价及统一试卷难易程度的有效手段;第三可以充分发挥计算机在信息处理方面的优势,可以让繁琐的工作由计算机处理,使之达到考试规范化,科学化,消除命题者主观意愿所带来的不利因素,更加客观,真实,全面地评估教学效果。
因而实现自动化的题库管理系统具有深远的意义和价值。
1.2 研究现状及设计目标本研究课题是为了更加客观、准确、高效地去评估、检测一个学生的知识和能力水平,题库管理系统其中主要包括:通过计算机管理题库信息;查询和检索出所需数据;有选择性的录入试题,并按一定的规律原则组织起来,将题库建设为优良试题的储存库,其知识覆盖面广、质量高、试卷可以快速的自动生成,并且能够灵活的进行组卷的功能。
这是网上固定试题考试所不具有的。
1.3 研究设计中要解决的关键问题及方法通过对本设计的深入研究,抽取试题的功能复杂。
需按照给定的要求,随机并且无重复的抽取出相应的试题。
设计中需主要解决两方面问题:(1)随机抽取试题时,不可避免的会出现重复数字;(2)在题库中符合要求的试题数量少于要求中要抽取出的试题数量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计基础课程设计报告班级:计算机科学及技术1103班姓名:杨广宇指导教师: 胡宏涛完成日期:2012年9月6日(题目)1.设计题目及要求(简要介绍课程设计题目内容及要求。
)1设计内容要求输入试题(仅限选择题和填空题)基本信息,实现试题浏览.,查询,修改功能,并将数据保存至文本文件。
2要求功能完善,界面友好。
2.算法设计及描述(要求有相关流程图)2.1 算法设计及描述(描述算法设计、实现过程。
)1.提供可操作的主菜单:输出主菜单,用户可根据菜单来选择操作。
根据客户输入的选项来运行不同的功能,运行不同的函数。
2.。
试题信息的录入函数:按照提示输入题的题号,题目内容,并提示用户是否继续录入,每输入一个记录,全局变量n 就自增,最后最为函数的返回值返回。
3.保存试题信息函数:将文件的所有数据通过fprintf来写入指定文本文档,完成后关闭文件,没有返回值4. 载入试题信息函数:通过fopen函数打开指定文件,通过fscanf来读取文件里的数据,最后返回记录数,避免了每次打开时都要输入数据的麻烦。
5. 查询记录函数:细分为按题号,题目两种方式来进行查询记录,并能对查询记录不存在进行提示。
遍历所有结构体找出符合的输出。
6.修改记录函数:首先判断用户要修改的试题序号是否存在,进行相应的系统提示,然后遍历所有记录找出符合的,按照提示依次进行修改项目,返回记录值不变(没增加也没减少)。
7. 删除记录函数:首先判断用户要删除的试题序号是否存在,进行相应的系统提示,然后遍历所有记录找出符合的删除,冰讲后面的所有数据向前移动一个位置,记录数减一并返回。
2.2 主要流程图(用N—S图描述。
)1,、输入函数2、保存函数3、载入函数4、查询函数5、修改函数6、删除函数3.设计软硬件环境硬件设备系统:Microsoft Windows XP Professional 版本2002机型:Inter ® Core™2 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 tihao[10]; //题号char timu[15]; //题目}Data;Data da[80];int menu_select(){char c;do{system("cls");printf("\t\t\t ========题库管理系统======== \n");printf("\t\t\t ┌───────────┐\n");printf("\t\t\t │1. 题目的输入│\n");printf("\t\t\t │2. 题目的浏览│\n");printf("\t\t\t │ 3. 题目信息更改│\n"); //包括删除,插入和更改printf("\t\t\t │4. 题目信息查询│\n");printf("\t\t\t │ 5. 题目文件操作│\n"); //包括保存,读取和复制printf("\t\t\t │0. 退出管理系统│\n");printf("\t\t\t └───────────┘\n");printf("\t\t\t ============================ \n");printf("\n\t\t请您选择(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)da[i]=dat[i];for(i=0;i<n-1;++i)for(j=i+1;j<n;++j)if(strcmp(da[i].tihao,da[j].tihao)>0){temp=da[i];da[i]=da[j];da[j]=temp;}printf("\t\t========排序成功========\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,"\r\n");for(i=0;i<n;i++){fprintf(fp,"%-8s%-6s",dat[i].tihao,dat[i].timu);fprintf(fp,"\r\n"); /*将换行符号写入文件*/}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%s\n",dat[i].tihao,dat[i].timu); /*按格式读入记录*/fclose(fp);return n;/*返回记录数*/}int Charu(Data dat[],int n) //插入函数{Data temp;/*新插入记录信息*/int i=0,j,k;char s[20];do{printf("\t请插入您的数据\n");printf("\t题号:");scanf("\t%s",temp.tihao);for(k=0;k<n;k++) //判断插入数据是否存在{if(strcmp(dat[k].tihao,temp.tihao)==0){printf("\t-------该记录已存在,请重新输入!-------\n");system("pause");system("cls");break;}}}while(strcmp(dat[k].tihao,temp.tihao)==0);printf("\t题目:");scanf("\t%s",temp.timu);printf("\t请输入插入位置的题号:");scanf("\t%s",s); /*输入插入位置的题号*/while(strcmp(dat[i].tihao,s)!=0&&i<n) i++;if(i==n){printf("\t------------题库中没有记录,请查询后再操作!-------------\n");return n;}for(i=0;strcmp(dat[i].tihao,s)!=0;i++) ;printf("\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*/ 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",dat[n+i].tihao);printf("\t题目:");scanf("\t%s",dat[n+i].timu);printf("\n\t是否继续添加?(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("%2s\t%3s\n",dat[i].tihao,dat[i].timu);/*按格式输出*/printf("───────────────────────────────\n");}system("pause");}int Shanchu(Data dat[],int n) //删除函数{char s[20]; /*要删除记录的题号*/int i=0,j;printf("\t请输入想删除记录中的题号:");scanf("%s",s);while(strcmp(dat[i].tihao,s)!=0&&i<n) i++; /*查找要删除的记录题号*/if(i==n){printf("\t题库中没有此题!\n");return(n);}for(j=i;j<n-1;j++) //数据交换{strcpy(dat[j].timu,dat[j+1].timu);strcpy(dat[j].tihao,dat[j+1].tihao);}printf("\t\t\t已经成功删除!\n");return(n-1);}void Chazhao(Data dat[],int n) //查询函数{int j;printf("\t\n请选择查询方式:\n");printf("\t┌──────┐\n");printf("\t│1------题号│\n");printf("\t│0------返回│\n");printf("\t└──────┘\n");printf("请选择:");scanf("%d",&j);if(j==1){char s[20];int i=0;printf("\t请输入想查询的题号:");scanf("\t%s",s);while(strcmp(dat[i].tihao,s)!=0&&i<n) i++;if(i==n){printf("\t题库中没有此题!\n");return;}printf("\t此题内容\n");printf("\t%5s\n",dat[i].timu);} ;}void Biangeng(Data dat[],int n) //修改函数{char s[20];int i=0;printf("\t请输入想修改的试题的题号:");scanf("%s",s);while(strcmp(dat[i].tihao,s)!=0&&i<n) i++;if(i==n){printf("\t题库中没有此题!\n");return;}printf("\t题号:");scanf("\t%s",dat[i].tihao);printf("\t题目:");scanf("\t%s",dat[i].timu);printf("\n\t修改成功!");}void CopyText() //复制文件函数{char out]; /*目标文件名*/int i,n;Data temp[80];FILE *fp,*fc;if((fp=fopen("txl.txt","rb"))==NULL) /*打开记录文件*/{printf("\t\t不能打开文件\n"); /*显示不能打开文件信息*/exit(1); /*退出*/ }printf("\t\t输入目标文件名(例如c:\\out):");scanf("%s",outfile);if((fc=fopen(outfile,"wb"))==NULL) /*打开目标文件*/{printf("\t\t不能打开文件\n"); /*显示不能打开文件信息*/exit(1); /*退出*/}fscanf(fp,"%d",&n); /*读出文件记录数*/fprintf(fc,"%d",n); /*写入目标文件数*/fprintf(fc,"\r\n"); /*写入换行符*/for(i=0;i<n;i++){fscanf(fp,"%s%s\n",temp[i].tihao,temp[i].timu);fprintf(fc,"%-8s%-6s",temp[i].tihao,temp[i].timu);fprintf(fc,"\r\n"); /*写入换行符*/ }fclose(fp); /*关闭源文件*/fclose(fc); /*关闭目标文件*/printf("\t\t您已成功复制文件!\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("\t\t\t ======题库信息管理系统====== \n");printf("\t\t\t ┌──────────┐\n");printf("\t\t\t │1.显示全部题目│\n");printf("\t\t\t │2.按题号排序信息│\n");printf("\t\t\t │0.返回上一级菜单│\n");printf("\t\t\t └──────────┘\n");printf("\t\t\t ============================ \n");printf("\n\t\t请选择:");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("\t\t\t =====题库信息管理系统===== \n"); printf("\t\t\t ┌──────────┐\n");printf("\t\t\t │1.题库信息的修改│\n");printf("\t\t\t │2.题库信息的删除│\n");printf("\t\t\t │3.题库信息的插入│\n");printf("\t\t\t │0.返回│\n");printf("\t\t\t └──────────┘\n");printf("\t\t\t ========================== \n"); printf("\n\t\t请选择:");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("\n\t*****在题库中查找记录******\n"); Chazhao(da,n);printf("\t");system("pause");break;case 5:system("cls");int x;printf("\t\t\t =====题库信息管理系统===== \n"); printf("\t\t\t ┌──────────┐\n"); printf("\t\t\t │1.题库信息的载入│\n");printf("\t\t\t │2.题库信息的保存│\n");printf("\t\t\t │3.题库信息的复制│\n");printf("\t\t\t │0.返回│\n");printf("\t\t\t └──────────┘\n");printf("\t\t\t ========================== \n"); printf("\n\t\t请选择:");scanf("%d",&x);switch(x){case 1:n=LoadText(da);printf("\t\t您已经成功的将题目导入到题库!\n");printf("\t");system("pause");break;case 2:printf("\t\t=========题库的保存=========\n");SaveText(da,n);printf("\n\t\t保存成功\n");printf("\t");system("pause");break;case 3:CopyText(); /*保存数据*/printf("\t");system("pause");break;case 0:;}break;case 0:printf("\n\t\t\t感谢您的使用,再见!\n");exit(0);}}}5.程序运行结果(可截屏程序运行界面。