C语言程序设计方案报告学生成绩记录簿Word文件下载.docx
- 文档编号:13462965
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:26
- 大小:294.26KB
C语言程序设计方案报告学生成绩记录簿Word文件下载.docx
《C语言程序设计方案报告学生成绩记录簿Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计方案报告学生成绩记录簿Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
3.2算法
4程序测试,运行结果及说明
5课程设计总结
6附录(参考文献,原代码解析,限制条件,程序测试)
6.1参考文献
6.2原代码解析
6.3限制条件
1.概述
1.1题目
成绩记录簿
1.2程序描述
本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。
本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是链表的相关操作,包括结构体链表的创建、输入、输出、查找、删除等。
我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。
1.建立一个主界面
2.用switch语句进行分类讨论
3.分别进入录入,查询,删除,求平均值等子函数。
4.将子函数与主函数相连即可。
该程序可以建立学生的成绩记录。
可以方便老师和同学方便的查阅成绩;
这个程序有录入和删除的功能;
还可以求出平均成绩,并排序
2.1程序系统的结构
2.2程序流程图
课程编号
2.3功能
成绩记录簿中记录以下数据:
学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分;
输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:
8位数字;
课程编号:
5位数字;
成绩:
0~100之间的整数,学分:
1~5之间的实型数。
添加成绩:
需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示;
查询(班级或个人)成绩:
查询个人成绩:
以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成的总学分。
查询班级成绩:
以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同学不同课程在不同分数段分布的人数及百分比。
拓展功能:
a)程序启动时先从文件读入数据,如果文件中没有数据则给出提示;
b)每次修改的数据写入文件
2.4性能
方便,灵活,直观,易用
输入项:
charname[10]设置学生名称
longintid定义学号为长整型
floatavg平均分为实数
输出项
intm1,m2,m3,score,xf;
定义整型
floatavg;
以浮点型输出平均分
主程序提供一个界面,允许用户选择。
使用switch语句,用时直接输入数字即可。
增加函数,功能是插入学生成绩。
使用一个无穷循环,直到录入”n”时结束。
删除函数,功能是删除,分为两步,先找后删。
找,用strcmp函数来做如果找到记录i值,反之记为-1;
删除可以从i项开始将数组的后一项赋值给前一项。
前一项自动被删掉。
这样完成删除。
查询函数与之类似,将删除改为输出即可;
求平均值函数与查询类似只是输出时只输出平均值而已。
按平均值排序只要加一个排序函数即可。
退出函数什么都不写,即可。
No
Yes
3.2算法
本程序参考了冒泡法
其代码结构为:
For(i=0;
i<
k;
i++)
{
For(j=i;
j<
j++)
If(a>
b)
{
}
其中也多次用到了循环和判断结构
3运行结果及说明
1.开始时
2.添加
3.删除
4.查询学生成绩
(1)按名字查询
(2)按学号查询
4.查询班级成绩
5.写入文本文件
6.读取文本文件
4课程设计总结
短短的俩周已经过去了,在此我将交出我一周的成果,我真是百感交错
1.原先写程序直接编,条理性太差。
如果先做一个流程图就条理很多。
2.学会了将文件存入和读取,并学会在文件中加入信息和删除信息。
3.我在查找学生姓名时遇到困难,从课本上找到了一个函数strcmp,解决了问题
困难:
我在定义学生的学号时首先用整型%d。
发现输出与录入不同。
改用长整型%ld仍然不行。
但是字符型%s却可以做到。
!
事实上,与过去相比,我认为这短短的一周给我的感悟更为强烈。
在此,首先我要感谢老师,是老师把我带进了这一门,俗话说的好“万丈高楼平地起”,所以说,基础很重要。
而老师讲课认真,讲也很透彻,使我们能较好的理解这门课,可以跟紧课堂进度,是我们有机会能打下结实良好的基础。
而且老师在平时也鼓励我们多提问,在我们遇到问题时,富有耐心地为我们解答。
在此再次感谢老师对我们不辞操劳的讲解!
谢谢!
一开始,当我第一眼看到这课程设计的时候,我感到十分的“痛苦”,老实说,在还未进行编程之前,我就感到这与我们之前的编程完全不一样,与这次相比,以前的上机实验就像是小孩子玩得,一点技术含量也没有。
以前的那些实验只要看看书,花上一二个小时,基本就可以完成了,而且以前的小程序最多也不过二三十行,不像这次要百来行。
从中可见它的难度,从而联想到那些专业编程员,我更深刻感到自己的不足。
由于之前从未进行过如此大的编程,所以一开始根本没头绪,后来只好用死办法,像写作文一样,首先先在纸上列出大致的提纲,然后再一个个慢慢延伸展开,最后再输入计算机,用它来运行。
可惜不运行还好,一运行只见一片的红色错误提示。
有些错误很简单,很好改,是由于自己的粗枝大叶引起的,比如:
有些字符未定义,漏了一个“;
”等。
但也有些高深莫测的问题,例如:
当我好不容易把程序运行出来后,却发现当我选择删除这一项时,会发现不论我选择是按学号删除还是按姓名删除都不会出现我所要删除的内容,而是直接询问确定删除请按1~~。
又或者是当我添加时是添加了三个同学的成绩,但当我查询全班成绩时,却只有两位同学的成绩。
后来在百思不得其解之下,我只好向周围同学寻求帮助,最终在大家的帮助之下才解决的,诸如此类的问题还不少!
有的已经解决,但有些还未,可惜时间不够,也只能如此。
经过这一周的课程设计,我发现我懂得了很多,它使我在编程时更仔细了,也使我学会了向周围人求教,培养了我自我学习,独立思考。
并且,使我更体会到了和高中的不一样,一切靠自觉,没有人会跟在你后面一直催你,告诉你该怎样怎样。
同时,我也更加了解到自己的不足,基础严重不扎实。
虽然这门课快结束了,但我会努力在假期中把自己的基础补好,期待在下次的课程设计时能够得心应手!
参考文献:
[1]谭浩强.C程序设计(第三版).北京:
清华大学出版社,2005
[2]谭浩强.C程序设计题解与上机指导(第三版).北京:
[3]HerbertSchildt.C语言大全(第四版).北京:
电子工业出版社,2004
[4]SamuelP.HarbisonⅢ,GuyL.Steele.C语言参考手册(第5版).北京:
机械工业出版社,2003
[5]张建勋.C语言程序设计教程.北京:
清华大学出版社,2008.2
[6]崔武子.C程序设计教程(第2版).北京:
清华大学出版社,2007.6(第2版)
[7]K.N.King.C语言程序设计:
现代方法(第2版).北京:
人民邮电出版社,2010
原代码解析:
#include<
stdio.h>
stdlib.h>
string.h>
#defineMAX1000
structLesson
charLessonName[100];
charLessonNumber[100];
intLessonMark;
floatLessonCredit;
};
structStudent
charName[100];
charNumber[100];
intLessonCount;
structLessonL[100];
structStudentS[MAX];
intStudentCount=0;
voidPrintInterface();
intStudent_Insert();
intStudent_Delete();
voidStudent_Select();
voidClass_Select();
voidWriteFile();
voidReadFile();
intmain()
intn;
PrintInterface();
scanf("
%d"
&
n);
}
voidPrintInterface()
{
while
(1)
printf("
\n--------------------------"
);
\n|1、添加|\n"
\n|2、删除|\n"
\n|3、查学生成绩|\n"
\n|4、查班成绩表|\n"
\n|5、写入文本文件|\n"
\n|6、读取文本文件|\n"
\n|0、退出|\n"
\n选择操作:
"
&
switch(n){
case1:
if(Student_Insert())
printf("
\n添加成功...回车继续\n"
else
\n添加失败...回车继续\n"
break;
case2:
Student_Delete();
case3:
Student_Select();
case4:
Class_Select();
break;
case5:
WriteFile();
case6:
ReadFile();
case0:
exit
(1);
default:
无此功能,请重新选择,按回车确定\n"
}
return0;
intStudent_Insert()
inti,j,n;
\n请输入所添加的学生人数:
if(StudentCount+n>
=M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 方案 报告 学生 成绩 记录簿