C语言课程设计报告样本

发布 2022-10-01 03:04:28 阅读 9952

c语言程序设计。

课程设计材料。

学生姓名学号。

系 (院信息工程学院。

专业: 信息管理与信息系统。

设计(**)题目: 学生信息管理系统

完成日期: 2024年9月6日-2024年10月15日

指导教师徐永安。

一、课程设计目的。

1. 通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。

2. 通过课程设计,进一步掌握c有并重要的数据结构。掌握并熟练运用指针、链表、结构体、文件等数据结构。

3. 通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。

4. 通过课程设计,培养c语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个中小型系统。

5. 通过课程设计,加强了自己的程序分析能力。

二、 课程设计内容。

此系统以计算机系的学生为背景,提供对学生个人简历信息的录入、编辑、查找、统计等功能。具体功能实现如下:

1) 信息录入:实现学生简历信息的录入功能,并能将其以文件形式加以保存。

2) 编辑功能:实现对学生简历信息的添加,并对指定学生的简历信息进行删除或修改等功能。

3) 信息浏览功能:实现对指定班级或全部学生的学生简历信息浏览。

4) 查询功能:实现按学号查询、按姓名查询学生简历信息的功能。

5) 统计功能:实现对男生、女生人数的统计功能。

6) 系统以菜单方式工作,界面清晰,易于操作。

三、 总体设计。

本系统的功能模块如图1所示,主要有以下模块:

1) 课程名称界面:构造函数void auther(),实现课程设计名称以及作者的显示。

2) 系统欢迎界面:构造函数void welcome(),实现欢迎使用学生简历管理系统的显示。

3) 主菜单界面:构造函数void mainmenu(),实现系统主菜单的显示。

4) 学生信息录入:构造函数void record(),实现学生简历信息的录入及显示。并通过调用函数void insert(struct student *stu),实现对学生简历信息的添加录入以及对学生总数的统计。

5) 学生信息修改:构造函数void change(),实现对需要修改简历信息的学生的查找,并通过调用修改函数void devise(struct student *p),实现学生信息修改界面的显示并对其简历信息进行修改。

6) 学生信息查询:构造函数void query(),实现查询界面的显示。并通过对按学号查询函数void query_by_num()、按姓名查询函数 void query_by_name()的调用,实现相应的学生简历信息的查询。

7) 学生信息删除:构造函数void del(),实现对指定学生的学生简历信息的删除。并通过函数free(),释放内存空间。

8) 学生信息浏览:构造函数void see(),实现学生简历信息浏览界面的显示。并通过对按班级浏览函数display_by_class()、全部学生浏览函数displayall()的调用,实现相应的学生简历信息的浏览。

9) 统计男女人数:构造函数void male_female_num(),实现对指定性别学生的人数统计。

图1系统功能模块图。

四、详细设计。

一)数据结构设计。

本程序用到的数据结构主要有:指针、链表、结构体、文件等。先声明一个类型为struct student的结构体,其成员为学生的简历信息。

然后通过对指针、链表、文件等数据结构的操作,实现对学生简历信息的录入,插入,存盘,查询,浏览,删除,修改等一系列操作。其中,结构体定义如下:

struct student

char class[10];

int num;

char name[10];

int age;

char sex[10];

char address[20];

char tele_num[15];

struct student *next;

二)模块接口设计。

1.所有函数模块声明如下:

void auther();显示课程名称*/

void welcome();显示欢迎界面*/

void mainmenu();主菜单函数*/

void record();录入学生简历信息*/

void insert(struct student *stu); 添加录入学生简历信息并统计学生总人数*/

void see();显示浏览界面*/

void display(struct student *stu); 打印学生简历信息*/

void display_by_class();实现按班级学生信息浏览*/

void displayall();实现全部学生信息浏览*/

void query();显示查询界面*/

void query_by_num();实现按学号查询*/

void query_by_name();实现按姓名查询*/

void readdata();从磁盘读出学生信息*/

void writedata();向磁盘写入学生信息加以保存*/

void freeall();释放内存空间*/

void del();实现指定学生的信息删除*/

void change();查找需要修改的学生*/

void devise(struct student *p); 实现学生信息的修改*/

void male_female_num();实现男女人数统计*/

2.并定义两个全局变量:

int total_num = 0;

struct student *head = null;

3.主要模块的实现。

系统以主函数void main()为入口,首先通过textcolor(yellow)以及textbackgroud(green)将文本颜色置为黄色,背景颜色置为绿色。

