C语言学生信息管理系统(完整版)_第1页
C语言学生信息管理系统(完整版)_第2页
C语言学生信息管理系统(完整版)_第3页
C语言学生信息管理系统(完整版)_第4页
C语言学生信息管理系统(完整版)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子科技大学成都学院程序综合设计论文论文题目 学生信息管理系统 学生姓名 魏国 学 号 1340840625 专业 机械设计制造及其自动化 系(分院) 电子工程系 授课教师 杜娥 2015年12月制摘要随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同

2、,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。本系统主要对学生各种信息进行处理。 本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管

3、理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。 学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。关键字:学生信息,管理系统,数据库,C语言编写第一章 系统功能和组成模块1.1系统功能学生信息管理系统存放了每个学生的学号,姓名,性别,年龄,出生年月,家庭住址,政治面貌等信息的数据库。每个人的信息定义在一个结构体变量中。其结构如下:系统通过录入信息程序,浏览信息程

4、序,删除信息程序,修改信息程序,查找信息程序统计信息程序来实现学生信息管理系统的录入功能,浏览功能,删除/修改功能,查找、统计功能。各个功能的调用通过主函数menu中的switch语句来实现。1.2模块组成1.2.1输入显示模块通过设计一个模块,来实现学生信息的输入,同时来实现菜单界面的显示。用以作为系统显示界面。1.2.2删除模块通过设计一个模块,来实现删除全部输入的学生信息或者某一个特定的学生信息,用户可以通过选择进行操作。在删除特定人员信息时,只需要输入该学生的学号就可以进行删除。以后该学生的信息将不会再出现在数据库中。1.2.3修改模块通过设计一个模块,当某个学生的信息发生变化时,可以

5、通过修改模块来进行修改。1.2.4浏览模块通过设计一个模块,可以将已经输入到数据库当中的信息调出显示。以便查看或者进行修改。1.2.5查找模块通过设计一个模块,这个模块可以按学生的学号、姓名来查询学生所有的信息,并显示学生的所有信息,以便查询者阅读。1.2.6统计模块通过设计一个模块,可以将所有输入过得数据库当中的信息以某个特定分类来进行统计,输出该特征的总人数。统计模块浏览模块删除模块修改模块查找模块主函数结束输入显示模块图1-1总体模块框图第二章 系统功能的实现2.1各模块主要功能的实现2.1.1输入显示模块程序通过一个printf函数和scanf函数来进行数据库的显示输出,输出的时候,通

6、过定义数字、字符的长度大于本身的长度来实现输出信息的排版和隔开,使输出的信息排版美观。2.1.2删除模块程序通过定义一个字符整形来判别是全部删除(all)或者是删除某个特定学生(one)的信息,删除特定学生的信息需要先定义一个变量来判别是否有信息需要删除,如果有,则输入需要删除的学生的学号,进而进行删除,成功则显示“删除成功”,如果输入有误,则删除失败,显示“输入数据错误”。进入输入All/one删除所有输入学号返回主界面AllOne图2-1 删除程序框图程序实现步骤:首先,定义全局变量char xinxi20;int choice;然后,定义一个char Del10;然后清屏,接着用prin

7、tf指示是删除(all/one);然后用scanf输入,接着用if函数判别,用strcmp(Del,"all")=0比较,然后输出人数等于0,则删除成功;然后用else if函数判别strcmp(Del,"one")=0,然后定义一个字符型变量char choice20;定义i,j,k,然后用printf提示输入学号,用scanf输入,然后定义一个指针变量p并初始化。然后用for语句进行循环,然后用if比较判别输入学号和数据库中所存信息的关系,当含有这个人的信息的时候,把变量k赋值为1,并把此人再内存的顺序号i赋给j,然后则跳出循环。然后判别k,如果数据

