搜档网
当前位置:搜档网 › C语言课程设计学生成绩管理系统

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

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

计算机技术系

项目名称:学生成绩管理系统学生姓名:

学号:

班级:

指导教师:

2013年5月28日

目录

1 课程设计目的与意义 (1)

1.1 设计意义 (1)

1.2 设计目的 (1)

2 设计功能描述 (1)

3 系统功能实现及算法描述 (2)

3.1 结构体 (2)

3.2 学生信息录入: (2)

3.3学生信息浏览 (3)

3.4学生信息查询 (4)

3.5学生信息删除: (5)

3.6 学生信息排序: (6)

3.7 学生信息修改 (7)

3.8 学生成绩统计 (8)

3.9 学生信息添加 (9)

3.10 随机学号的生成 (10)

4 系统性能测试 (10)

4.1 学生信息录入 (10)

4.2 学生信息浏览 (11)

4.3 学生信息查询 (11)

4.4 学生信息删除 (12)

4.5 学生信息排序 (13)

4.6 学生信息修改 (15)

4.7 学生成绩统计 (17)

设计小结: (20)

致谢: (21)

参考文献: (22)

源代码: (23)

1 课程设计目的与意义

1.1 设计意义

随着学生人数的上升,以往通过手写来记录学生成绩信息已经相当困难了,也经常容易出错,这就导致信息的不准确性,所以需要开发出一个操作简便,界面友好,灵活实用的学生成绩管理系统。该系统的开发能够提高用户对于学生成绩的规范化管理,对于一些不合理的信息输入采用重新输入或者默认的方法进行处理,这能够使得学生各信息的管理更具有科学性,同时也更具有美观性。该学生成绩管理系统能够及时对学生的成绩进行输入、浏览、查找、修改、统计、删除、排序和插入,使用户及时获取准确的学生成绩信息,便于记录和管理。此系统对于用户使用起来方便,简单,对比复杂的录入系统降低了使用的难度,具有很好的实用性。

1.2 设计目的

随着社会的发展和经济时代的到来,我国的教育体制不断的改革创新,自从国家实施大众化教育实行扩招以来,生源不断壮大,我国学生数量急剧增大,学校管理就成了一个现实问题摆在了人们面前。而现今,在各大中小学校,用计算机管理学校的信息已经越来越普遍了。这不但可以提高工作效率,而且还节省了很多人力物力,并增强了学校资料的安全性,提高了。本系统的设计切实的解决了,学生成绩管理的科学化,提高了工作效率。

2 设计功能描述

本系统包括学生信息录入、学生信息浏览、学生信息删除等共九个模块。具体如下图2-1所示:

2-1图学生成绩管理系统

学生信息录入:用于将学生信息初次录入本系统时使用。(注:若录入之后,再次录入,第一次所录入的信息将全部被覆盖。)

学生信息浏览:用于浏览所录入全部学生的信息。

学生信息查询:该部分分为,按学生学号查询和按学生姓名查询。通过学号和姓名,对某一个学生的所有信息进行查询。在学生数较多的情况下,方便使用者能迅速查找所需信息。

学生信息删除:通过学生学号,对相应的学生信息进行删除。

学生成绩排序:按照不同学科,将学生的成绩进行排序。方便使用者对学生各个学科的成绩有一个了解。

学生信息修改:学生信息在录入时有可能出现一些小错误,本项能够方便的通过学生学号,对学生的姓名、性别、学号等信息进行修改。

学生成绩统计:按照学科,将学生成绩的最高分、最低分、平均分、各个分数段的人数所占百分比进行统计。给使用者提供一个数据,对学生总体成绩进行评估。

学生信息添加:对录入时漏掉,或是后来加入的学生的信息,进行录入添加。

3 系统功能实现及算法描述

3.1 结构体

该程序中,运用了结构体,来打包学生信息。代码如下:

struct student

{

char name[10];

char sex;

long id;

int computer,math,english;

}student[N];

该结构体,包含了学生姓名、性别、学号、成绩几个信息,这样将学生信息打包后,方便了后面对学生信息的单个以及集体调用。其中N是一个宏,它用来定义整个系统中,学生信息的最大容量,在本系统中,N=10000。

