C语言课程设计报告书

发布 2022-10-05 04:42:28 阅读 5161

***學院。

***學院。

实验题目学生信息管理系统。

一、实验目的:

1)本学期我们学习了c语言,由于初接触,学习有一定困难;于是学校给我们提供一次巩固提高的机会---课程设计。该可程设计要求学生既动手又动脑,自学,查资料,独立实践。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对c语言系统编程有一个大致的了解。

2)c语言的实践。掌握c语言函数的定义方法,函数的声明及函数的调用过程。掌握结构体类型变量的定义和使用,综合应用c语言的知识,实现一个完整的系统,提高编程能力,体会软件程序的开发过程。

二、实验内容:

1)根据所学知识,运用结构体数组编辑一个简单的学生信息管理系统,使之能够完成对学生信息的天价查找,删除,更改,管理等操作,并对文件进行保存和读取。

2)执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。

3)执行运行操作,逐一对每个模块进行调试。直到全部程序运行成功为止。

4)请老师检查,向老师演练此程序,并能回答老师提出的相关问题。

三、 需求分析:

1)根据学生信息管理的需要,建立一个“学生信息管理系统”, 系统具有对学生信息的添加,查找,删除,更改的管理操作等基本功能;以方便对学生的各项管理操作。每一条记录包括一个学生的学号,姓名,性别,年龄,住址,成绩。系统的各个功能模块都用函数的形式来实现;可以将学生信息保存在文件中,并从文件中读取出来。

本程序是由c语言的基本单位—函数来设计实现与其功能的多次使用函数调用以及函数的嵌套调用。本程序分为8个模块,可以处理多个学生信息的输入、添加、删除,修改等问题。本程序的使用特别方便,每做完一个模块,下面都有提示信息。

使用环境为win-tc。

2)创建该学生信息管理系统目的就是能够对学生基本信息进行创建、追加、查询、修改等功能,这样可以简化许多人工做起来很复杂的问题。

3)该学生基本信息管理系统是在win-tc中文简体环境下运行。

该系统要测试的数据如下:

输入模块:(输入3个学生信息)

序号: 001 姓名:张三性别:男年龄:20 成绩:90

序号: 002 姓名:李斯性别:男年龄:19 成绩:87

序号: 003 姓名:王美性别:女年龄:20 成绩:82

添加模块:(再加1个信息)

序号: 004 姓名:赵灵性别:女年龄:19 成绩:89

查询模块:(查询成绩的基本信息)

分:按学号查询和按成绩查询。

四、概要设计。

1) 主函数主要模块结构图:

2)模块功能详细说明:

a、创建模块:此模块可以连续输入若干个学生的资料,若学生数少于该数,则可以在输入学号处输入e 便可退出此模块,并把输入的信息保存到c:\\stud文件中。

b、追加模块:此模块中先打开c:\\stud统计文件中的学生,后输入要添加的学生的学号,系统确认此学号在c:

\\stud不存在时开始纪录新学生的资料,否则输出“此学号已存在!”,以便清楚使用者。

c、查询模块:此模块中使用者可以用3种方式查询学生成绩。分别为(1)按学号查询(2)按姓名查询(3)按成绩查询。

在这里以按学号查询为列:先选择按学号查询,输入要查询的学生的学号,系统确认此学号在c:\\student存在后读取信息并在屏幕上输出学生纪录。

d、修改模块:此模块中可以修改一门科的成绩也可以同时修改四门科的成绩。修改完毕后输入1 可以继续修改,输入0 则退出此模块。

e、删除模块:此模块中用到的删除原理为覆盖要删除的学生的资料。过程简述,先输入要删除的学生的学号,系统找到此学生的信息后给它复制下一个学生的信息,给下一个学生的纪录复制下下一个学生的信息,一直到最后一个学生的信息复制给倒数第二个学生的信息为止。

然后文件中的学生总数减一。

f、此模块较简单,先统计文件c:\\student中的学生个数,后把每个学生的各门科的成绩加起来,然后总成绩除以学生总数,屏幕上输出各科的平均成绩。

g、排序模块:在此模块中可以按2种方法进行排序 ,分别为(1)按学号排序(2)按平均成绩成绩排序。输出时以从小到大的循序进行输出。

3)模块功能说明。

1 输入功能:可以一次完成n条记录的输入。

2保存功能:保存已输入信息。

3 读取功能:读取已输入信息。

4 打印功能:完成全部学生记录的显示。

5 更新功能:更新学生的信息。

6 查询功能:查询学生信息并显示。

7 统计功能:统计学生信息并显示。

8 排序功能:根据学号,平均成绩排序。

0 退出系统。

五、详细设计及运行结果。

1)各主要模块的程序流程图。

添加模块:删除模块:

排序模块: 2 ) 函数之间相互调用的图示:

3)主要函数之间相互调用如下:

六调试情况,设计技巧及体会。

经过两周的实习时间,我用文件建立了一个应用系统程序,形成。

系统软件。此程序结构简单明了,让人一目了然,便于对程序的阅读和理解。同时操作起来也比较方便简单。又由于增加链表更增强了系统的灵活性。

