c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc

上传人:b****1 文档编号:13105494 上传时间:2022-10-05 格式:DOC 页数:25 大小:436KB
下载 相关 举报
c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc_第1页
第1页 / 共25页
c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc_第2页
第2页 / 共25页
c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc_第3页
第3页 / 共25页
c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc_第4页
第4页 / 共25页
c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc

《c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc(25页珍藏版)》请在冰豆网上搜索。

c语言课程设计--成绩记录本-c程序Word文档下载推荐.doc

数学系

专业

数学与应用数学

班级

09122111

一、课程设计任务(条件)、具体技术参数(指标)

1.在指导书提供的课程设计题目中选择一题或自选(但需经过指导教师认可)

2.每个题目限一人完成,题目选定后不可更换。

3.用户提供的主操作界面应该方便用户的操作。

4.最后提交的课程设计成果包括:

a) 课程设计报告电子稿。

c) 源程序文件。

d) 可执行程序文件。

二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)

1.分析课程设计题目的要求;

2.写出详细设计说明;

3.编写程序代码,调试程序使其能正确运行;

4.设计完成的软件要便于操作和使用,有整齐、美观的使用界面;

5.设计完成后提交课程设计报告和源代码文件的电子文档。

三、课程设计工作进度计划:

第一天选择课程设计题目,分析课题的要求,确定设计方案;

第二天按功能模块编写详细设计说明和程序流程图;

第三~六天编写与调试程序;

第七天写课程设计报告;

第八天提交课程设计报告并答辩;

四、主要参考资料

[1]谭浩强.C程序设计(第三版).北京:

清华大学出版社,2005

[2]谭浩强.C程序设计题解与上机指导(第三版).北京:

清华大学出版社,2005

[3]HerbertSchildt.C语言大全(第四版).北京:

电子工业出版社,2004

[4]程序设计语言课程设计指导书.

指导教师(签名):

陈飞云教研室主任(签名):

杨晶鑫

2010年7月5日2010年7月5日

目录

1 概述 4

1.1 课程设计目的 4

1.2 课程设计要求 4

1.3 设计要求具体说明 4

2 详细设计说明 4

2.1 总体设计方案 4

2.2 程序描述 4

2.3 功能结构 4

2.4 主要模块描述 4

2.5 采用的算法 4

3 程序测试 5

4 课程设计总结 5

5 软件使用说明 5

6 附录(参考文献,原代码:

) 5

1概述

1.1课程设计目的

1巩固和加深学生对C语言课程的基本知识的理解和掌握;

2掌握C语言编程和程序调试的基本技能;

3利用C语言进行基本的软件设计;

4掌握书写程序设计说明文档的能力

5提高运用C语言解决实际问题的能力。

5.1课程设计要求

基本功能

a)添加成绩

b)删除成绩

c)查询学生成绩

d)查询班级成绩

e)退出

拓展功能

a)写入文件

b)读取文件

创新(自拟)功能:

求平均成绩并由此排序。

5.2设计要求具体说明

基本功能:

成绩记录簿中记录以下数据:

学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分;

输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:

8位数字;

课程编号:

5位数字;

成绩:

0~100之间的整数,学分:

1~5之间的实型数。

添加成绩:

需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示;

查询(班级或个人)成绩:

a)查询个人成绩:

以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成的总学分。

b)查询班级成绩:

以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同学不同课程在不同分数段分布的人数及百分比。

c)拓展功能:

定义合适的结构体类型,使用链表或数组的方式组织数据。

a)程序启动时先从文件读入数据,如果文件中没有数据则给出提示;

b)每次修改的数据写入文件。

6详细设计说明

1,设计好算法,用流程图表示出来。

2,分别做好主函数,和需要用到的各个函数。

3,将他们拼接好,进行调试。

4,美化界面环境。

6.1总体设计方案

6.2程序描述

(给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且还要说明本程序的特点)

1,建立一个主界面

2,用switch语句进行分类讨论

3,分别进入录入,查询,删除,求平均值等子函数。

4,将子函数与主函数相连即可。

该程序可以建立学生的成绩记录。

可以方便老师和同学方便的查阅成绩。

这个程序有录入和删除的功能。

还可以求出平均成绩,并排序。

6.3功能结构

(说明该程序应具有的功能,给出功能结构图)

录入学生成绩

查询成绩

删除成绩

求平均分

按平均分排序

退出

