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

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

#include

#include

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

da[i]=dat[i];

for(i=0;i

for(j=i+1;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

{

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

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

{

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

{

printf("\t-------该记录已存在,请重新输入!-------\n");

system("pause");

system("cls");

break;

}

相关文档
最新文档