由于学生学号一般位数较多,如果用int型的话,远远不能满足保存学号的要求,很容易就会越界溢出,为了保守起见,本系统中,将学号定义为了long型,以保存学号。

3.2 学生信息录入:

学生信息录入时,主要是通过循环来实现,由于录入的学生数量较大,而录入步骤相同,该系统使用循环来解决。本程序最大学生容量数为10000人次。由于在实际录入时,可能每个使用者的人数上限不同。因此本系统在首次录入时,增设了一个学生数M,这样就避免了,在录入时,录入完所有的学生后,系统将会自动结束循环,并将学生信息进行保存。

学生信息录入时,思路图如下:

图3-1 学生信息录入思路

3.3学生信息浏览

学生信息浏览时,导入文件中的内容。采用了循环语句,通过M(全局变量,表示现有学生数)控制循环,将保存在文件上的信息,从第一个开始到最后一个全部读取出来。读取后,就将它逐条打印到屏幕上。实现浏览功能。

学生信息浏览时,思路流程图如下:

图3-2 学生信息浏览思路

3.4学生信息查询

学生信息查询分为两个模块,按学号查询和按姓名查询。导入文件中的内容。

按学号查询时,首先由用户输入学号信息,然后将用户输入的学号信息,与文件中所保存的学号信息一一对比,查看是否相等,当查找到某一个学号,与用户所输入的学号信息相等时,记录该学号所对应的学生信息在数组内的编号,然后输出并回到主菜单。如果查找到最后一个,任然没有发现与之相符的学号,则提醒没有查找到该学生信息并返回主菜单重新进行操作。

按姓名查找时,首先由用户输入姓名信息。由于姓名信息由字符串保存的,而系统是不能直接对字符串进行判断是否相等。再次则将每个字符串分解成单个字符,先从文件中第一个姓名开始,比较他们字符串中个字符个数是否相等,如果不相等,跳到第二个姓名比较。若果相等,则依次去比较每个字符是否相等,如果每一个字符都相等,则记录该姓名在数组中所对应的编号,对学生信息进行输出,并回到主菜单。如果有一个不相等,则跳到第二个姓名进行比较,如果一直比较到最后一名学生信息,依旧没有发现相同的姓名。提示没有查

找到该学生信息,并返回主菜单重新进行操作。

学生信息查询时,思路图如下:

图3-3 学生信息查询思路

3.5学生信息删除:

学生信息删除时,导入文件中的内容。首先输入需要删除的学生的学号,然后再在文件中查找出相应的学生信息所在数组号。所有排在删除学生之前的信息,保持不变。排在删除学生之后的信息通过:

strcpy(student[j].name,student[j+1].name);

student[j].id=student[j+1].id;

student[j].sex=student[j+1].sex;

student[j].computer=student[j+1].computer;

student[j].english=student[j+1].english;

student[j].math=student[j+1].math;

这串语句从所要删除的学生信息数组号开始,依次的向前覆盖,即把后一个的信息覆盖到前一个的信息之上,一直到最后一个学生。然后将信息再次保存,覆盖原来的文件信息。

在这里,M=M-1也是一个保存信息是否成功的关键,M是全局变量,用来存储学生个数的,删除后,学生数量也就相应的减少啦,如果不减,最后一个学生的信息,就会出现两次,删除功能就会出现问题。

学生信息删除时,思路流程图如下:

图3-4 学生信息删除思路

3.6 学生信息排序:

学生信息排序时,由用户选择排序方法,可通过学生计算机、数学、英语成绩进行排序。

排序时采用了冒泡排序法,首先将第一位学生的该科成绩赋值为最大值,倘若它后面的

一个学生成绩大于前面一个的成绩,则将他们的两个人的所有信息进行对换,交换完毕后,再用该学生的成绩依次与后面的对比下去。完成该操作后,再用交换后第一个学生的成绩依次完成前面的操作。这样就可以将所有学生的成绩,按照一定的顺序排列。

最终达到我们所需要的排序效果。

学生信息排序时,思路流程图如下:

图3-5 学生成绩排序思路

3.7 学生信息修改

学生信息修改时,先导入文件中的内容。由用户输入所要修改的学生的学号。把该学号与文件中学号一一对比,当遇到某一个学号与用户所输入的学号相等时,输出该学生的所有信息,供给用户参考。如若需要更改,则选择所需要修改的选项,并对所修改选项重新输入,并将其信息保存到文件中。即完成修改操作。

