上海应用技术学院课程设计报告.docx
- 文档编号:30151306
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:18
- 大小:358.31KB
上海应用技术学院课程设计报告.docx
《上海应用技术学院课程设计报告.docx》由会员分享,可在线阅读,更多相关《上海应用技术学院课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
上海应用技术学院课程设计报告
上海应用技术学院课程设计报告
课程名称C语言课程设计设计题目成绩记录簿
姓名叶箭专业班级******B2学号**********组别无
同组者指导教师日期成绩
一、目的及要求
(1)目的
1.巩固和加深学生对C语言课程的基本知识的理解和掌握;
2.掌握C语言编程和程序调试的基本技能;
3.利用C语言进行基本的软件设计;提高学生的编程能力
4.掌握书写程序设计说明文档的能力
5.提高运用C语言解决实际问题的能力。
(2)课程设计要求
1.分析课程设计题目的要求;
2.写出详细设计说明;用户提供的主操作界面应该为菜单形式
3.编写程序代码,调试程序使其能正确运行;
4.设计完成后提交课程设计报告和源代码文件的电子文档
最后提交的课程设计成果包括:
a)课程设计报告电子稿;
b)源程序文件;(.cpp文件)
二、课程设计内容说明
1.课程设计题目:
成绩记录簿
2.设计理念:
成绩记录簿中记录以下数据:
学号、姓名,语文,数学,英语,学分,所有成绩都以百分制计分。
在程序中可以输入新的成绩记录,可以按学号或姓名查询一个学生的所有成绩,和已完成的学分。
也可以查出一个班的成绩表
输入信息时要检查数据项学号的合法性,学号:
8位数字;成绩:
0~100之间的整数。
程序的主界面如下:
成绩记录簿
1.添加
2.删除
3.查询学生成绩
4.查询班级成绩
0.退出
1程序系统的结构:
F.2.1程序描述:
(1)目的:
对成绩录入簿进行良好的添加,查询,删除。
(2)特点:
方便,灵活,直观,易用。
意义:
编写此程序,可以巩固和加深我们对C语言课程的基本知识的理解和掌握;也使我们能掌握C语言编程和程序调试的基本技能;使我们有能力利用C语言进行基本的软件设计;更令我们掌握了书写程序设计说明文档的能力:
且提高运用C语言解决实际问题的能力。
F.2.2功能:
通过主菜单,我们可以迅速的选择我们所需的操作了,比如:
添加或删除每个人的成绩,学分,学号等一系列的内容,又或者可以随时方便快捷的查询个人成绩或班级成绩,
F.2.3性能:
可以应付简单的添加,删除和查询;
F.2.4输人项
charname[10]设置学生名称
longintid定义学号为长整型
floatavg平均分为实数
F.2.5输出项
intm1,m2,m3,score,xf;定义整型
floatavg;以浮点型输出平均分
F.2.6算法
1.for语句,不断循环接受新的信息
2.if语句,判断,然后选择输出
3.switch语句,case语句负责到是以名字或是学号等一系列信息进行删除或查询
F.2.7流程逻辑
这是总的流程图。
该流程分为五大模块:
模块一:
主菜单
模块二:
tj()函数接受添加的数据,
模块三:
del()是删除不需要的数据的内容,可以通过学号和姓名两种方式进行操作,其中有确认操作,防止误操作,删除结束返回主菜单。
模块四:
checkstident()是通过按姓名与学号两种方法来查询学生个人成绩
模块五:
checkclass()是通过一个for语句不断循环已经接受的内容来显示班级成绩
F.2.8接口
#include"stdio.h"
#include
#include
structstu
{
longintid;
charname[10];
intm1,m2,m3,score,xf;//xf为学分
floatavg;
}f[100];
intx=0,a,choose,s=0,score1=0,score2=0,score3=0,c;
longintid;
floatavg1,avg2,avg3;
charname[10];
voidtj()
{}
voiddel()
{}
voidcheckstudent()
{}
voidcheckclass()
{}
voidmain()
{
inta;
while
(1)
{
printf("\n\n\n");
printf("成绩记录簿\n");
printf("1:
添加\n");
printf("2:
删除\n");
printf("3:
查询学生成绩\n");
printf("4:
查询班成绩\n");
printf("0:
退出\n");
printf("请输入数字选择:
");
scanf("%d",&a);
switch(a)
{
case1:
tj();break;
case2:
del();break;
case3:
checkstudent();break;
case4:
checkclass();break;
case0:
exit(0);
default:
;
}
}
}
F.2.9限制条件:
1.一个学生必须有语文,数学,英语三门成绩
2.学号必须都是数字,且是八位,不能有0
F.2.10测试计划
主函数:
进入就可以选择要操作的选项
添加:
进入主菜单,选择1,输入要添加的人数,输入学生学号,语文,数学,英语及学分,然后输出
删除:
进入主菜单,选择2,在选择删除方法时,我选择了1(按学号删除),然后输入学号,显示出要删除的内容,选0(确定删除),删除成功
查询学生成绩:
进入主菜单,选择3,在选择查询方法时,我选择了1(按学号查询),然后输入学号,显示出要查询的内容,
查询班成绩:
进入主菜单,选择4,显示出班成绩
三、结论与体会
结论:
对完成情况的评价:
可以进行一些简单操作,可以比较迅速地进行添加,删除与查询
设计中存在的问题:
目前程序虽然已经完成,但仍然有许多不足与漏洞。
例如:
1.在我的程序中查询班成绩是直接显出来的,不需要选择查询方法,然而,事实上,我本可以用switch语句,case语句来编程,这样的话,在查询班成绩时,就可以通过选择查询方法来查询了!
可惜没时间了,否则一定将此不足改正。
2.另一个不足之处是由于惯性,想当然的以为学号一定是数字,且通常是八位,所以在我的程序中,如果学号中有字母,程序将陷入死循环:
如果学号超过八位,将提示输入有误!
体会:
短短的一周已经过去了,在此我将交出我一周的成果,我真是百感交错!
事实上,与过去相比,我认为这短短的一周给我的感悟更为强烈。
在此,首先我要感谢老师,是老师把我带进了这一门,俗话说的好“万丈高楼平地起”,所以说,基础很重要。
而老师讲课认真,讲也很透彻,使我们能较好的理解这门课,可以跟紧课堂进度,是我们有机会能打下结实良好的基础。
而且老师在平时也鼓励我们多提问,在我们遇到问题时,富有耐心地为我们解答。
在此再次感谢老师对我们不辞操劳的讲解!
谢谢!
一开始,当我第一眼看到这课程设计的时候,我感到十分的“痛苦”,老实说,在还未进行编程之前,我就感到这与我们之前的编程完全不一样,与这次相比,以前的上机实验就像是小孩子玩得,一点技术含量也没有。
以前的那些实验只要看看书,花上一二个小时,基本就可以完成了,而且以前的小程序最多也不过二三十行,不像这次要百来行。
从中可见它的难度,从而联想到那些专业编程员,我更深刻感到自己的不足。
由于之前从未进行过如此大的编程,所以一开始根本没头绪,后来只好用死办法,像写作文一样,首先先在纸上列出大致的提纲,然后再一个个慢慢延伸展开,最后再输入计算机,用它来运行。
可惜不运行还好,一运行只见一片的红色错误提示。
有些错误很简单,很好改,是由于自己的粗枝大叶引起的,比如:
有些字符未定义,漏了一个“;”等。
但也有些高深莫测的问题,例如:
当我好不容易把程序运行出来后,却发现当我选择删除这一项时,会发现不论我选择是按学号删除还是按姓名删除都不会出现我所要删除的内容,而是直接询问确定删除请按1~~。
又或者是当我添加时是添加了三个同学的成绩,但当我查询全班成绩时,却只有两位同学的成绩。
后来在百思不得其解之下,我只好向周围同学寻求帮助,最终在大家的帮助之下才解决的,诸如此类的问题还不少!
有的已经解决,但有些还未,可惜时间不够,也只能如此。
经过这一周的课程设计,我发现我懂得了很多,它使我在编程时更仔细了,也使我学会了向周围人求教,培养了我自我学习,独立思考。
并且,使我更体会到了和高中的不一样,一切靠自觉,没有人会跟在你后面一直催你,告诉你该怎样怎样。
同时,我也更加了解到自己的不足,基础严重不扎实。
虽然这门课快结束了,但我会努力在假期中把自己的基础补好,期待在下次的课程设计时能够得心应手!
参考文献
C语言程序设计实用教程周雅静主编清华大学出版社2009
附录:
程序清单
附录——源程序
#include"stdio.h"
#include
#include
structstu
{
longintid;
charname[10];
intm1,m2,m3,score,xf;//xf为学分
floatavg;
}f[100];
intx=0,a,choose,s=0,score1=0,score2=0,score3=0,c;
longintid;
floatavg1,avg2,avg3;
charname[10];
voidpt()//分割线
{
printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
}
voidtj()
{printf("你要添加几个学生成绩:
");
scanf("%d",&a);
printf("请输入:
学号姓名语文数学英语学分\n");
a=a+s;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海 应用 技术学院 课程设计 报告