6.4主要模块描述

(对主要模块包括主程序分别进行功能描述、设计说明、操作说明,并给出流程图)

主程序提供一个界面,允许用户选择。

使用switch语句,用时直接输入数字即可。

增加函数,功能是插入学生成绩。

使用一个无穷循环,直到录入”n”时结束。

删除函数,功能是删除,分为两步,先找后删。

找,用strcmp函数来做如果找到记录i值,反之记为-1;

删除可以从i项开始将数组的后一项赋值给前一项。

前一项自动被删掉。

这样完成删除。

查询函数与之类似,将删除改为输出即可;

求平均值函数与查询类似只是输出时只输出平均值而已。

按平均值排序只要加一个排序函数即可。

退出函数什么都不写,即可。

6.5采用的算法

(详细分析说明本程序所选用的算法,具体的计算公式和计算步骤)

首先进入主函数,

如果选一,进入Student_Insert();

函数,用户录入数据。

直到录入”n”时停止。

如果选二,进入Student_modify();

用户输入信息,然后系统求出平均值并且输出.

如果选三,进入Student_Delete();

先找到这条信息,然后删除,如果找不到,输出错误.

如果选四,进入Student_Select();

查询信息找到输出,找不到输出错误.

如果选五,进入Student_SortByAverage();

按平均值排序输出.

如果选六,进入exit();

直接跳出程序.

7程序测试

1,开始时

2,

输入1

3,按要求录入。

输入y时

输入n时

选5时

显然输入2也可以得到正确结果。

选择3时

选择y

选择4时

选择6时

(说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果等。

实际测试情况等等)

8课程设计总结

(通过二周课程设计进行自我总结,包括你学到了什么,哪里遇到了困难,解决的办法以及系统可以进行哪些功能的提升等等。

学到的东西

4,原先写程序直接编,条理性太差。

如果先做一个流程图就条理很多。

5,学会了将文件保存在硬盘里。

6,使用#include<

conio.h>

和system("

colore0"

)可以改变屏幕和字体颜色。

7,我在查找学生姓名时遇到困难。

从课本上找到了一个函数strcmp,问题解决

困难

1,我在定义学生的学号时首先用整型。

发现输出与录入不同。

改用长整型仍然不行。

但是字符型却可以做到。

2,当输入的学号大过8位时,学号会自动变为学号加姓名..不知道为什么?

(如图所示)

功能的不足

1,我的程序无法完成对输入数据的检查。

在我加入一个“Ifgoto”语句时程序报错。

所以我只好将这段程序删除。

这样就无法检验数据正误。

同时即使同一个学生的信息已经录入,再次录入时也不能报错。

2,我的程序是将学生的姓名作为一个线索。

所以当题目要求找到一个学生并输出其信息时毫无问题。

但是这个程序无法在以某门课为线索找到所有学生成绩。

3,开始写程序时未使用链表,程序冗杂。

长度较大,不灵活。

4,我的程序无法修改。

一旦某个数据输入错误,就只好删除,然后重新输入。

9软件使用说明

输入时不要超过定义的字数,否则出错.

(对你所设计软件的使用进行说明)

10附录(参考文献,原代码:

参考文献

谭浩强.C程序设计(第三版).北京:

原代码

#include<

stdio.h>

//定义学生结构体//

structStudent

{

charID[8];

charName[20];

floatMark1;

floatMark2;

floatMark3;

floatAverage;

intmark1;

intmark2;

intmark3;

longintkcbh1;

longintkcbh2;

longintkcbh3;

charkecheng1[29];

charkecheng2[29];

charkecheng3[29];

};

//声明学生数组及学生数量//

structStudentstudents[1000];

intnum=0;

//求平均值//

floatAvg(structStudentstu)

return(stu.mark1*stu.Mark1+stu.mark2+stu.Mark2+stu.mark3+stu.Mark3)

/(stu.Mark1+stu.Mark2+stu.Mark3);

}

//通过学号返回//

intStudent_SearchByIndex(charid[])

inti;

for(i=0;

i<

num;

i++)

{

if(strcmp(students[i].ID,id)==0)

{

returni;

}

}

return-1;

//通过姓名返回数组下标//

intStudent_SearchByName(charname[])

inti;

for(i=0;

{

if(strcmp(students[i].Name,name)==0)//比较参数中两个字符串的大小如

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

当前位置:首页 > 法律文书 > 辩护词

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

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