学生信息修改时,思路图如下:

图3-6 学生信息修改思路

3.8 学生成绩统计

学生成绩统计,可统计某科成绩的最高分、最低分、平均分、以及各科成绩子啊不同分数段的人数所占的百分比。首先将文件中保存的数据导入。

最高分:首先将第一位同学的成绩默认为最高分,然后通过for循环语句,将最高分max与后面的每一个同学成绩进行比较,如果分数大于max则将该值赋给max,否则继续循环,当循环结束时,该科成绩的最高分以保存到变量max中。

最低分:与最高分的找寻方法相同,将第一个同学的分数默认为最低分,然后通过循环一次比较,将最低分保存到变量min中。

平均分:在循环的时候,将每一位同学的成绩相加储存到变量sum中,由于平均分可能

出现小数,而总分和人数都是整数,在进行赋值运算时,如果之间用总分除以人数,会提示错误,为了解决这一问题,采用了ave=sum/(M*1.0)这一语句,使得平均分也变成了实型数据。

阶梯分数百分比:首先,在循环的时候,用一个数组,将每个分数段的人数个数统计了出来,在循环结束之后,再用人数除以总人数。在这同样会出现,无法将整形数据复制给实型变量的情况,切算出来的是分数,而非百分数。因此采用a[0]=100*a[0]/(M*1.0)来解决了此问题。

学生信息统计时,思路流程图如下:

图3-7 学生成绩统计思路

3.9 学生信息添加

学生信息添加,将文件中的信息导入。首先由用户输入需要添加的学生数量,然后进入循环,循环录入学生信息,依次输入学生姓名,性别,成绩,学号将由系统自动生成。循环次数为所需要添加的学生数。

学生信息添加时,思路图如下:

图3-8 学生信息添加思路

3.10 随机学号的生成

随机学号生成代码如下:

srand((unsigned)time(NULL));

student[i].id=rand()%1000+2011999;

如果此处直接用rand()函数生成学号的话,生成的将是一个伪随机函数,当系统关闭后,如果再次添加时,生成的学号将会与前面生成的学号重复,并且有一定的规律性。在此,为了解决这一问题,系统在生成学号前,先用srand((unsigned)time(NULL))将时间作为随机数的种子。由于系统在生成学号时,时间一般不可能相等,因此生成的随机学号也不可能相等。由此解决了学号可能重复的问题。

4 系统性能测试

4.1 学生信息录入

打开系统后,输入“1”时,运行结果如下:

图4-1 学生信息录入测试

本次共录入了5名学生的信息,录入信息包括了,姓名、性别和成绩,并由系统自动生成了学号。

4.2 学生信息浏览

打开系统后,输入“2”时,运行结果如下:

图4-2 学生信息浏览测试

学生信息录入后,由信息浏览,成功将录入的五名学生信息全部输出到了屏幕上。4.3 学生信息查询

打开系统后,输入“3”后,再次输入“1”,输入正确学生学号时运行结果如下:

图4-3 学生信息查询测试1

通过输入学号2012998,成功的将该学生信息全部输出。

打开系统后,输入“3”后,再次输入“2”输入正确的学生姓名时运行结果如下:

图4-4 学生信息查询测试2

通过输入学生姓名,成功的查询了改学生的所有信息。

4.4 学生信息删除

打开系统后,输入“4”后,再输入正确的学生姓名时运行结果如下:

图4-5 学生信息删除测试通过学生学号,成功的将学号为2012931的学生信息删除。

图4-6 学生信息删除报错测试

、当输入学生学号有误时,成功报错。

4.5 学生信息排序

打开系统后,输入“5”后,再次输入“1”时运行结果如下:

图4-7 学生成绩排序测试1

当选择由计算机成绩由高到低排序时,系统成功将学生计算机成绩排序,并按照排序后的顺序输出显示。

打开系统后,输入“5”后,再次输入“2”时运行结果如下:

图4-8 学生成绩排序测试2

当选择由数学成绩由高到低排序时,系统成功将学生数学成绩排序,并按照排序后的顺序输出显示。

打开系统后,输入“5”后,再次输入“3”时运行结果如下:

