c语言比赛规则和章程

c语言比赛规则和章程
c语言比赛规则和章程

附件1:第六届“有志·青软”C语言程序设计竞赛评审委员会名单评审委员会主任:刘云信息科学技术学院院长

评审委员会副主任:岳学海信息科学技术学院党总支书记

胡乃平信息科学技术学院副院长

刘国柱信息科学技术学院副院长

王永波信息科学技术学院党总支副书记

宋波青岛科大有志信息技术有限公司CEO

刘全青岛青软实训中心CEO

评审委员会委员:杨阳

宋廷强

马兴录

庞志永

顾珊珊

附件2:第六届“有志·青软”C语言程序设计竞赛规则

C语言程序设计竞赛规则

参赛对象

1、凡青岛科技大学大学在校生均可报名参加。年级、专业不限。

2、本次比赛学生以团体身份参加,每三人一组参赛。

3、参赛同学应保证自己身份等资料的真实性。

竞赛细则

1、选手在参赛时携带个人证件(学生证,图书证,身份证三者之一即可)。

2、竞赛以上机为比赛方式。

3、上机比赛时间为3个小时,中间不休息。

4、参赛选手可以携带诸如书籍、字典、手册、程序清单等文字性参考资料。

5、参赛选手不能携带任何可用计算机处理的软件或数据(不允许任何私人携带的磁盘或计

算器)。

6、参赛选手不能携带任何类型的通讯工具,包括无线电接收器、移动电话等。

7、选手未解决全部题目不得提前离场。

8、竞赛的预定时间为3小时,但当竞赛进行一定时间后,竞赛裁判可以因为出现不可预见的事件而调整比赛时间长度,一旦比赛时间长度发生改变,将会以及时并且统一的方式通告所有参赛选手。

9、当参赛选手出现妨碍比赛正常进行的行为时,诸如擅自移动赛场中的设备,未经授权修改比赛软硬件,干扰他人比赛等,都将会被竞赛裁判剥夺参赛资格。

竞赛评分

1、正确解答中等数量以上试题的队伍会根据解题数目进行排名,解题数在中等数量以下的队伍只发布解题数量,不进行排名。

2、在进行排名时,如果多人解题数量相同,则根据总用时加上惩罚时间进行排名。总用时和惩罚时间由每道解答正确的试题的用时之和加上惩罚时间之和而成。每道试题用时将从竞赛开始到试题解答被判定为正确为止,期间每一次错误的运行将被加罚20分钟时间。未正确解答的试题不记时,对应的错误运行也不计入惩罚时间。

3、选手在比赛期间能看到排名表和他人的成绩、解决的问题。

4、比赛中每一道题目对应一种颜色的气球(颜色的对应在试题中注明)。在选手正确解答出某道题目后,工作人员将会把对应颜色的气球插到此同学的位置旁。

5、请注意竞赛裁判决定解答提交是否正确需要一定的时间。

比赛问答

Q(Question):我能否携带字典、书籍和程序清单?

A(Answer):可以,建议至少携带一本英文字典。

Q:我能否携带光盘、软盘等存储介质?

A:不能。

Q:我能否携带计算器?

A:不能。

Q:是否提供模拟题?

A:为了让选手适应本次比赛的测试环境,我们将于正式比赛前一天举办一场模拟赛,比赛进程与正式比赛相同,且同样发布一些简单的题目进行测试,同时,在这份规则的后半部分,会有关于测试软件的详细用法。

Q:如果我在比赛过程中对试题有疑问怎么办?

A:可以通过在线的对话系统询问裁判。但请使用英语。

Q:我问裁判的问题,别人能够看到么?

A:一般看不到,当裁判认为这个问题有共性时,可以发布给大家。

Q:在比赛过程中,我能否看到自己的成绩?

A:可以看到自己以前的所有提交过程,包括每次提交的结论和提交时间。而且可以登录服务器端查看自己在整个赛场的排名。(需配置,暂时不完全保证可用。)

Q:在比赛过程中,我能否看到别人的成绩?

A:除了根据气球判断别人解答出的问题外,而且可以登录服务器端网站直接看到排名表和别人成绩。

Q:我提交一个解答后,多长时间能够反馈回判决?

A:一般可以马上得出结果。如果超过5分钟仍未有结论,请速与工作人员联系。

Q:如果我的机器出问题怎么办?

A:请速与工作人员联系。请尽量在测试环境阶段发现问题。在正式比赛期间由于机器问题造成的比赛时间延误,一般不追加时间。

Q:在测试环境过程中,我应该干什么?

A:在此阶段,将出一道简单的热身题目,题目的解答与否与比赛成绩没有任何关系。选手应该在此期间熟悉所用机器的环境,检查软硬件是否有问题,并编制程序进行提交,熟悉提交系统的使用方法。可以故意编制一些含有错误的程序,熟悉系统对于错误提交的反馈结果。

Q:提交的解答由谁来判决?

A:本次比赛的提交程序由程序自动判决。在特殊情况下,由裁判判决。

Q:提交的是程序本身还是可执行文件?

A:源代码。

Q:我是否可以将程序放到多个文件中?

A:不可以。

Q:是否会因为我的程序书写规范而获得奖励,或者因为程序不易读而遭到惩罚?

A:不会。一切以程序的执行结果为标准,除非特殊情况,否则裁判不会留意你的程序的。

Q:试题对算法有要求么?

A:没有,只要在限制时间内能够正确解答出来就可以。

Q:我的程序的运行时间远远低于要求,这是否作为一个衡量标准?

A:不会。只要在规定的时间内运行正确,都将同样对待。

Q:我已经在纸面上写出了某道题的答案,但由于时间原因没有在计算机上运行,能否给一定的分数?

A:不能。本比赛完全按照在计算机上的程序与运行决定成绩。