调用void auther()函数,显示课程设计名称及作者信息。调用void welcome()函数,显示系统欢迎界面。

然后调用void mainmenu()函数,进入主菜单界面。系统接收用户输入的选择,调用相应的函数,进入到下一级菜单进行相关工作。

以下是几个主要模块的流程图:

1)主菜单函数:

图2 主函数流程图。

2)信息浏览函数:

(3)信息修改函数:

五、 运行结果。

主菜单界面:

图5主菜单界面。

输入功能选择,系统自动进入相应功能界面。

信息录入界面:

图6 信息录入界面。

信息浏览界面:

图6 全部信息浏览。

图7 指定班级浏览。

信息查询界面:

从键盘中输入选择,可以按学号和姓名进行查询,并显示结果。

图8 按姓名查询的结果。

信息修改界面:

从键盘中输入需要修改的信息**,自动提示输入新的信息。

六、程序调试。

程序在经过了许多次调试之后,终于运行成功。在这样一个过程中,通过查资料、请教同学、上网查询等途径,主要克服了以下问题:

1) 怎样实现对界面的美化,即对文档、背景颜色的控制;尽管还没有掌握,但是能有一定的了解,以后可以进一步学习。

2) 关于清屏函数在c环境的实现,即转化为〈stdlib〉里的system(clr);

3) 在实现按班级并有序浏览学生信息时,首先通过strcmp()函数实现查找指定班级学生信息,然后通过冒泡法排序,实现学号由大到小有序排列。

4) 通过分析、查找资料,实现了把相似模块运用相同技术加以实现,大大缩小了程序的编辑量。

七、编程体会。

这次的课程设计给了我很多启示,让我对c语言这门课的学习有了全新的看法。

刚接触这门课程时,并不感兴趣,我一直认为编程是男生的工作,加上没有学习兴趣,尽管老师们一再强调其重要性,仍然没有引起重视,上课时也没有太用心,加上老师的授课方法比较特殊,主要靠课后自己钻研,所以上学期的c语言考试成绩很不理想。这学期我们安排了c语言的课程设计,本来也想学其他同学随便down一篇草草了事,但最后在学长及老师的教导下,还是选择认真对待。因为是第一次写程序,所以还是找了一个程序为模版,弄懂之后,按照自己的想法重新敲了一遍,并在同学的帮助下完成这个程序。

这段时间可以说是从一个c语言门外汉慢慢学会了写程序,在这之前,我甚至连最基本的知识都不清楚,没办法,从头学起,从算法(老师觉得不需要讲的知识,可我发现这对数据结构的学习很重要,更是编程的基础),到数据类型,然后慢慢接触到程序,而徐老师没有讲的知识则去请教了计科班的同学, 这是个漫长而艰难的过程,还好留了上学期老师的课件,从第一章看起,期间,不厌其烦的骚扰同学,一遇到解决不了的问题就上网查找,实在不懂的就跑去请教学姐学长……

c语言这门课不好学,我感觉尤其是对女生,需要有活跃的思维,灵活运用已有的知识,对于程序更是要有相当的耐心去调试,要有探索的精神,不断钻研,不断思考。

渐渐的,我发现我对c语言产生了莫名的情愫,尽管它的水很深很深,而我现在所了解的连皮毛都算不上,可是我愿意一步步摸索下去,从这个课程设计开始,将c语言学到最后……

C语言课程设计报告样本

hubei university of automotive technology c语言程序设计。课程设计报告。课设题目 填写本人做的课设题目名称 专业 填写本人的专业名称。班级 填写本人的自然班名称。姓名 填写本人的姓名。成绩 该处不填。完成日期 2013年5月27日 2012年6月21日 指导...

C语言课程设计报告样本

c语言程序设计。综合实验报告。设计题目 图书管理系统。班级。学号。姓名。指导教师梁国业。起止时间 2015 1 18 至 2015 2 25 2014 2015 学年第一学期。该系统包含图书馆馆藏图书的信息,供读者查询。建立一个文件,存放图书信息,包括 编号 书名 类别 出版社 作者 出版日期 存放...

C课程设计报告样本

姓名 张阳阳。学号 0121107250129 课程 c程序设计课程设计。报告题目 箱包的资料管理系统。完成日期 2012年6月1日。目录。1 软件功能和模块设计。2.各模块详细说明。2.1 主程序模块。2.2 数据文件载入模块。2.3 箱包资料添加模块。2.4 数据文件保存模块。2.5箱包计数模块...