图4-9 学生成绩排序测试3

当选择由英语成绩由高到低排序时,系统成功将学生英语成绩排序,并按照排序后的顺序输出显示。

4.6 学生信息修改

打开系统后,输入“6”后,再次输入正确的学号,然后输入“1”和修改后的姓名时运行结果如下:

图4-10 学生成绩修改测试1

当输入正确的学生学号,并选择修改学生姓名时,再次输入学生姓名,成功完成学生姓名修改。

打开系统后,输入“6”后,再次输入正确的学号,然后输入“2”和修改后的性别时运行结果如下:

图4-11 学生成绩修改测试2

当输入正确的学生学号,并选择修改学生性别时,再次输入学生姓别,成功完成学生姓别修改。

打开系统后,输入“6”后,再次输入正确的学号,然后输入“3”和修改后的成绩时运行结果如下:

图4-12 学生成绩修改测试3

当输入正确的学生学号,并选择修改学生成绩时,再次输入学生成绩,成功完成学生成绩修改。

打开系统后,输入“6”后,再次输入错误的学号时运行结果如下:

图4-13 学生成绩修改报错测试

当输入错误的学生学号时,成功报错。

4.7 学生成绩统计

打开系统后,输入“7”后,再次输入“1”时运行结果如下:

图4-14 学生成绩统计测试1

当选择学生信息统计后,再次选择按计算机成绩进行统计,成功的将学生该科成绩的,最高分、最低分、平均分、以及在各个分数段人数所占的百分比全部成功输出出来。

打开系统后,输入“7”后,再次输入“2”时运行结果如下:

图4-15 学生成绩统计测试2

当选择学生信息统计后,再次选择按数学成绩进行统计,成功的将学生该科成绩的,最高分、最低分、平均分、以及在各个分数段人数所占的百分比全部成功输出出来。

打开系统后,输入“7”后,再次输入“3”时运行结果如下:

图4-16 学生成绩统计测试3

当选择学生信息统计后,再次选择按英语成绩进行统计,成功的将学生该科成绩的,最高分、最低分、平均分、以及在各个分数段人数所占的百分比全部成功输出出来。

4.8学生信息添加

打开系统后,输入“7”后,再次输入所需添加的学生数,并依次输入学生姓名、性别、成绩时运行结果如下:

c语言课程设计报告·图书管理系统

第一章 §题目描述 图书管理系统设计: 【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统,使之能提供以下功能: (1)新图书基本信息的输入; (2)图书基本信息的查询; (3)对撤销图书信息的删除; (4)办理借书手续; (5)办理还书手续; 【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。 §算法设计 1.设计思想: 在整个系统编写的过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2.实现注释: 这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。可查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行处理。 3.结构体系设计 图:主函数结构;图:新书信息录入流程;图:图书信息查询(管理员)流程;图:图书信息查询(学生)流程;图:图书信息删除流程;图:办理借书手续流程;图:办理还书手续流程; §程序设计及代码分析 1.程序设计: 下面,我大致介绍一下我的系统的主要功能和注意事项: 当运行此程序时,首先进入系统主界面,然后可以选择[1].管理员登陆(密码:123),[2].学生登陆,[0].退出系统; 选择[1]后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。管理员功能菜单中,[1].新书信息录入,[2].图书信息查询,[3].图书信息删除,[4].返回主菜单,[0].退出系统;当出现“请选择”时,输入选项前的数字,输完之后按回车(下同)。首次运行系统需要先选择[1]录入库存书籍信息,图书各信息项须用空格键隔开,输入完毕后信息自动储存并更新至数据库,然后再选择其他操作。当选择[3]时会进入图书信息删除,在这里可以选择删除图书信息等操

C语言程序课程设计任务书

