C语言课程设计报告Word文件下载.docx

上传人:b****6 文档编号:17667102 上传时间:2022-12-08 格式:DOCX 页数:13 大小:94.74KB
下载 相关 举报
C语言课程设计报告Word文件下载.docx_第1页
第1页 / 共13页
C语言课程设计报告Word文件下载.docx_第2页
第2页 / 共13页
C语言课程设计报告Word文件下载.docx_第3页
第3页 / 共13页
C语言课程设计报告Word文件下载.docx_第4页
第4页 / 共13页
C语言课程设计报告Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告Word文件下载.docx

《C语言课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告Word文件下载.docx

计算机基础自主学习中心

起止时间

2013.1.14~2013.1.18

设计内容及要求

功能要求:

(1)用文件保存试题库。

(每个试题包括题干、4个备选答案、标准答案)

(2)试题录入:

可随时增加试题到试题库中

(3)试题抽取:

每次从试题库中可以随机抽出N道题(N由键盘输入)

(4)答题:

用户可实现输入自己的答案

自动判卷:

系统可根据用户答案与标准答案的对比实现判卷并给出成绩。

设计

参数

(1)系统分析、设计正确。

(2)结果以图表方式显示。

(3)界面简洁、美观。

(4)报告格式规范。

进度

要求

1月14日第一大节、第二大节讲解课程设计任务

1月14日第三大节、第四大节阅读课程设计指导书,选择课题

1月15日第一大节、第二大节讲解结构体相关知识

1月15日第三大节、第四大节学生练习结构体的使用

1月16日第一大节、第二大节程序编码

1月16日第三大节、第四大节程序编码

1月17日第一大节、第二大节程序编码

1月17日第三大节、第四大节编写课程设计报告

1月18日第一大节、第二大节课程设计答辩

1月18日第三大节、第四大节课程设计答辩

参考资料

[1]何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年

[2]谭浩强张基温.《C语言程序设计教程》.高等教育出版社.2006年

其它

说明

1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。

2.若填写内容较多可另纸附后。

3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。

系主任:

指导教师:

伍建全/王双明/黄永文/陈国荣/葛继科2013年1月12日

摘要

此论文为单项选择题标准化考试系统的模拟程序,需实现对于试题的录入,抽取,答辩,评分及退出功能和在任意功能之间循环等功能。

本次所设计的程序为C语言设计,通过对于一系列函数的调用实现上述功能。

该程序主要使用了定义结构变量,指针,数组,函数的编辑与调用以及文件的输入和输出功能。

通过定义结构变量实现数据的录入输出,并结合数组进行程序的录入输出。

本程序的设计思路为:

首先进行主界面的控制选择,通过主界面的选择,运用嵌入式循环,定义多种函数。

每个函数控制一项功能,使得编写有所分工,最后结合在主函数上。

对于定义函数,以方便使用为主要原则,尽量保证读者能直截了当的了解程序的整体布局和作用。

因此减少了许多以外的编辑麻烦。

而不同于直接编辑,调用函数能够使程序的编辑更加有序,修改上也比较容易。

关键字:

试题管理系统、数组、函数

目录

摘要………………………………………………………………………………4

1软件需求分析说明书…………………………………………6

1.1软件功能……………………………………………………6

1.2特殊功能……………………………………………………6

2系统分析与设计…………………………………………………7

2.1软件界面设计………………………………………………7

2.2软件的数据(结构)设计…………………………………7

2.3软件的算法设计……………………………………………7

3软件的实现…………………………………………………………8

4软件测试……………………………………………………………9

5软件使用说明书…………………………………………………10

6致谢………………………………………………………………………………14

参考文献………………………………………………………………………14

第一章

软件需求分析说明书

1.1软件功能

1.1.1试题录入

本功能可以实现试题信息的录入,通过屏幕的指示输入用户需要输入的序号,题干,选项,答案等并且保存在文件中。

使用本功能时,需要注意严格按照屏幕上的指示,否则将造成存储失误,影响使用,并且尤其需要注意输入时不能有空格;

1.1.2试题抽取

本功能可以实现从试题库中抽取任意试题数,但不能超过题库中的总数,如果超过系统会进行提示,从新抽取。

1.1.3答题

通过本功能,用户可以方便在电脑上进行选择题,而且可以进行多项选择题作答。

1.1.4评分

本功能可以实现100分制评分,无论题数多少,满分总是100分,答完后系统会给予评分输出。

1.1.5退出功能

本功能可以实现系统的退出。

1.2特殊功能

