C语言程序设计_题库管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档