关于试题

Q:这个竞赛都考什么样的试题?

A:本竞赛是关于程序设计方面的竞赛,因此试题类型都是编制程序,解决一个问题。具体样例可以参见各大学online judge,例如:https://www.360docs.net/doc/2810276872.html,/。有条件的同学,可以登录相关网站进行编程练习。

Q:题目的难度如何?

A:本次比赛是面向全校的一个比赛,因而为了更好的反应比赛成绩,题目会有梯度,而且为了增强同学们对于比赛的热情和信心,题目会选择会尽量难易适中,但是也有若干题目较难以反映更高水平的同学的水平。

Q:我一定要按照题目的次序作题么?

A:不。选手可以自由决定作题的次序。试卷中的题目次序与试题难度无关。

Q:我是否要解决所有问题?

A:不必。如果你能解决所有问题,那么可以保证获得金奖了。

Q:要想获得一等奖,需要解决多少道题目?

A:按照我们的估计,大概需要解决三分之二以上的题目。

Q:我只会用C语言,是否可以参赛?

A:可以,本次竞赛允许使用C语言。国际上的ACM竞赛只允许使用C/C++和Java语言,但是如果你想参加青岛科技大学ACM代表队,为了便于不同队员的沟通,参加ACM比赛的队员需使用C语言。

Q:在判决时使用的数据是否和试题中的一样?

A:不一样。判决时使用的数据可以是符合题目要求的各种数据。数据量也可能很大。

Q:我需要测试输入数据是否满足输入条件么?

A:不需要。可以保证输入数据都是符合题目中的要求的。

Q:数据从那里输入?输出到哪里?

A:本次比赛的输入输出都是标准输入和标准输出。例如在C/C++中可以直接使用cin, cout。

Q:我在本地如何进行测试?

A:将你的程序编译成可执行文件后(假设为prog.exe),将输入数据写在一个文件中(假设为in.txt)。在命令行模式下,使用文件重定向来测试。例如:

Prog< in.txt。也可以将结果写到另一个文件中,如prog< in.txt > out.txt。这种方式可以读取到文件结束符。

Q:输入输出是否有一定要求?

A:是的。试题中对于输入输出都有严格说明,必须按照这个标准进行。否则程序将不能得到正确结果。

Q:Compiler Error(编译错)是什么含义?

A:这说明你的程序在服务器上出现编译错误,请查看详细信息确定错误的具体内容。并请检查提交时是否选择了正确的语言。

Q:Runtime Error(运行错)是什么含义?

A:这说明你的程序在运行期间出现了某些错误。常见的错误包括:除零错误,数组越界,指针指向的单元不存在等。还有一种可能就是在C/C++中,main函数的返回值不是0。

Q:Time Over(超时)是什么含义?

A:每一个题目都有一个最大运行时间的要求(在试题中明确标出),如果你的程序的运行时间超过这个要求,将被强制停止,并返回这个错误。这种情况可能是由于程序中错误地出现了死循环,也可能是因为你的算法不够优化,这就需要重新设计算法和数据结构。

Q:Output Too Much(输出过多)是什么含义?

A:在系统中,为管理资源,对每个程序的输出数量是有限制的。出现这种情况,一般都是因为程序中错误地出现了死循环,不断输出一些错误结果。

Q:Wrong Answer(结果错)是什么含义?

A:这是一种最常见的错误,也就是说明你的程序的计算出的结果不对。如果你在本地测试正确,则要注意到判决时所使用的可能是各种符合要求的数据,需要考虑你的算法是否考虑到了所有情况。

Q:Presentation Error(格式错)是什么含义?

A:如果输出中只有空格和回车与答案不一样,则返回这个错误。在试题中均有严格说明,请仔细察看题目,尤其是空行。这个错误一般标志算法的基本方案已经正确了,离正确解答只有一步之遥。

语言细节

Q:比赛中所使用的编译器是什么?

A:在服务器上使用。在本地,由于条件限制,无法使用。

Q:在C/C++中,main函数应该如何写?

A:应该写成:int main(){… return 0;}。请特别注意main函数的类型是整型,并且返回值为0。否则会导致Runtime Error。

Q:我的程序在VC中编译正确,提交后出现Compiler Error,具体信息是:

name lookup of `j' changed for new ISO `for' scoping

这是什么原因?

A:这是由于VC中存在与C++标准不兼容的部分,一般是如下类型的程序段引起的:for (int j=0; j<10; j++){…} j=10;

也就是说,在C++标准里,这种方式定义的变量j的作用域限制在for循环内部。如果要在for循环外继续使用这个变量,请将其定义提前到循环前。即如下例:

int j;

for (j=0; j<10; j++){…}

j=10;

Q:C/C++中,如下的错误信息是什么含义?