8、库中只有一人的信息,则由指针p指向它,然后释放,达到清除效果。如果有多人信息,则用for语句循环,用studenti=studenti+1;renshu=renshu-1;来替换以达到删除效果。如果是其他形式,则报错。2.1.3查找模块程序通过输入字符(1或者2)来实现是按学号还是按姓名来查找。当输入完学号或者姓名的时候,再通过一个for循环来实现此人信息的查找。当含有这个人的信息的时候,把变量k赋值为1,并把此人再内存的顺序号赋给i。如果不含这个人的信息的时候,变量k的值仍为0。再通过一个if 语句,如果k的值为1,则打印第j个人的所有信息,如果k的值为0,则打印“输入信息有误”。 进入N=

9、?输入学号输入姓名输出查询结果返回主界面N=2N=1图2-2 查找程序框图程序实现步骤:首先,进行清屏,然后用if语句判别renshu=0,则用printf输出“无任何学生信息”,然后返回主界面。接着用printf提示输入查找方式(1.学号,2.姓名),然后用scanf输入数字1,2(此处使用声明过得变量choice),然后用if语句判别输入choice是否等于1 ,然后提示输入学号(出处使用全局声明变量xinxi),然后用if语句判别,用strcmp(xinxi,studenti.id)=0比较,当含数据库中有这个人的信息的时候,把变量k赋值为1,并把此人再内存的顺序号赋给i,然后跳出循环。

10、如果不含这个人的信息的时候,变量k的值仍为0。再通过一个if 语句,如果k的值为0,则用printf输出“输入信息有误”;如果k的值为1,则输出第j个人的所有信息。第二种查找方式:用if语句判别输入choice是否等于2 ,然后提示输入姓名(出处使用全局声明变量xinxi),然后用if语句判别,用strcmp(xinxi,)=0比较,当含数据库中有这个人的信息的时候,把变量k赋值为1,并把此人再内存的顺序号赋给i,然后跳出循环。如果不含这个人的信息的时候,变量k的值仍为0。再通过一个if 语句,如果k的值为0,则用printf输出“输入信息有误”;如果k的值为1,则输

11、出第j个人的所有信息,其他的输入则报错。2.1.4浏览模块程序通过定义两个变量i,j来实现信息的浏览功能,如果数据库内没有输入任何的数据,则显示(“系统里面没有任何学生的信息!”),如果数据库内有学生信息存在,则用printf显示出学生的各项信息。2.1.5修改模块程序定义一个变量来确定到底输入的是学号还是姓名。通过一个for循环来确定数据库到底是否含有此人的信息。如果含有此人的信息,则把此人的信息打印再屏幕上。再显示二级菜单,是修改这个人的学号、姓名、性别、年龄、出生年月、家庭地址、政治面貌和各科成绩。通过一个switch语句来实现某个信息地修改。如果不含有此人的信息,则打印“输入信息错误!

12、”。2.1.6统计模块程序通过定义一个变量cot来进行人数统计,使用count函数来按性别进行学生人数统计。2.2程序调试及说明2.2.1结构体构建学生信息管理系统采用一个结构体数组,学生信息数据库结构如下:学生信息包括:学号,姓名,性别、年龄,出生年月,家庭地址,政治面貌,C语言成绩,VB成绩,英语成绩。char id20;char name30;char sex10;char zzmm20;char addr20; char age3; char bir9;int scoreM;2.2.2子程序函数申明void menu();(菜单) void input();(信息录入); void S

13、hanChu(); (删除)void LiuLan();(浏览) void ChaZhao();(查找)void Edit();(修改 )void TongJi();(统计)2.2.3程序调试首先启动程序,弹出如下所示界面:图2-3 主界面此时可以选择输入1-7的数字,分别对应不同功能,我们首先输入1,选择登记学生信息,界面如下:图2-4 输入界面我们选择输入4位学生的信息,首先输入4,然后按照提示依次输入每位学生的各项信息,输入完成后,系统提示继续或者退出(1/0)选项,此时我们输入1,返回主界面,然后输入3,浏览数据库中我们已经存入的数据,如下图:图2-5 浏览界面此时系统仍然提示继续或者