通过对此程序的编写,让我把书本上学到的应用到实际中去,但在编出程序的雏形后,再进行编译时出现了许多错误和警告。这才让我认识到理论和实践是存在一定差别的。最后,在多次查阅资料,询问同学后把程序给改编完成了。

它让我体会到自己的不足,所以自己以后要踏踏实实地把计算机年学好,为自己将来的发展打下坚实基础。

在此次程序编写中,发现的问题有:

1.函数应该是先定义后使用,所以一开始时,总是出现很多警告,说没有定义!!后来经过仔细检查,发现主函数应该是放在各个模块之后!!

2.要注意全局变量的应用,若全局变量没定义好的话,对整个程序的编写与都有很大影响!!

3.在删除模块中,刚开始存在很多问题,删除不了,或者删除后还能打印出来,结果后来发现是删除模块本身的问题。。(该块较难处理)

4.在查询模块中,刚开始那个按商品类别查询无法运行,经检查,是由于未定义成字符串数组形式,因此定义变量的类型非常重要。

5.特别要注意的问题是循环的初值,循环的控制变量,循环的条件!do-while的循环在这个程序中多次运用!!

6.说明如下:

1 )、调试情况和设计技巧:

a. 刚开始没有那个初始化函数,程序运行后没有输入任何数据就试得去执行显示功能,结果显示的是一些乱码!加入初始化函数后,这种现象也随之消失。

b. 在输入函数中设了最大值,可以输入66个学生的成绩信息,当输入字母‘e’时停止,并保存信息。

c. 在没有输入任何信息的情况下,不能执行查询、修改、删除、统计、排序功能 。

本程序是由c语言的基本单位—函数来设计实现与其功能的多次使用函数调用以及函数的嵌套调用。本程序分为8个模块,分别为(1)创建学生信息。(2)保存学生信息。

(3)读取学生信息。(4)更新学生信息。(5)查找学生信息。

(6)统计学生的成绩(7)对学生的资料进行排序。本程序可以处理多个学生的成绩的输入、添加、修改、排序等问题。本程序的使用特别方便,每做完一个模块,下面都有提示信息。

使用环境为win-tc。

此程序的不足之处在学生基本信息方面还不够完善, 另一方面就是在运行此程序时,需要执行操作的提示语不够具体和完善。

改进方法: 可以在学生基本信息的结构体中添加更多的学生信息,使得学生信息更加完善,此外,还可以在编程时加一些必要的提示语,用printf(“”语句直接可输入。

2)、在设计过程中的感受:

首先经过两周的编程实习,并在后一段的报告总结,我对c语言这门科有新的认识,本人实在是获益不浅!要想编写一个准确、高效并有使用价值的程序,一定先要对课本知识熟悉,还要掌握必要的上机操作能力,写程序其实很容易而关键在于调试程序。这次设计,让我重新掌握了c语言,而且还得到了用c语言解决实际问题的宝贵经验。

其次, 通过此次编程我也发现了自己在学习中的错误和不足,复习了以前学过的知识。同时也学到了一些没学过的知识,让我从中收益非浅,也为期末考试准备了一下!更重要的是培养了独立思考问题和解决问题的能力,熟悉了一些基本操作和解决问题的方法!

第三, 因为初次接触等原因此次设计遇到了许多问题,我深刻体会到老师发挥的重要作用,c语言程序对我们来说比较难,在匆忙的学习中更是难上加难,似乎觉得自己仅是个匆匆过客,但在老师的帮助下我学会了如何调试,如何查找系统没有提示的错误,最后终于排除万难把程序搞定,体会到原来编程也挺有意思的快感。我想没有老师的帮助我很难在短期内把程序设计做的这样好,在此特地感谢老师的帮助。

七、_源程序清单(略,详见电子版实验报告)

#include <>

#include <>

#define n 20

#define page 2

#define print1 printf("name--sex--age--class--num--plants--score--birthday-- add--phone")

#define print2 printf(" %s %s %d %d %d %s %d%d%d",student[i].name,student[i].sex,student[i].

age,student[i].class,student[i].num,student[i].

plants,student[i].

#define print3 printf(" d %d %d %d %s %.0lf",student[i].

C语言课程设计报告书

高级语言程序设计 c语言 课程设计。湖南涉外经济学院计算机科学与技术学部。2010年12月。目录。1系统简介 2 2需求分析 2 3概要设计 2 3.1系统功能结构图 2 3.2重要数据的数据结构设计 2 3.3函数设计 3 3.4小组成员分工 4 4 详细设计 4 5 调试分析 7 6 用户手册 ...

C语言课程设计报告书

课程名称 学生信息管理系统。一 设计目的 1 本学期我们学习了c语言,由于初接触,学习有一定困难 于是学校给我们提供一次巩固提高的机会 课程设计。该可程设计要求学生既动手又动脑,自学,查资料,独立实践。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实...

C语言课程设计报告书

中国地质大学 武汉 姓名 王友琪。专业 地质学。学号 20131000518 指导老师 王茂才。1 课设题目简要介绍 已知文本文件中存放了报考某校研究生的考生相关信息 不超过5000人 具体数据及存放格式为 每行存放一个考生的数据,数据之间用空格分隔,共有8项,依次为 考号 姓名 报考专业编号 政治...