the `gets' function is dangerous and should not be used

A:gets函数作为一个危险的函数,可以造成系统的漏洞,因此不建议使用。如果要读取一行字符,可以使用cin.getline();

Q:我是否可以使用VC中的MFC类库?

A:不可以。作为替代方案,可以使用STL中的容器等工具。

Q:我是否可以使用C++中的STL?

A:可以。但是要注意VC中的STL存在一些与GNU编译器不一致的部分。最好使用那些已经被证明正确的部分。

Q:我是否可以使用动态内存?

A:可以。但是这样的程序不好调试,因此除非必要,建议避免使用。一般情况下可以直接申请一个足够大的数组等。

Team组(参数者)的使用

运行(略)

赛前一天举行抽签,按照抽签的结果分配机器以及组号。测试时,账号为组号(例如:team1),密码跟组号相同;正式比赛时,账号同样为组号,密码为一串16位的随即大小写字母跟数字的组合,届时将现场发放账号密码的纸条。

用发放的账号密码既可以登陆

在这个选手界面上,可以进行如下功能:

(1) 题目提交功能:选手在这个界面可以选择题目、编程语言和主程序,确认无误后可以提交给服务器。虽然系统可以区分对于一个程序的多次提交,但是现实中对裁判的阅卷工作造成了很多不利影响,因此在竞赛过程中应该提示选手一个程序最好只提交一次。对于裁判员来说只有第一个程序是有效的。

(2) 问题解答:如果选手对于已经提交的程序有了不同的想法,可以在这个界面与

裁判员进行交流沟通。

(3) 提交程序表:选手可以在这个界面了解到已经提交的程序的概况。避免出现遗忘提交程序的问题。

比赛开始后,在窗口上方会有剩余时间显示,当比赛还未开始时,窗口上方显示如下图显示:(略)

Submit为问题的提交问题选项卡选择problems 你要提交的题language 你程序的语言Vc为microsoftc++dev-cpp为GNU C++

点select选择源程序(cpp文件)的路径

完成以后就可以提交了

提交后系统会给出一个结果

例如:(略)

Yes正确(简单称ac)

No-Compilition Error 为编译错误简单称(ce)

No-Run-time Error 运行中意外终止(RE)(也有可能是格式错误)

No-time-limit Exceeded程序运行超时(TLE)

No-Wrong Answer 答案错误

No-Excessive Out put 程序输出结果超出pc^2所能检测的范围

No-Output Format Error 格式错误

No-Other-Contact Staff 其他未知错误

具体操作请同学们在模拟赛的时候进行操作熟悉。

附件3: 第六届“有志〃青软杯”C语言程序设计竞赛报名表

查看相关通知。

C语言教学计划

海南软件职业技术学院课程教学计划 C语言程序设计 一、教学培养目标 C语言是影响深远的、传统的、面向过程的优秀编程语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,特别适合编写系统软件。现在,C语言不仅为计算机专业工作者所使用,而且为广大计算机应用人员所喜爱和使用。 通过本课程的学习,应使学生掌握高级语言的基本原理,学会运用C语言进行程序设计,同时提高分析问题和解决问题的能力,为后续课的学习和应用开发打下扎实的高级语言理论和实践基础。《C语言程序设计》是一门理论性、实践均较强的课程,在教学程中要突出理论联系实际的基本原则,注重上机实验。 二、教学手段和方法 本课程侧重于学生的C语言程序设计基础知识教育,更侧重于使学生掌握使用C语言进行程序设计的基本技术,要求具备较新的教学和实验条件,授课与上机实训相结合,以提高学生实际应用能力;对语言的学习除了学语法之外,还必须经过大量的实践训练(如何阅读、编写与修改、调试程序),授课与上机实训相结合,以提高学生实际应用能力提高动手能力,这就要求学生上机前先编好程序,在老师的指导下,认真调试,对于存在的问题加以分析。 三、教学内容实施方案 第一章 C语言概述 教学内容: 1.1 C 语言出现的历史背景 1.2 C 语言的特点 1.3 简单的C程序介绍 1.4 C 程序的上机步骤 教学目的及要求: 1)了解C语言的历史、特点 2)掌握C语言的运行环境,初步了解运行一个C语言程序的过程 教学重点: 1)C语言的特点 2)C程序的上机步骤 教学难点: 1)C语言的特点 2)C程序的上机步骤 课时安排:2学时 第二章程序的灵魂--算法 教学内容: 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法 教学目的及要求: 1)掌握用流程图、N-S流程图、伪代码表示算法 2)理解结构化程序设计方法的概念 教学重点: 用流程图、N-S流程图、伪代码表示算法 教学难点:

C语言程序设计学生成绩管理系统实验报告

计算机学院 C语言程序设计报告书设计名称:学生成绩管理系统 专业:软件工程 指导老师: 班级: 姓名: 学号: 座号: 2011-6-15

一、实验目的 1.在编辑应用程序过程中,逐步加深对C语言编程的理解; 2.加强实践的能力,动手能力,同时进一步对所学的知识 进行巩固; 3.培养初步编程的能力,为以后的学习奠定基础。 二、实验内容 运用所学的C语言知识编辑一个应用程序:学习成绩管理系统 三.系统软件环境: 本程序主要运行在:Visual C++ 6.0 Turbo C/C++ 3.0 四.课程设计题目: 学生成绩管理系统 程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能: (1)主菜单

(2)各菜单项功能 ①成绩录入:输入学生的学号、姓名及三门课的成绩; ②成绩查询: *按学号查询学生记录。 ③成绩统计: *计算学生的平均分; *根据学生的平均分高低,对学生的数据进行排序后输出; ④退出系统:退出整个系统(即主菜单) 。 五.数据结构设计描述: ↓ ↓

六.各变量的定义和作用 int num; /*定义学号,变量为整型*/ char name; /*定义姓名,变量为字符型*/ int score; /*定义课程的成绩,变量为整型*/ float average; /*定义平均分,变量为浮点型*/ 七.系统各函数的功能,、相互调用关系 1.函数实现功能说明: (1)menu函数 是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。 (2)input函数 是定义用于输入学生信息。 (3)select 函数 是定义用于查询学生信息。包括学号、姓名及各科成绩。(4)statistics 函数 计算学生的平均分。 根据学生的平均分高低,对学生的数据进行排序输出。2.相互调用关系: Main函数调用menu函数。 Menu 函数可以调用input 函数、select函数和statistics函数八.心得体会

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

C语言课程设计教学

C语言课程设计教学 1合理组织教学内容 我校C语言教研组在指定教学计划、教学大纲时,明确了教学目标是“通过讲授C语言的特点以及各种语句和基本函数的使用,使学生学 会基本的C语言程序的编写、调试等操作,领会结构化程序设计的内涵,训练程序设计的基本思想和方法,为今后开发软件打下基础,为 学习后续课程(如数据结构)作好准备”。不但要求学生学习理论, 还必须能较熟练地上机操作,有较强的动手水平。作为工科专业接触 的第一门工具语言,最能反映理论与实践的相结合。本课程所选用的 教材在内容组织上,虽然依逻辑思维方式实行了归类,但难点还是较 为集中,跨度大;概念讲得多,分析少;语言深硬,不够形象,较难 理解。针对该问题,C语言教研组对教学内容重新实行了规划。第一,适当压缩部分难度较大,但有用性不强的内容,如:文件指针。第二,扩充部分难度较大且十分重要的内容,如:传值与传地址的对比。第三,充分利用互联网资源,总结归类相关知识点,如:能够将运算符 优先级总结为朗朗上口的七字口诀:单算关逻条赋逗。第四、将全国 计算机二级C语言等级考试真题融入理论和实践教学中。采纳上述手 段之后,明显发现学生对学好C语言的信心增加很多,学习积极性也 就随之得到了提升。 因为C语言程序设计是学生接触到的第一门语言工具类课程,难度大、学生不易接受,为此我校C语言全体任课教师实行集体备课,积极与 学生保持互动沟通,随时根据绝大多数学生实际接受情况适当调整教 学计划,灵活使用教学方法,如下所示:在理论课上,采取的是激发 学生学习动机的教学方法。在课堂上,要充分理解到学生是主题,教 师主要是起引导作用,引导学生自发学习、自主思考。所以,需要改 变以往“填鸭式”教学方法,充分调动学生学习的积极性。为此,在 每次上课之前,都需要做好充分的准备,精心的设计好教学案例,这 些案例最好能够“看得见,摸得着,和生活紧密相关”。例如,讲到 子函数时,在做课堂引入的时候,能够先给学生们演示一个五子棋的

《C语言程序设计》课程设计计划

《C语言程序设计》课程设计计划 一、目的 通过为期一周的C课程设计实验课,让学生了解到了一个程序开发的过程,加深对《C语言程序设计》课程所学知识的理解,进一步巩固C语言语法规则,学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,为学生以后的编程学习打下了基础。 二、课程设计内容 在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等,进一步掌握各种函数的应用。 三、课程设计任务 题目一:学籍管理系统 题目二:学生成绩管理系统 题目三:学生自定设计题 四、设计内容与步骤: 题目一:学籍管理系统 1.实现的功能: 程序可以对学生的基本信息进行修改,删除,插入,查看等功能,并且修改成绩是必须要输入密码。 2.数据的存储方式:用结构体类型的数组或链表存储数据。 3.功能模块:

题目二:学生成绩管理系统 1.实现的功能: 程序可以对学生课程成绩进行输入、查询、修改、排序、求平均分等功能,并且修改成绩是必须要输入密码 2.数据的存储方式:用结构体类型的数组或链表存储数据。 3.功能模块:

题目三:学生自定设计题 五、设计组织及要求 1.分组 7—8人为一个课题组,组长2人,要求每组独立完成课题内容,课题组成员必须清楚课题总体设计,必须分有功能模块并独立完成所分模块程序的编写任务。最终课题组长组织连调,所有成员必须参加。 2.设计过程 1)确定程序功能,画出程序功能模块图。(集体讨论确定方案) 2)确定数据类型,确定函数功能及调用关系。(集体讨论确定) 3)函数编程及调试。(课题成员分工完成) 4)整体调试。(集体讨论完成) 5)编写课程设计报告。(集体完成) 3.设计基本要求 1)符合课题要求,实现相应功能; 2)要求程序结构简单,功能齐全,使用方便; 3)注意程序的实用性、安全性; 4)设计成果:以课题组为单位递交电子稿和打印稿各一份课程设计报告; 源程序(能编译成可执行文件并能正常运行)一份。 六、课程设计所用设备 每人一台计算机。 七、软件环境: TC 八、设计时间 2011—2012学年第1学期:第19周

学生成绩管理系统基本C语言编写

//代码版权所有,不要 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" copy,仅供参考学习。//标准输入输出函数库 //标准函数库 //字符串函数库 //屏幕操作函数库 #define p->data.num,p->https://www.360docs.net/doc/2810276872.html,,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.a ve,p->data.mingci int saveflag=0; //是否需要存盘的标志变量 //定义与学生有关的数据结构 typedef struct student { char num[12]; char name[15]; int cgrade; int mgrade; int egrade; int total; float ave; int mingci; }sqlist; //定义每条记录或结点的数据结构,标记为:node typedef struct node { struct student data;// 数据域 struct node *next; //指针域 }Node,*Link; //Node 为node 类型的结构变量,*Link 为node 类型的指针变量 void menu() //主菜单 { system("cls"); //调 用 DOS 命令,清屏.与clrscr() 功能相同 printf(" \n"); printf(" 学生成绩管理信息系统主菜单\n\n"); printf(" **************************************************\n"); printf(" $ 1 、添加记录6、统计记录$\n"); #define HEADER1 " ********************** ***** 学生成绩信息 ****************************** \n\n" #define HEADER2 " 学号姓名计算机数学英语总分平均分名次\n\n" #define FORMAT " %-10s %-10s %5d %5d %5d %5d %.3f %4d \n" DATA //标记为student //学号 //姓名//计 算机成绩// 数学成绩// 英语成绩 //总分 //平均分 //名次

《C语言程序设计课程设计报告》_课程教学大纲

《C语言程序课程设计》课程教学大纲 一、课程基本信息 二、实验性质、地位和任务 《C语言程序课程设计》是一门实用性和实践性很强的课程,所以本课程的课程设计环节占有非常重要的地位。它是电子信息工程专业在C语言程序设计结束后的一门重要实践性课程,是为加强学生用程序设计的思想分析和解决问题的能力。 三、实验目的和要求 1、实验目的 在全面掌握《C语言程序设计》课程知识点的前提下,培养学生分析实际问题的能力。设计的主要目的和任务为:(1)巩固和加深学生对C语言程序设计课程的基本知识的理解和掌握;(2)利用C语言进行简单软件设计的基本思路和方法;(3)掌握程序项目开发的一般步骤;(4)掌握书写程序设计说明文档的能力。 2、实验要求 (1)作好实验前准备工作,对讨论的课程设计问题应事先进行初步设计与算法设计,以提高上机效率。 (2)上机实验时一人一机,独立上机。对程序调试过程中出现的问题应尽量独立解决,以训练学生分析问题和解决问题的能力。 (3)应按时完成课程设计任务。

(4)课程设计完成后应分析实验结果,找出存在的问题,寻找出解决问题的办法并解决问题,从而提高程序设计的能力。 四、实验项目和学时分配 1、问题分析和任务定义(4学时) (1)内容:根据设计题目的要求,充分分析和理解问题,明确问题要求做什么,限制条件是什么。 (2)要求:掌握问题分析的方法,以无歧义的陈述说明程序设计的任务;了解以用例图来明确系统功能的方法。 (3)重难点:以无歧义的陈述说明程序设计的任务;对问题作透彻分析,避免出现需求分析错误。 (4)说明:本阶段是解决“做什么”的问题,就是要全面理解用户的各项要求,并准确表达所接受的用户需求。 2、逻辑设计和数据结构的选择(4学时) (1)内容:为操作对象定义相应的数据结构,以结构化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。 (2)要求:掌握逻辑设计和数据结构选择的方法。 (3)重难点:逻辑设计和数据结构选择。 (4)说明:本阶段的主要任务是把需求分析得到得数据流图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个负责系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。总体设计建立的是目标系统的逻辑模型,与计算机无关。 3、详细设计和编码(8个学时) (1)内容:算法的具体描述和代码的书写 (2)要求:掌握在逻辑设计基础上作详细设计的方法,把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚。 (3)重难点:在逻辑设计基础上作详细设计并编码实现。 (4)说明:本阶段主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。 4、上机调试(8个学时) (1)内容:源程序的输入和代码的调试 (2)要求:能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。理解算法的时间、空间复杂性的分析方法。了解对代码重构的一般方法。

c语言课程设计学生成绩管理系统

目录 ——学生成绩管理程序题目要求 (2) 设计目的 (2) 总体设计 (3) 详细设计 (3) 调试与测试 (12) 源程序 (14) 总结 (30)

学生成绩管理程序 一.题目要求 1.问题描述: 对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,数学,英语,物理成绩,默认以学号为序存放. 2.要求: (1)一个文件按以班为单位存储学生记录. (2)将允许的操作分为四种,以A,B ,C,D,E,F为标志: A:插入一个学生记录; B:修改学生记录; C:删除一个学生记录; D:查找一个学生记录; E:浏览学生成绩: F:退出 3.计算学生的总成绩. 4.按学号排序输出全班学生成绩表 . 二.设计目的 根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.

三.总体设计 根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块. 四.详细设计 1.主函数: 主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择. 流程图:

[程序]: //#include "head.h" int menu_select() { char c; printf("\n\n"); printf(" | 1. 增加学生记录 5.统计信息|\n"); printf(" | 2. 查询学生记录 6.打开文件|\n"); printf(" | 3. 修改学生记录7.保存文件|\n"); printf(" | 4. 学生纪录排序8.显示记录|\n"); printf(" | 0. 退出系统|\n"); printf("\n\n"); printf("请选择(0-8):"); c=getchar(); getchar(); return (c-'0'); } 2.输入模块: [分析]: 单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理. 如果要存放若干学生信息就用结构体数组: void addrecord(student stud[]) { int i=0,j,num; char str[5]; if(numstus!=0) {

C语言程序设计说课教案

页眉内容 《C语言程序设计》说课教案 从以下方面说明: 一、课程性质、地位 二、教学对象分析及要求 三、课程体系 四、课程的重点、难点及突破 五、教学方法与教学手段 六、学生考核 七、教学计划 一、课程性质、地位 1.课程的性质 《C语言程序设计》课程是高职高专通信类和电子信息类各专业职业素质必修课,旨在培养高职学生运用计算机进行逻辑思维的能力,掌握运用C语言编程来解决岗位工作中实际问题的方法和步骤,为提高职业能力和拓展职业空间打下坚实基础。所以,本课程主要针对培养这类人才基本程序设计能力的目的而设置的课程。 学生毕业后工作岗位主要有计算机管理员、单片机应用设计员、网络应用等,在计算机控制、单片机应用、电子技术、通信技术等相关行业中都将使用C语言作为应用系统开发设计语言,C语言也是其它编程语言类课程的前导课程,也是信息产业部计算机专业和软件专业水平资格考试(程序员、网络管理员等)考试中要求的主要程序设计语言。 2.课程的地位 通信技术(计算机网络方向)专业和电子信息技术专业,C语言室基础,是计算机应用设计的基础。是学习其他程序语言的前导及基础。 二、教学对象分析及要求 1.教学对象 本系学习C语言课程的生源是高中生源和中专生源。高中生文化基础扎

实,但计算机专业知识薄弱,开始学习时较困难,但入门提高较快。中专生,文化基础薄弱,但计算专业已经学习一些,开始学习不会很困难,但是知识转换能力方面会有困难,学习进度会慢一点。针对不同生源学生在教学方法和重难点方面有所区别。 2 学生的学习积极性,提高实际动手能力。 3.在教学中教与学 三、 课程体系 《C 语言程序设计》教学学时为60,理论内容以“够用为度”的原则,按照程序设计能力,通过一个项目“学生成绩管理系统”为主线,介绍C 语言基本概念、三种基本程序结构设计、指针、函数体等重点内容。然后通过1周的课程设计,完成项目“学生成绩管理系统” 综合设计题目。课程内容附表1。 1.课程内容选取依据 1)C 语言编程规范 根据C 语言编程规范等资料,选取的内容是C 语言教学中必须掌握的适应中。另外还根据C 语言程序设计和后继课程(数据库、网络编程语言等)之间的关系、C 语言知识与技能要求及高职学生人才培养目标要求来确定本课程的教学内容。 2)职业素质要求 具备基本的阅读程序和程序的编写能力。同时具备实际问题转换为计算机程序解决的能力。 3)实际工作中岗位能力需求 通过对通信和电子专业毕业生的调查、人才招聘信息和一线专业技术人员交流,确定本系通信技术专业和电子专业的学生主要有程序设计员、单片机开发员、网站设计员、计算机维护管理、企业应用软件实施员、通信工程施工等工作岗位,这些岗位中,程序设计思维和源代码编写能力是关键技能,而C 语言作为专业核心课程中的基础课程,必须掌握结构化程序设计思路,我们选取本课程内容是根据这些要求选取的。 2.课程体系模块 教 学

C语言课程设计 学生成绩管理系统

青岛农业大学 课程设计报告 题目:学生成绩管理系统 姓名:田世强元成张斌 学院:工程系 专业:电子信息工程技术 班级:2班 学号:200806013 200806015 200806023 指导教师:曹红波 2010年9月16日 六详细设计(各功能模块的具体实现算法——流程图) (3)

一设计目的 进一步加深、巩固所学专业课程(《C语言程序设计》)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。 二课程设计的内容 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三课程设计的要求与数据 1、用C语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一个学生的学号、姓名、3门课成绩 (2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记 录的输入。) (3)、成绩信息显示浏览功能:完成全部学生记录的显示。 (4)、查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩. (6)、排序功能:按学生平均成绩进行排序。 (7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

《C语言程序设计》课程标准

《C语言程序设计》课程标准

《C语言程序设计》课程标准 课程编码:01010012 课程类别:专业必修 适用专业:计算机应用技术授课单位:软件教研室 学分:6学时:8*14 编写执笔人及编写日期: 2011.2.10 审定负责人及审定日期: 2011.3.01 一、制定课程标准的依据 《C语言程序设计》课程是我信息工程系计算机应用技术专业的专业基础课和职业素质必修课。 《C语言程序设计》课程标准是根据教育部提出的课程大纲制订原则(教高〔2000〕2号)及《教育部关于全面提高高等职业教育教学质量的若干意见》(教高[2006]16号)文件精神制定的。 《C语言程序设计》课程标准根据专业人才培养方案及教学计划整体要求,体现培养高素质技能型专门人才的教学特点,要从我系的实际办学条件出发,及专业课程体系的需要来编制的。 二、课程的性质与作用 1.课程的性质 《C语言程序设计》是计算机应用技术专业的一门专业基础课,是学习《数据结构》、《Java程序设计》、《C#程序设计》、《软件工程》等课程的必须的支撑课程。本课程以程序设计思想为主线,介绍C语言的基本概念和程序设计的思想和方法,培养学生运用C语言解决实际问题的能力,为后续课的学习和应用开发打下扎实的高级语言理论和实践基础。 2.课程的作用 通过学习该门课程,可以使学生掌握程序设计的基本方法及思维,形成程序设计基本思想,掌握程序调试的基本方法,使学生初步具备程序设计能力,为学生进一步学习其他专业课程和今后从事软件开发工作打下坚实的基础。 三、课程设计理念及思路 1.课程设计理念 (1)以程序设计为主,以语言介绍为辅的新理念。课程教学不再局限于使

C语言_学生成绩管理系统实验报告

学生成绩管理系统实验报告 ㈠实验名称: 学生成绩管理系统 ㈡实验目的: 1)利用所学的三种程序基本结构以及数组、用户自定义函数进行一个简单管理系统的设计,进一步理解和掌握c语言的语法以及三种基本程序结构的综合应用。 2)通过程序中设计到的排序、查找、求和等操作加深对算法、程序设计思路、常用程序设计技巧的理解与掌握,逐步培养学生的程序开发能力。 ㈢实验要求: 设某班有n位同学,每位同学的数据包括一下内容:学号(长整型)、姓名(字符号)、数学成绩(整型)、程序设计成绩(整型)。设计程序完成以下5项功能:新建数据档案、添加数据、删除数据、对输入的数据进行排序和查询。 ㈣算法内容: ①程序运行,利用printf函数显示主菜单,并提示输入相应的数字来进行相关操作。 显示主菜单如下: 1.新建数据 2.添加数据 3.删除数据 4.排序 5.查询 6.退出 ②若输入1,则进入新建数据界面。根据提示依次输入学生人数、学生的学号、姓名、数学成绩和程序设计程序。 S1:输入学生人数n, S2: 0->i,(把0放在变量i中) S3:输入第i+1个学生的数据(学号,姓名,学数学成绩,程序设计成绩) S4:i+1->i S5:若i

③输入2,进入添加数据界面。 S1:原有学生人数n加1,即n+1=>n S2:输入学生数据 S3:0->i S4:输出第i+1个学生的数据 S5:若ii,0->j S3:若学生的学号stu[i].num,转到S6,否则继续 S4:i+1->i S5:若i n S7: 把要删除的数据覆盖 stu[i].num=>stu[j].num;stu[i].name=>stu[j].name; stu[i].math=stu[j].math;stu[i].C=stu[j].C;j++; S8:若ii S10:输出第i+1个学生的数据 S11:若ii S2:i+1->j S3:若a[i]j S5:若ji S7:若ii S3:若stu[i].num=a[10],输出该生数据并结束 S4:i+1->i S5:若ii,0->j S3:若std[i].math=m,转到S6 S4:i+1->i

C语言程序设计实验教学大纲

C语言程序设计(课程)实验教学大纲 、课程中文名称(课程英文名称):C语言程序设计(THE C PROGRAMMING LANGUAGE ) 二、课程编码:0921163005 三、课程目标和基本要求: 通过本课程的学习,要求学生掌握C语言的基本语法、基本语句、基本控制结构以及程序设计的一般 方法,使学生具有熟练使用C语言编程解决实际问题的能力。 基本要求:掌握C语言的基本控制结构和基本控制语句及相关的语法规范,熟练运用C语言进行顺序、 选择和循环结构程序设计的能力;熟练的上机编程和程序调试的能力;掌握一些常用的算法,如递推法、迭代法、穷举法、求最大最小值、排序、查找、插入、删除等,具有熟练运用这些算法解决实际问题的能力;了解结构化程序设计和模块化设计方法的基本思想,掌握必要的程序设计技巧、程序测试和程序调试技巧。 四、课程总学时:90 学时(严格按教学计划时数)[理论:54 学时;实验:36_学时] 五、程总学分:4 _____ 学分(严格按教学计划学分) 六、适用专业和年级:适用专业:信息与计算,应用数学,统计学,数学教育。适用年级:大学一年级 七、实验项目汇总表:

1、实验编号:学校内部使用的编号(不超过13位),在校内具有永久唯一性。若实验撤消,该实验编号将 不再使用。如果实验内容更新较大,则应另设新的实验编号。实验编号十二或十三位,前十位为该课程代码(培 养方案中的课程代码),第十一、十二位为该门课程的实验序号(01-99),独立设课的实验编号最后一位为“ *” 非独立设课的实验编号最后一位为空,例如:《大学物理实验》的某实验项目编号为102000400601,该实验又为 独立设课实验,则编号为102000400601*。 2、实验类别:基础、专业基础、专业;实验类型:演示性、验证性、综合性、设计研究、其它;实验要求: 必修、选修、其它。 八、大纲内容: 实验序号:0921163005001 实验名称:C语言环境 [实验目的和要求] 1.了解所用的计算机C语言编译系统(如VC++6.0)的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C程序的特点。 [实验内容] 1.检查自己所用的计算机系统。 2.学习进入C的工作环境并熟悉VC++6.0 /Turbo C 集成环境。 3.练习输入并运行一个简单的C程序。 4.运行一个自己编写的简单程序。 [主要实验仪器与器材]

c语言学生成绩管理系统代码

#include #include #include #define MAXN 100 //一个班最多的人数 #define MAXM 2 //成绩的课程门数 int R; void input(); //1.学生成绩新建 void sort(); //2.学生成绩插入 void load(); //3.学生成绩修改 void print(); //4.学生成绩删除 void total(); //5.学生成绩统计 void search(); //6.学生成绩查询 void save(); //7.学生成绩保存 void end(); //8.结束 struct student { char name[20]; //保存全班姓名 char num[12]; //保存全班学号 float score[MAXM]; //保存全班所有课程成绩 float sum; //保存全班每个人的总成绩 float avg; //保存每个人的平均成绩 }; struct student s[MAXN]; struct http { char subject[20]; //保存全班所有课程 }; struct http c[MAXM]; void main() //欢迎首界面 { int select,l; system("color fC"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf(" ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n"); printf(" * *\n"); printf(" * *\n"); printf(" * 欢迎进入终极一班学生管理系统 *\n"); printf(" * *\n"); printf(" * ︻┳═一 cf ... *\n"); printf(" * ┈━═☆甘总管的多塔生活∝╬══→ *\n");

c语言课程设计报告+学生成绩信息管理系统+源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r);

C语言学生成绩管理系统实验报告

C语言学生成绩管理系统实验报告

HUNAN UNIVERSITY 程序设计训练 报告 题目学生成绩管理系统 学生姓名 学生学号 专业班级 指导老师 湖南大学程序设计训练报告

目录 一程序功能简介 (3) 二本人完成的主要工作 (3) 三设计方案 (3) 1)设计分析 (3) 2)模块的功能及程序分析 (4) 3)核心算法流程图 (7) 4)核心源程序模块 (8) 5)操作方法简

介 (8) 6)实验结果 (9) 8)设计体会 (11) 四附录 (12) 一、程序功能简介; 本程序作为一个学生成绩管理系统,用户能够首先使用管

理员模式初始化该系统。初始化完成之后,用户能够选择使用成绩记录人模式进入系统,对学生成绩进行记录。系统自动储存所记录的学生成绩,然后用户可根据不同需要来选择不同的功能来使用程序,其中包括成绩查询与增减,成绩排序,成绩分析等功能。 二、本人完成的主要工作; 程序设计分析,绘制程序流程图,写出大致结构算法以及各个核心算法模块,写出核心源程序,对源程序进行算法优化,对源代码进行多次试验验证其正确性,完成源代码的测试以及代码书写规范检测。 三、设计方案; 1)设计分析; 首先拿到这个题目,我就开始思考如何将这个看似简单的系统做的较为完善,而不是简简单单的学生成绩管理 系统,学生管理系统自然是这个题目的核心,从中发散思 维,我想到了几个比较细小的地方。例如:如何很好的将 程序中的功能步骤化,系统化以及便利化。基于C语言程 序的特点,我还联想到了对信息的保存问题。这些问题都 随着代码的一步一步完善而解决。管理员系统与查询系统 的选择很好的解决了这些问题。 2)模块的功能及程序说明;

C语言学习计划

电信梦之队成员学习计划 1、假体任务(大一):c语言学习(这个单元一定要强调规范化!!!): a.熟悉c语言的编译环境 b.学会c语言的基本结构(可出10~20道题) c.规范命名变量,学会使用c语言的基本数据类型和常量,熟悉掌握c语言的算是运算 符和表达式(可出100~200道题)(适当减少) d.熟练掌握c语言的常用语句(可出100~150道题)(适当减少) f.学会函数的定义、 调用、递归(可出100~150道题)(适当减少) g.变量的存储类型(自动变量、外部变量、 静态变量、寄存器变量)的区别与运用(可出80~100道题) h.熟练掌握宏定义(可出30~50道题) i.了解结构体、指针、预处理等 注:c语言学好的,深入学习c语言,假期一定要预习c++,不然下学期你们学时会听天 书。 2、大一在下学期完成,大二在假期完成部分:学习单片机最小系统,在c语言平台上编 写小程序,深入学习c语言。 一、具体内容: 1. 熟悉keil的编译环境 2. 学习从c到c51的转换,对51的各个资源跑上一边 3. 学习51单片机和基本外设电路的结合运用 4. 对c语言有很清晰的认识、能够掌握数组、指针、结构体的 编程,学会模块化编程思想。 三、学习强度、要求 a.熟悉keil软件的开发环境,熟练的运用单步、断点等调试手段 b.了解c与c51 的区别 c.学会运用c51编写单片机程序 d.学会通过c51对51单片机i/o口的输入输出进行操作(典型:led流水灯的编写、按 键的操作、数码管的显示操作(可含数字芯片)、lcd的操作) e.学会51单片机定时器的运用(典型:数字电子时钟的编写、led摇摆帮(这个很好玩)、 pwm控制灯光的强度) f.学会51单片机中断的运用(典型:数字电子钟的时间调节、闹铃设置) g.学会51单片机串口的运用(典型:由pc机控制单片机的输出操作,如pc机发命令 led的亮灭) h.学会51单片机中断优先级的使用 i.学会ds18b20 j.学会使用i2c芯片,典型;存储芯片at24cxx k.学会16*16点阵的编程 l.学会使用lcd1602、图形液晶lcd12864的操作 m.学会使用adc0809\dac0832 参考资料:郭天祥51单片机视频教程及pdf资料、《例说8051》、天狼星51单片机视频 教程。篇二:c语言学习计划书 c语言计划书 2012年4月世界编程语言排行榜发布,c语言以17.56%的使用率力压群雄,稳坐榜首(详 情请点击:2012年4月编程语言排行榜)。随着排行榜的发布,c语言的使用人数也在日渐增 长。为了引导广大初学者更好的学习c语言,我们编辑了《c语言学习计划书》,详细讲述了

C语言实现学生成绩管理系统

武汉理工大学华夏学院课程设计报告书 课程名称:数据结构 题目:用C语言实现成绩统计程序的设计 系名:信息工程系 专业班级:软件工程1121 姓名: 指导教师:黄启荃 2013 年 6月 28日

课程设计任务书 设计题目:用C语言实现成绩统计程序的设计 设计目的 1.巩固和加深课堂所学知识、学会分析研究数据对象的特性及数据的组织方法; 2.选择合适的数据的逻辑结构和存储结构以及相应操作,实现一个班的成绩统计 3. 提高程序设计能力、加强查阅、运用资料的能力、算法分析与程序设计素质培养;设计任务(在规定的时间内完成下列任务) 〔问题描述〕给出n个学生的m门课程的考试成绩信息,每条信息由姓名、课程代号与分数组成,要求设计算法: (1)输入每个人的各门课程的成绩,计算每人的平均成绩; (2)按平均成绩的高低次序,打印出出个人的名次,平均成绩相同的为同一名次; (3)按名次列出每个学生的姓名和各科成绩; 〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制; 〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解; 具体要完成的任务是: A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。 B. 写出规范的课程设计报告书; 时间安排:6月24日---28日 具体要求 1. 课程设计报告按统一通用格式书写,具体内容如下: ①设计任务与要求 ②总体方案与说明 ③软件主要模块的流程图 ④源程序清单与注释 ⑤问题分析与解决方案(包括调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想); ⑥小结与体会 附录:①源程序(必须有简单注释)②使用说明③参考资料2.每位学生应独立完成各自的任务且每天至少在设计室工作半天; 指导教师签名: 2013 年 6月 22日 教研室主任(或责任教师)签名: 2013年 6月 24日

c语言程序设计 学生成绩管理系统

实验题目:学生成绩管理系统 一、课程设计目的 1、进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计内容 1、每一条记录包括一个学生的学号、姓名、性别、4门课成绩、平均成绩。 2、输入功能:可以一次完成若干条记录的输入。 3、输出功能:完成全部学生记录的显示。 4、查找功能:完成按姓名查找学生记录,并显示。 5、新增功能:完成对任意学生信息的增加。 6、删除功能:完成对任意学生信息的删除。 7、统计功能:完成对学生四门成绩最高分、最低分、平均成绩的统计。 8、排序功能:完成学生四门成绩由高到低的排序,并显示。

9、将学生记录存在文件student中。 10、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观! 三、需求分析 1、用C语言实现系统; 2、利用结构体数组实现学生成绩的数据结构设计; 3、系统具有增加,查询,插入,排序等基本功能; 4、系统的各个功能模块要求用函数的形式实现; 5、完成设计任务并书写课程设计报告。 6、将学生成绩信息存在文件中。 四、概要设计 1、方案设计 对系统进行分析,给出结构图 分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计 结构图如下:

2、模块功能说明 对各个模块进行功能的描述 (1)、输入模块: 录入需要管理的学生信息并将信息保存于文件中,以方便日后进行打印、读取、修改等操作。 (2)、输出模块: 将所有学生信息或想要查询的学生信息显示于屏幕,用于打印学生信息或查找某些学生信息。

相关文档
最新文档