本程序针对各种可能的操作情况做出了提示,100分制,可以进行多选题作答,可以随时简便的进行试题数的变更,可以在当前功能出跳至任意功能处。

1.2.1选择时输入失误

此时系统会提示重新输入。

1.2.2文件不存在

此时系统提示确认文件路径并作出下一步指示。

1.2.2分配失败、

此时系统会提示分配空间失败。

1.2.4功能完成后提示

此时系统会提示做出下一步选择(如继续使用或者退出)。

第二章系统分析与设计

2.2软件的数据(结构)设计

该软件使用了switch结构,函数的创建与使用,定义结构变量,指针,数组。

2.3软件的算法设计

第三章程序设计

#include<

stdio.h>

stdlib.h>

time.h>

enum{LEN=16};

/@@@定义枚举变量,实现试题数的改变@@@/

typedefstructtest/@@@定义一个结构体并取名为stu,实现各个信息的输入@@@/

{

intID;

charquestion[100];

charchoose[100];

charanswer[4];

}stu;

voidoutput1(FILE*fp,stu*p);

voidoutput2(FILE*fp,stu*p);

voidinput(FILE*fp,stu*p);

char*an(FILE*fp,stu*p);

intgread(char*p1,char*p2);

intmain()

doublesum=0;

intN,n,a,i;

charz[4];

stu*buf,d;

FILE*pf;

while(n!

=4)

printf("

**********欢迎进入试题库系统***********\n"

);

/

printf("

功能:

\n"

1.试题录入:

2.试题抽取和答题:

3.评分:

4.退出\n"

请选择功能:

scanf("

%d"

&

n);

if(n==1)

{

a=1;

while(a!

=0)

{

printf("

请输入序号:

scanf("

d.ID);

请输入题目:

%s"

d.question);

fflush(stdin);

请输入选项:

d.choose);

fflush(stdin);

请输入答案:

d.answer);

pf=fopen("

a.txt"

"

a"

output1(pf,&

d);

是否继续?

(1代表继续,0代表退出)\n"

&

a);

fclose(pf);

}

}

if(n==2)

FILE*pf=fopen("

r"

if(!

pf)

文件打开失败\n"

return0;

buf=(stu*)malloc(LEN*sizeof(stu));

n

for(i=0;

i<

LEN;

i++)

input(pf,&

buf[i]);

a=1;

while(a!

{

请输入您所抽取的题数:

N);

if(N>

LEN)

printf("

对不起,您抽取的题数超出题库的总数,请从新抽取:

else

srand(time(0));

N;

a=rand()%LEN+1;

output2(stdout,&

buf[a]);

请输入您的答案\n"

gets(z);

if(gread(z,an(pf,&

buf[a]))==1)

sum+=100/N;

}

free(buf);

\n\n"

if(n==3)

您的最终得分是%0.2lf\n"

sum);

if(sum>

=60)

恭喜你!

及格了!

if(sum<

60)

唉...没有及格哦!

下次再努力!

if(n==4)

欢迎下次使用!

return0;

}

voidinput(FILE*fp,stu*p)

fscanf(fp,"

%d%s%s%s"

(p->

ID),p->

question,p->

choose,p->

answer);

voidoutput1(FILE*fp,stu*p)

fprintf(fp,"

%d%s%s%s\n"

p->

ID,p->

voidoutput2(FILE*fp,stu*p)

%d%s%s\n"

choose);

char*an(FILE*fp,stu*p)

%s\t\n"

returnp->

answer;

intgread(char*p1,char*p2)

inti,flag=1;

for(i=0;

4;

if(*p1!

=*p2)

flag=0;

break;

returnflag;

第四章软件测试

voidoutput1(FILE*fp,stu*p)

使用这两个函数,实现试题录入:

Stud;

界面上输入:

17,2+5=?

A3B4C7D2D

在文件中显示:

voidinput(FILE*fp,stu*p)

使用这三个函数,实现试题的抽取,作答,判断及评分:

在界面上:

题数:

2

13+9=?

A12B5C6D7

作答:

D

26+9=?

A4B6C15D8

作答:

C

得分:

您的分数使50分

唉...没有及格哦!

第五章软件使用说明书

1.试题录入:

2.试题抽取、作答:

3.评分与评价:

致谢

这次的课程设计过程很难,但是有老师的指导和同学的帮助,顺利完成了任务,十分感谢他们的帮助。

希望以后用自己的实际行动报答他们的帮助。

签名:

李桃

日期:

2013/1/18

参考文献

C语言课本

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

当前位置:首页 > PPT模板 > 动物植物

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

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