《C语言程序设计》课程设计任务书 对象:17楼宇智能化技术专业 一、课程设计目的 本课程设计主要是为了进一步提高学生掌握利用C语言语言开发程序的能力,熟悉程序开发的一般流程,及自主学习能力和团队协作能力。 1. 掌握C语言语言基本语法及数据类型; 2. 掌握C语言基本程序结构、数组、函数、指针、文件的使用; 3. 掌握结构化程序设计思想和C语言开发程序基本流程; 4. 具备C语言程序调试能力; 5. 能自主进行知识查阅及分析和解决问题; 6. 能具备良好的团队协作能力和沟通能力。 二、课程设计要求 (一)总体要求 学生必须仔细阅读课程设计书,认真主动完成课设的要求。有问题及时、主动通过各种方式与教师联系沟通。 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。 本课程设计主要流程是: 分组->选题->进行课程设计->撰写课程设计报告->课程设计答辩->上交资料。 本课程设计成绩组成: 总成绩(100%)=源程序(60%)+课程设计报告(20%)+课程设计答辩(10%)+小组自评分(10%,包括组长评分和个人自评分)

(二)各部分具体要求 1. 分组要求 (1)小组成员1-2人组成,成员自由组合,小组组长由本小组推荐产生; (2)本课程设计实行小组组长负责制,每个成员具体分工由成员共同协商,组长最后决定; (3)课程设计结束后,组长根据每个成员所负责具体任务及是否积极参加等因素进行打分,每个成员分数不能一样; (4)课程设计小组自评表由组长填写,最后由各成员签名,除签名外表格其它内容可打印(A4纸); (5)本课程设计要体现团队合作精神,每个成员分工合理,要及时、定期沟通,组长充分发挥组织协调作用,每个成员要有合作和团队意识。 2. 选题要求 本课程设计选题必须在6月10日之前完成,每个小组可以从推荐设计项目中进行选题,也可以自己自拟设计题目,自拟设计题目要上报设计详细功能,在得到老师的许可后方可开始进行课程设计。 同一个班级每个小组选题不能重复,学习委员汇总全班各组选题,电子档E-mail给老师。 3. 设计内容要求 (1)每个课程设计项目至少包含5个功能模块; (2)设计界面友好,要有菜单界面,数据存放在文件中,数据使用数组、结构体都可以; (3)书写规范,变量及函数命名体现“见名知意”原则;采用锯齿型书写格式,便于阅读; (4)采取模化程序设计,在设计过程中,按功能定义多个不同的函数,通过函数调用实现各功能模块的作用; (5)要求利用结构化程序设计方法以及C的编程思想来完成系统的设计; (6)整个设计必须上机调试通过。 4. 课程设计报告要求 设计报告内容要体现整个课程设计过程,包括:需求分析、总体设计、详细设计、程序运行测试与分析、设计反思。

c语言实验心得体会

