c程序设计-学生信息管理系统

c程序设计-学生信息管理系统

ID:18798815

大小:122.00 KB

页数:15页

时间:2018-09-24

c程序设计-学生信息管理系统_第1页
c程序设计-学生信息管理系统_第2页
c程序设计-学生信息管理系统_第3页
c程序设计-学生信息管理系统_第4页
c程序设计-学生信息管理系统_第5页
资源描述:

《c程序设计-学生信息管理系统》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、课程设计说明1、课程设计目的通过该课程的学习,我们可以巩固和加深《C程序设计》理论知识,进一步掌握编程技巧和方法,并通过课程设计实践进一步加强我们独立分析问题和解决问题的能力、综合设计及创新能力的培养。在这次课程设计中我们将一学年中所学到的C语言知识进行复习和综合运用,将书本的理论知识和实践操作联系,同时在进行课程设计的过程中我们可以提高自己的编程能力、调试程序的能力,学习新的调程方法,为以后的计算机语言的学习打下基础。在此次设计中,主要运用了函数、switch语句、二级菜单、结构体、动态链表、

2、指针及文件的保存和读取。由于上学期时间紧张,结构体、链表、文件这部分知识没有学到位,通过这次课程设计,能够更好的学习这些知识。学会怎样建立一个动态链表,并对链表实施查找、插入、删除的操作以及使用文件的打开(fopen)、关闭(fclose)、写入(fwrite)、读取(fread)等操作对链表进行处理。巩固对函数、指针、switch语句的掌握和应用,学会应用二级菜单。2、软件的总体结构图及主要模块说明数据处理及学生信息管理数据计算学生信息管理系统解一元二次方程计算的π值按学号查找信息输出信息表建

3、立学生信息表插入学生信息删除学生信息保存文件读取文件此次课程设计的总题目我选择的是数据计算及学生的信息管理,在这个大题目下,又分为两个子程序,分别进行数据的处理计算与学生信息管理系统,进入数据处理单元后可以通过菜单选择所要进行的计算,有两个模块,即解一元二次方程和计算π的值;进入学生信息管理系统后,也同样可以使用菜单在七个模块中进行选择,进行学生信息表的建立,输出,可以按学号进行查找某一学生信息,可以插入或删除一个学生的信息,另外,在作出建立、插入、删除后均可选择保存及读取文件的模块对内容进行保

4、存。在主函数中,运用switch语句,建立了一个对一级模块的菜单选择,进入子程序后同样使用switch语句实现对小模块的选择。此为二级菜单。15在程序中的第二个子程序的菜单中由于有一个加密的循环,这样可以保证信息的安全性,但由于我知识有限,时间紧迫,没能编译出可以修改密码,确定输入密码次数的程序。程序中文件的保存和读取都为单独的小模块,这样在进行了建立、插入、删除后可以将修改后的信息表分别存入一个可以自命名的文件中,也可通过选择读取模块自行读取。但由于进行保存时只是针对首结点定义,所以查找到的信

5、息不能进行保存,这也是一个不足之处。此外,在插入的程序中,因为是利用了学号的大小比较,所以在建立信息表时,学号必须是由小到大的顺序输入,否则无法进行插入动作。这是本程序的一个最大的不足。数据的计算◆第一个模块:解一元二次方程,在这个模块中可以自行建立一个一元二次方程,即输入a、b、c的值,判断a的值是否为零然后进行解方程。此程序主要运用了if….else语句的嵌套。◆第二个模块:计算π的值,此程序主要运用了while循环语句。学生信息管理系统(重点)◆在进入学生信息管理系统的子菜单前,有一个密码

6、保护,需要操作者首先输入密码,若密码正确,则进入菜单进行选择,若不正确,则重新输入,直到所输密码正确为止,这样,可以对信息起到保护的作用。此处,密码定位123。◆第一个模块:建立学生信息表,此模块中运用动态链表和结构的知识,先定义一个学生信息的结构体,开辟一个新结点,并使p1、p2指向它,读入一个学生的数据给p1所指的结点,当读入的p1->num不是零时,使n=n+1,若n=1,则把p1所指的结点作为第一个结点,否则把p1所指的结点连接到表尾,再把p2移到表尾,然后开辟一个新结点,使p1指向它,

7、读入一个学生数据给p1所指的结点,如此循环,直到所读入数据均为零。◆第二个模块:输出信息表,先定义一个指针变量p1,指向第一个结点,输出p1所指的结点,使p1后移一个结点,再输出,直到链表的尾结点。◆第三个模块:按学号查找学生的信息,定义指针变量p,指向首结点,输入要查找的学号,如果p不是要找的结点且后面还有结点则指针后移,反之,找到该结点,输出即可。如果找不到,则输出找不到该生的信息。◆第四个模块:插入学生的信息,定义者针变量p0、p1、p2,令p1指向首结点,p0指向要插入的点,输入要插入的

8、学生信息,如果head==NULL,则原来的链表时空表,使p0指向的结点作为头结点,如果p0->num>p1->num&&p1->next!=NULL,则使p2指向刚才p1指向的结点,p1后移。如果p0->num<=p1->num且head==p1就将新信息插到第一个结点前,否则插到p2指向的结点后,再另p0->next指向p1,若p0->num大于p1->num则将其插到最后的结点之后。最终,要返回head。由于在student函数中调用插入函数后,又调用了输出函数,所以插入信息后的学生信息表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。