14、退出,我们选择1,返回主界面然后继续,然后我们在主界面输入4,进行查找功能测试,首先我们选择(1,学号)查找,然后输入学号(0102),系统显示如下:图2-6 学号查找界面然后我们输入1返回主界面继续输入4进行姓名(2.姓名)查找测试,我们输入(王五),此时系统显示如下:图2-7 姓名查找界面此时我们选择1返回主界面,然后输入5,进行修改指令测试,本系统只提供输入学号修改信息,则我们输入一个需要修改信息的学号(“0101”),此时系统弹出以下界面:图2-8 修改界面如果没有输入任何信息,则报错。图2-9 修改报错此时本系统提供一个二级菜单,使用switch语句输入想要修改的内容,然后输入新信息

15、。我们选择2进行姓名修改,输入(赵四),然后输入1返回主界面,再输入3进行修改后的浏览,结果图如下:图2-10 修改后效果图此时我们输入1返回主界面/再输入2进行删除功能测试,首先我们选择删除特定学生的信息,输入(one),然后输入学号(0102),然后进行删除,图示如下:图2-11 特定删除功能然后我们再按1返回主界面,再选3进行删除结果浏览,结果如下:图2-12 特定删除结果浏览然后我们再输入1返回主界面,进行全部删除测试,输入2,回车,再输入(all),显示全部删除,结果显示如下:图2-13 全部删除此时我们再输入1,返回主界面,然后输入6,进行人数统计,本系统是按性别来进行人数统计的,

16、显示结果如下:图2-14 性别统计人数由于前面我们删除了所有学生信息,所以显示为0。第三章 系统优缺点及总结体会3.1优缺点及可改进方案3.1.1优点本系统已经基本实现功能要求,学生信息完整,查询快捷方便,修改程序较简单,程序简单精炼。功能界面指示明确,操作简单,易于推广。3.1.2缺点1.程序有很多定义不规范,不利于阅读和修改。2.系统还有一部分功能由于我们自身的原因而无法实现,系统功能有缺失。3.系统界面不够美观,比较简陋。4.不能将信息保存在本地文件中。3.1.3改进方案1.借鉴和学习更多的C语言书籍,规范自己的定义方法。2.认真学习每个字符和结构体所表达的意思,争取将系统写的更加完整。

17、3.在实现完整的系统功能后,学习进一步的系统美化。4.了解c语言数据库中的常用数据体,进一步的灵活使用。3.2总结体会一个多星期的课程设计,使我对C语言程序设计有了一个更加深入的认识,从刚开始的初略的认识到有了比较深入的认识,能够比较灵活的运用。C语言是一门比较灵活、有趣而且实践性非常强的课程,我们要从它的实践运用中,体会到了学习C语言的乐趣和好处。在课程设计的这段时间里,我学到了许多东西,同时也使我对以前学的东西有了一个更深更透彻的理解。比如:能够灵活的运用双重循环,switch语句,结构体的定义、引用、使用,指针的定义、使用等。虽然对C语言编程还有许多不明白,但这段时间我真的获易匪浅。以前

18、上编程课,我基本上都没有深入理解自己所编的程序,常常就是仿照书本编一个程序,再运行几遍,没错就万事大吉,根本就没管它了。但这次就不同,对每个程序都有一个深入透彻的理解,常常不懂就问同学或老师,直至把它弄懂为止。C语言限制比较的宽松,我们在编程的时候更应该仔细,一个小小的错误都可能导致程序的无法编译。所以对于大的程序,我们更应该先编好主程序,再一个一个模块的编。这样大大的缩短了编程的时间同时又提高了程序的可读性。通过课程设计,使我对C语言的运用有了更深刻的认识。使我对C语言的实践应用更加期待,更加好奇,我相信C语言对我以后的人生将有很大痹益。在对C语言的使用中,使我对软件的认识也有了初步的了解。更是为我以后学习的微机原理以及单片机原理奠定了基础。在学习C语言中更使我体会到了学习

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论