c语言实验心得体会 篇一:C语言上机实验心得 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C 语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点: 1、学习耐心与细心不足,如scanf(“%d”,n);中的“”有时候会忘了。而在最后 输出时又错写成printf(“%d”,n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解

题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在 一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更

c语言课程设计报告书--学生成绩管理

C 语言程序设计报告 课题:学生成绩管理 时间:

一、需求分析 任务要求: 自学C语言中有关链表及外部文件的内容,设计出学生成绩管理。具体要求如下: 1.主要功能: (1)能按学期、按班级完成对学生成绩的录入、修改 (2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序 (3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 系统功能需求分析: 1、定义一个结构体类型,成员包括学期、班级、各科成绩、建立链表,定义该结构体类型的指针,用于指向各结点; 2、分别建立具有添输入、修改、查询、总分及平均分、排序等功能的子函数,完成相应功能,对程序实现模块化。 二、概要设计 系统总体设计框架: 对程序进行模块化,建立输入、修改、查询、查找和显示功能的子函数,各子函数中运用链表存储数据。 系统功能模块图:

三、详细设计 主要功能模块的算法设计思路如下: 1、输入信息函数 (1)定义指向结构体变量的指针; (2)移动指针,找到插入结点; (3)在要插入的结点输入信息; (4)返回头指针。 2、修改信息 (1)定义指向结构体变量的指针; (2)用指针检验链表中是否有记录,若没记录,出现报错,然后要求重新输入; (3)根据要修改的编号查找对应结点; (4)修改信息;

(5)修改成功。 3、排序函数 (1)定义所要排序的班级和链表的头指针为形参; (2)调用排序函数,把班级和链表的头指针赋给形参; (3)在子函数中进行排序; (4)输出排序结果。 4、显示学生成绩信息(void Disp(Link l)) (1)选择想要查询的项目(学生各科成绩、不及格科目、班级成员);(2)用指针检验是否有记录; (3)若无记录,输出提示信息,返回主函数; 若有记录,移动指针,依次输出记录; 5、查询班级成绩信息(void Find(Link l)) (1)选择所要查询的班级; (2)输入班级: (3)在链表中寻找相应结点; (4)输出结点信息。 以上各个函数的流程图如下:

C语言课程设计任务书(必备)

《C语言程序设计》课程设计任务书及指导书 计算机科学与信息工程学院 2012年

说明:以下题目每名同学可以选择一个作为设计题目,也可以自己自拟一个题目,但工作量要与此相关不大。 C语言课程设计任务书及指导书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括教师的职工号、姓名、职称、性别、3门讲授课程的名称,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 5、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入教师信息并可将文件内容显示出来) 3、完成排序功能。 4、完成查找功能(可按职工号、姓名、讲授课程进行查找) 要求:1、用C语言实现程序设计; 2、利用结构体来实现教师信息的处理; 3、系统的各个功能要求用函数实现; 4、界面友好(良好的人机交互),程序必须有注释。 课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。 C语言课程设计任务书及指导书2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 登记入住的信息主要有:客人姓名、房间号、入住时间、计费方式(按天或小时)、单价、押金房间信息:房间号、是否有人入住、房间标准、每天单价、小时单价 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要 在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 4、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况等功能。 3、进一步要求:完成计费和费用查询功能; 每次登录时读取保存在磁盘文件中的入住情况。要求:1、用C语言实现系统;

c语言课程设计心得体会文档2篇

c语言课程设计心得体会文档2篇C language course design experience document 编订:JinTai College

c语言课程设计心得体会文档2篇 小泰温馨提示:心得体会是指一种读书、实践后所写的感受性文字。语言类读书心得同数学札记相近;体会是指将学习的东西运用到实践中去,通过实践反思学习内容并记录下来的文字,近似于经验总结。本文档根据主题的心得体会内容要求展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修改调整及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:c语言课程设计心得体会文档 2、篇章2:c语言课程设计的心得体会文档 篇章1:c语言课程设计心得体会文档 在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。 虽然在上个学期中,我们已经学习了《c 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通

过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。 c语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。 在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。 这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

教师信息管理系统(C语言课程设计)

课程设计任务书 计算机科学与技术专业年级班 一、设计题目 教师信息管理系统设计 二、主要容 教师信息包括教师号、、性别、年龄、学历、职称、工资、住址、等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)教师信息录入功能--输入 (3)教师信息删除功能 (4)教师信息浏览功能--输出 (5)查询和排序功能:(至少一种查询方式) --算法 按教师号查询 按职称查询等 三、具体要求 围绕课程设计的目的和意义,基本要求如下: 1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求; 2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;

3、快速熟悉Tuber C 或C++的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。 4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。如果是多人共一题,则要首先完成小组的人员分工及安排,不允许重题现象。 5.学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。 6.提供可运行的课程设计系统,参加上机面试答辩。 本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。 四、进度安排 依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段: 第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档; 第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试; 第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。

C语言课程设计总结

C语言课程设计总结 一、设计题目: 猜数字和贪吃蛇小游戏。 专业:09电气工程及其自动化 组号:第十组 组员:马邢(组长)、王维、毛亮、汪小成、魏坤波、陈维康、高裴石、石峰、葛良志、冯鑫源 指导教师:黄莉莉 二、任务分配: 我们组分为两队,一对制作贪吃蛇游戏,另一对制作猜数字游戏。制作贪吃蛇的人员是马邢,葛良志,高裴石,石峰,陈维康。石峰和高裴石负责收集程序材料,马邢和葛良志负责整理和编写程序,陈维康辅助我们工作。制作猜数字的是魏坤波,王维,毛亮,汪小成,冯鑫源。魏坤波和王维负责编写程序,其他三人收集材料并帮助他们人编写和调试程序。 三、心得体会: 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 回顾起此次课程设计,至今让我我们仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,几个星期的日子里,可以学

到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,也懂得集体团队的重要性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在黄老师的辛勤指导下,终于游逆而解。同时,在黄老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

c语言课程设计运动会比赛计分系统(含任务书)

一、课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。 (6)熟练掌握C语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。 二、课程设计名称及内容 课程设计名称:运动会比赛计分系统 设计内容:设计一个运动会比赛计分系统,该系统要求对运动会比赛得分进行管理和维护。 三、任务和要求 要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种: (1)取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1; (2)取前3名:第一名得分5,第二名得分3,第三名得分2; (3)用户自定义:各名次权值由用户指定。 四、设计方案提示

(1)界面 系统以菜单方式工作 (2)输入数据并存入文件 使用到结构体变量和动态链表,由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。对输入的信息进行合法性判断,直到输入正确为止。都输入完成后,调用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。 (3)显示所有记录 将文件中的所有记录以表格的形式输出。如果文件未打开会出现“文件打开失败!按任意键返回...”,关闭文件。 (4) 查询 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。 二:算法设计: 信息输入模块、比赛结果录入模块以及查询模题目的总体要求是要建立三个模块:信息输入模块、建立三个模块块。在建立完之后,要求该程序能够在用户将各种必要的信息记录之后,用户可以查询所有学校的比赛成绩,而且也可以生成团体总分表,查看参赛学校信息和比赛项目信息等一切录入的信息,为此,要示编程人员能通过一些具体的程序将以上的功能加以实现。在建立三个模块的大前提下,我们将采用结构体,循环体,指针和各种函数来实现这种功能,在数据结构体中,要采用结构体数组,其中包括学校、项目、运动员三个结构体。学校结构体成员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。(1)在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全)局变量,其中包括“参赛学校项目数N;男子项目数M;女子项目数W;参赛学校g_school; 竞赛项目g_sport; 各名次链表指针ptrHead,ptrThis,ptrNew; 总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。总

