C语言程序设计_题库管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计基础课程设计报告
班级:计算机科学与技术1103班
*名:***
****: ***
完成日期: 2012年9月6日
(题目)
1.设计题目与要求
(简要介绍课程设计题目内容与要求。)
1设计内容
要求输入试题(仅限选择题和填空题)基本信息,实现试题浏览.,查询,修改功能,并将数据保存至文本文件。
2要求
功能完善,界面友好。
2.算法设计与描述(要求有相关流程图)
算法设计与描述
(描述算法设计、实现过程。)
1.提供可操作的主菜单:输出主菜单,用户可根据菜单来选择操作。根据客户输入的选项来运行不同的功能,运行不同的函数。
2.。试题信息的录入函数:按照提示输入题的题号,题目内容,并提示用户是否继续录入,每输入一个记录,全局变量n就自增,最后最为函数的返回值返回。
3.保存试题信息函数:将文件的所有数据通过fprintf来写入指定文本文档,完成后关闭文件,没有返回值
4. 载入试题信息函数:通过fopen函数打开指定文件,通过fscanf来读取文件里的数据,最后返回记录数,避免了每次打开时都要输入数据的麻烦。
5. 查询记录函数:细分为按题号,题目两种方式来进行查询记录,并能对查询记录不存在进行提示。遍历所有结构体找出符合的输出。
6. 修改记录函数:首先判断用户要修改的试题序号是否存在,进行相应的系统提示,然后遍历所有记录找出符合的,按照提示依次进行修改项目,返回记录值不变(没增加也没减少)。
7. 删除记录函数:首先判断用户要删除的试题序号是否存在,进行相应的系统提示,
然后遍历所有记录找出符合的删除,冰讲后面的所有数据向前移动一个位置,记录数减一并返回。
主要流程图
(用N—S图描述。)
1,、输入函数
2、保存函数
3、载入函数
4、查询函数
5、修改函数
6、删除函数
3.设计软硬件环境
硬件设备系统:Microsoft Windows XP Professional 版本 2002机型:Inter ® Core™2 Duo CPU E8400 @ , GB内存
软件设备 Microsoft Visual C++ 应用程序调试
4.源程序代码清单
#include<>
#include<>
#include<>
typedef struct
{
char tihao[10]; 题目的输入│ \n");
printf("\t\t\t │ 2. 题目的浏览│ \n");
printf("\t\t\t │ 3. 题目信息更改│\n"); 题目信息查询│ \n");
printf("\t\t\t │ 5. 题目文件操作│\n"); 退出管理系统│ \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) ihao,da[j].tihao)>0)
{
temp=da[i];da[i]=da[j];da[j]=temp;
}
printf("\t\t========排序成功========\n");
}
void SaveText(Data dat[],int n) ihao,dat[i].timu);
fprintf(fp,"\r\n"); /*将换行符号写入文件*/
}
fclose(fp);
}
int LoadText(Data dat[]) ihao,dat[i].timu); /*按格式读入记录*/
fclose(fp);
return n; /*返回记录数*/
}
int Charu(Data dat[],int n) ihao,==0)
{
printf("\t-------该记录已存在,请重新输入!-------\n");
system("pause");
system("cls");
break;
}
}
}while(strcmp(dat[k].tihao,==0);
printf("\t题目:");
scanf("\t%s",;
printf("\t请输入插入位置的题号:");
scanf("\t%s",s); /*输入插入位置的题号*/
while(strcmp(dat[i].tihao,s)!=0&&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,; /*将新插入记录的题号拷贝到第i个位置*/ strcpy(dat[i].timu,; n++; /*记录数加1*/ return n; } int Shuru(Data dat[],int n) ihao); printf("\t题目:"); scanf("\t%s",dat[n+i].timu);