c语言课程设计总结报告

附表2 C++(或C)语言课程设计总结报告

源代码: /* 学生通讯录管理系统,能够实现对通讯录的内容进行创建、显示、查询、删除以及修改等功能*/ # include # include # include

# include # define N 100 void myprint(); void mycreate(char num[N][12],char name[N][12],char tel[N][15],int *n); void mydisplay(char num[N][12],char name[N][12],char tel[N][15],int n); void mysearch(char num[N][12],char name[N][12],char tel[N][15],int n); void mydelete(char num[N][12],char name[N][12],char tel[N][15],int *n); void mymodify(char num[N][12],char name[N][12],char tel[N][15],int n); /* 主函数*/ void main() { char choose,yes_no,num[N][12],name[N][12],tel[N][15]; int n=0; do{ myprint(); choose=getch(); switch(choose) { case '1':mycreate(num,name,tel,&n); break; case '2':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mydisplay(num,name,tel,n); break; case '3':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mysearch(num,name,tel,n); break; case '4':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mydelete(num,name,tel,&n);

c语言语言课程设计报告

上海应用技术学院 课程设计 2011~ 2012学年第二学期 设计题目成绩记录簿 院(系)计算机科学与信息工程学院 专业计算机应用技术 班级 11104114 学号 1110411414 学生姓名蒋佳琴 设计时间 2012.06.25 -2012.07.06 指导教师马智娴 提交日期 2012.07.06

上海应用技术学院课程设计任务书 指导教师(签名):马智娴教研室主任(签名):马智娴2012年6 月25日2012年6月25日

目录 1 设计目的 (5) 2 功能描述 (5) 2.1模块功能 (5) 2.2流程图 (6) 3 总体设计 (13) 3.1 功能模块设计 (13) 3.2 数据结构设计 (13) 3.3 函数功能描述 (13) 4 程序实现 (14) 4.2 运行结果 (25) 5课程设计总结 (28)

成绩记录簿 1. 设计要求: 基本功能 a) 添加成绩 b) 删除成绩 c) 查询学生成绩 d) 查询班级成绩 e) 退出 拓展功能 a) 写入文件 b) 读取文件 创新(自拟)功能: 程序实现的其它功能由个人自拟。 2. 设计要求具体说明 基本功能: 成绩记录簿中记录以下数据: 学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分; 输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:8位数字;课程编号:5位数字;成绩:0 ~ 100 之间的整数,学分: 1~ 5之间的实型数。 添加成绩:需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示; 查询(班级或个人)成绩: a) 查询个人成绩:以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成 的总学分。 b) 查询班级成绩:以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同 学不同课程在不同分数段分布的人数及百分比。 拓展功能: a) 程序启动时先从文件读入数据,如果文件中没有数据则给出提示; b) 每次修改的数据写入文件。 3. 提示 定义合适的结构体类型,使用链表或数组的方式组织数据。

C语言课程设计任务书

信息科学与工程学院综合设计报告书课程名称:C语言课程设计 班级: 学号: 姓名: 指导教师:

目录 ( 一) 需求分析..................................... . 2-3 1.设计题目; 2.用户操作流程; 3.数据处理流程; (二)概要设计......................................4-5 1.系统总体设计框架; 2.系统功能模块图; (三)详细设计.....................................5-11 1.主要功能模块的算法设计思路; 2.工作流程图; (四)主要源程序代码...............................12-21 1.完整源程序清单及关键注释; (五)调试分析过程描述.............................21-24 1.测试数据、测试输出结果; 2.对程序调试过程中存在问题的思考; (六)课程设计小结.................................24-25 1.包括课程设计过程中的学习体会与收获; 2.对C语言和本课程设计的认识以及自己的建议等内容。

一、需求分析 1、设计题目: 编程实现以下功能: (1)分别输入一元多项式pn (x)和Q n (x)。 从键盘输入一元多项式中各项的系数和指数,并用单链表 加以表示。 (2)分别对一元多项式pn (x)和Q n (x)进行升幂排序。 将一元多项式中各子项按照指数从小到大的顺序排序。 (3)分别输出一元多项式pn (x)和Q n (x)。 将用单链表表示的一元多项式输出,即打印多项式的系数 和指数。 (4)任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。 (5)已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和 R n (x)和差T n (x),分别用单链表表示R n (x) 和T n (x), 并将二者输出, (R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x)) 2、用户操作流程: (1)进入欢迎及界面。

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

C语言课程设计报告烟花绽放

课程设计报告书设计题目烟花绽放 系别计算机工程系 专业计算机科学与技术 班级 姓名 指导教师 设计任务下达日期2011年 12 月 24 日 设计时间2011年12月26日至 2010年12月30日 课程设计任务书

一、目的和意义 本课程设计是《C语言程序设计》课程的后继教学环节, 通过研究C语言中图形编程技术或者声音控制等其它方面的多媒体编程技术,一方面拓展学生在这些领域的C语言知识,另一方面使学生在运用所学理论知识进行实践开发,更好的培养学生综合学习能力和实践能力。本次课程设计学生可以根据喜好,可以利用复杂的数据类型实现成绩管理系统等小型的综合应用程序。 二、题目(可从下面题目中任选一个) 1、C语言的图形编程应用 设计实现如菜单、图形的显示,再如动画和小游戏。 2、简易电子琴模拟程序的实现 为实现在键盘模拟电子琴设计的程序。由学生自行设计并且实现。 3、成绩管理程序 学生本人设计具体方案,然后改进和编码实现。 三、课程设计报告书应包括的主要内容 1、介绍概要的思路和设计方案,程序的总体功能和模块划分。 2、主要算法的介绍及流程图,主要功能的实现手段的说明文档。 3、对于有设想但最终未实现的功能的大致编程思路的阐述和设计过程中的启发。 四、进度要求 1、设计时间:2011年12月19日至2011年12月25日 2、编写课程设计报告书:2011年12月26日至2011年12月29日 3、提交报告及答辩时间:2011年12月30日 专科 四、进度要求 1、设计时间:2011年12月26日至2011年12月28日 2、编写课程设计报告书:2011年12月29日 3、提交报告及答辩时间:2011年12月30日 目录

C语言课程设计任务书

C语言课程设计任务书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。 3、完成排序(按职工号、姓名、职称等)、查找等功能。 要求:1、用C语言实现程序设计; 2、利用结构体数组实现教师信息的数据结构设计; 3、系统的各个功能模块要求用函数实现; 4、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、 小结等。 C语言课程设计任务书2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要 在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。 3、进一步要求:完成计费和费用查询功能。 要求:1、用C语言实现系统; 2、系统的各个功能模块要求用函数实现; 3、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、 小结等。

c语言课程设计总结

c语言课程设计总结 c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。 透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 c语言课程设计总结(二): 经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。 课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。 课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我必须要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我必须能把C语言学好。

相关主题