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

下载本文档

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

文档简介

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

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

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

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

5、的信息发生变化时,可以通过修改模块来进 行修改。1.2.4 浏览模块通过设计一个模块,可以将已经输入到数据库当中的信息调出显示。以便查 看或者进行修改。1.2.5 查找模块通过设计一个模块,这个模块可以按学生的学号、姓名来查询学生所有的信 息,并显示学生的所有信息,以便查询者阅读。1.2.6 统计模块通过设计一个模块,可以将所有输入过得数据库当中的信息以某个特定分类 来进行统计,输出该特征的总人数。! 主函数 ;一y_一y_查找模块 厂 m IP ; ; V fcIIIIIIIIIJ- 统计模块 干 _T浏览模块 修改模块 - -审删除模块 r 1111111%.1 I I t f i- V

6、t I I I LJ r 一 审输入显示模块IL结束III=_一图 1-1 总体模块框图第二章 系统功能的实现2.1 各模块主要功能的实现输入显示模块程序通过一个 printf 函数和 scanf 函数来进行数据库的显示输出,输出的 时候,通过定义数字、字符的长度大于本身的长度来实现输出信息的排版和隔开 使输出的信息排版美观。删除模块程序通过定义一个字符整形来判别是全部删除(all)或者是删除某个特定 学生(one)的信息,删除特定学生的信息需要先定义一个变量来判别是否有信 息需要删除,如果有,则输入需要删除的学生的学号,进而进行删除,成功则显 示“删除成功”,如果输入有误,则删除失败,显示“

7、输入数据错误”。图2-1删除程序框图程序实现步骤:首先,定义全局变量char xinxi20;int choice;然后,定义一个char Del10;然后清屏,接着用printf指示是删除(all/one);然后用scanf输入, 接着用if函数判别,用strcmp(Del,all)=O比较,然后输出人数等于0,则 删除成功;然后用else if函数判别strcmp(Del,one)=0,然后定义一个字 符型变量char choice20;定义i,j,k,然后用printf提示输入学号,用 scanf 输入,然后定义一个指针变量 p 并初始化。然后用 for 语句进行循环,然 后用 if 比

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

9、给i。如果 不含这个人的信息的时候,变量 k 的值仍为 0。再通过一个 if 语句,如果 k 的 值为 1,则打印第 j 个人的所有信息,如果 k 的值为 0,则打印“输入信息有误”。图 2-2 查找程序框图程序实现步骤:首先,进行清屏,然后用if语句判别renshu=O,则用printf输出“无任 何学生信息”然后返回主界面。接着用printf提示输入查找方式(1.学号,2. 姓名),然后用scanf输入数字1,2 (此处使用声明过得变量choice),然后用 if语句判别输入choice是否等于1 ,然后提示输入学号(出处使用全局声明变 量 xinxi),然后用 if 语句判别,用 str

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

11、给i,然后跳出循环。如果 不含这个人的信息的时候,变量k的值仍为0。再通过一个if语句,如果k的 值为0,则用printf输出“输入信息有误”;如果k的值为1,则输出第j个人 的所有信息,其他的输入则报错。2.1.4 浏览模块程序通过定义两个变量 i,j 来实现信息的浏览功能,如果数据库内没有输 入任何的数据,则显示(“系统里面没有任何学生的信息!”),如果数据库内有学 生信息存在,则用 printf 显示出学生的各项信息。2.1.5 修改模块程序定义一个变量来确定到底输入的是学号还是姓名。通过一个for循环来 确定数据库到底是否含有此人的信息。如果含有此人的信息,则把此人的信息打 印再屏幕上

12、。再显示二级菜单,是修改这个人的学号、姓名、性别、年龄、出生 年月、家庭地址、政治面貌和各科成绩。通过一个 switch 语句来实现某个信息 地修改。如果不含有此人的信息,则打印“输入信息错误!”。2.1.6 统计模块程序通过定义一个变量 cot 来进行人数统计,使用 count 函数来按性别进行 学生人数统计。2.2 程序调试及说明2.2.1 结构体构建学生信息管理系统采用一个结构体数组,学生信息数据库结构如下:学生信息包括:学号,姓名,性别、年龄,出生年月,家庭地址,政治面貌,C语言成 绩,VB成绩,英语成绩。char id20; char name30; char sex10;char

13、zzmm20;char addr20; char age3; char bir9;int scoreM;2.2.2 子程序函数申明void menu();(菜单)void input();(信息录入);void ShanChu();(删除)void LiuLan();(浏览)void ChaZhao();(查找)void Edit();(修改) void TongJi();(统计)2.2.3 程序调试I#.选扌筆C:UersWGDesktcpDebug.Jkl ( 2 ) .ejte聲瓠A图 2-3 I#.选扌筆C:UersWGDesktcpDebug.Jkl ( 2 ) .ejte聲瓠A图

14、2-3 主界面首先启动程序,弹出如下所示界面:12 3 4 5 6 7此时可以选择输入 1-7 的数字,分别对应不同功能,我们首先输入1,选择登记学生信息,界面如下:民州 ;w H義成门 d.-.L-白课课爲民州 ;w H義成门 d.-.L-白课课爲4 :员省99 一王23戸舗76窗厲船24职薇尽绩 -号-号一冷直 憊吉龄别迨庭生的鎏甕吉龄别迨駐生的 成聲年善番咸畀年姓政番课 -C72-一 r-=-k-k72l- - 一 _IJ .Tnd- rfn JB rrr _H ,JTT、 jtt jTt _Hd-,-Tn &u J*r .Tn JH I&M 1 踝宀奎李土土生i打專黑狞巫辜土生生切:员

15、和 tth /员爸?63 2 3 3 3 3mF-ln FM&NnF.穿京驾售牙芽 AIA入入入人IA人入入aia入AA人入 Q刖亠聖刖dsi址阻熨松肛j址址址良ffi:d更址址檢良si- j-hTT-wr-tTr 4-dw-Thr-iv4-.r-4.-H:-+.-:sw-:it-4w:rr4-.-n:-+.-:sw-:fr+.#4rrr4-.-n:-4-.#4-:fl:-+.4r44w:rr 土冃土冃圭冃?7主R主冃土冃-H冃士冃主冃主冃土R土冃士冃主冃主冃土冃土冃士冃主冃主R土冃土星冃该第第A人A-W跚iiEili i; ;f J -*门门IJ盂盂玄盂事制 32-1234 44444 4图

16、 2-4 输入界面我们选择输入 4 位学生的信息,首先输入4,然后按照提示依次输入每位学 生的各项信息,输入完成后,系统提示继续或者退出(1/0)选项,此时我们输 入 1,返回主界面,然后输入 3,浏览数据库中我们已经存入的数据,如下图:61三1长丄 內.;0_:21 1-1-11-1 1-11 1 1-2 2 2-2-2 2-2-2 2 2-233 第第裁旳第氏裁霁宪裁星氏酸蚕宪帶第第程棗.1二.二Jn-lIJ二一 .J*rTJ 一 二匕-Jn-f*TT二.J*rr5 一 一-fTT.二.J*rTJTTJ_二.二ha-匸-m .1 主臺生生羞生生羞生生羞生主生主主生主 li成blFI1ML7

17、 TJ !一 询94狗 团四19绩绩绩2 彼成成稳四 出的的轧盖嚴凜 计3 9X,.9 :- 苗匹81 密專密P3五 .才勺的的的A01.2E76此时系统仍然提示继续或者退出,我们选择1,返回主界面然后继续,然后我们在主界面输入 4,进行查找功能测试,首先我们选择(1,学号)查找,然 后输入学号(0102),系统显示如下:图 2-6 学号查找界面然后我们输入 1 返回主界面继续输入 4 进行姓名(2.姓名)查找测试,我们输入(王五),此时系统显示如下:图 2-7 姓名查找界面此时我们选择 1 返回主界面,然后输入 5,进行修改指令测试,本系统只提 供输入学号修改信息,则我们输入一个需要修改信息

18、的学号(“0101”),此时系 统弹出以下界面:图 2-8 修改界面如果没有输入任何信息,则报错。图 2-9 修改报错此时本系统提供一个二级菜单,使用 switch 语句输入想要修改的内容,然后输入新信息。我们选择 2 进行姓名修改,输入(赵四),然后输入 1 返回主界面,再输入 3 进行修改后的浏览,结果图如下:市嘟丛市嘟丛01-B10E 4 3 口询94:6:6:b 团四19绩绩绩2 第札咸成成19SIMM省丄3D 7 3 8 7 7群四齧绩磺丄址 =D =成脚金24叫右1 - - - - - - - U- 果杲果r,I: :川为 n-isTl图 2-10 修改后效果图此时我们输入 1 返

19、回主界面/再输入 2 进行删除功能测试,首先我们选择删除特定学生的信息,输入(one),然后输入学号(0102),然后进行删除,图示 如下:图 2-11 特定删除功能然后我们再按 1 返回主界面,再选 3 进行删除结果浏览,结果如下市都!|1;01口郝市都!|1;01口郝94:G:G:b团四19绩绩绩2 01四.第如咸成咸19 列赵劄1:弓的的:Li巧 ;:.;丰.果果果斗 丙为为対面基了丁卫凶6省050 Ln i2 7 6 6 匚万9党四19绩绩绩2 露沪咸咸咸29器-E2OG? - 1IZK.- - -男为 号鳶别込程牛応2L张号倉别g逞至1 12L注号名 爭姓年性第第第華姓年总学姓: -

20、TTIPTT l_nj- I3J-1JJ- . I-nJ-1-nJ-_JJ- JT-rllTT l_nr_J- l_uj- -TTIPTTI-nJ- I3J-1JJ- . I-nJ-1-nJ-JJ- JTTu- 1 IS rr_L勺勺勺月方月2 :1 - - - 3 內內- hj & 3 2 旦.-兒上 rrp.XE.Ru 勺. 斗, 戶呆果果斗., a为为为为面隼卞醐 t JIJ - 1 L- - - - - - - - - J进生生土主性生生生主,生生土主性生生生哇生 111111111112222222222233i汁i笫養.s孟盂si于卷逼番第i第第第番第第笫涕图 2-12 特定删除结

21、果浏览然后我们再输入 1 返回主界面,进行全部删除测试,输入2,回车,再输入(all),显示全部删除,结果显示如下:图 2-13 图 2-13 全部删除此时我们再输入 1,返回主界面,然后输入 6,进行人数统计,本系统是按性别来进行人数统计的,显示结果如下:=1,否则请输真:0学主信息雀气生 学 的 记 息息经 1.1=.巳戈戈 4J -1.- 一 =1,否则请输真:0学主信息雀气生 学 的 记 息息经 1.1=.巳戈戈 4J -1.- 一 讎毒 勰已别连生甫登圳査4.4.身 1 2 3 4 5 611图 2-14 性别统计人数由于前面我们删除了所有学生信息,所以显示为 0。第三章 系统优缺点

22、及总结体会3.1 优缺点及可改进方案3.1.1 优点本系统已经基本实现功能要求,学生信息完整,查询快捷方便,修改程序较 简单,程序简单精炼。功能界面指示明确,操作简单,易于推广。3.1.2 缺点程序有很多定义不规范,不利于阅读和修改。系统还有一部分功能由于我们自身的原因而无法实现,系统功能有缺失。系统界面不够美观,比较简陋。不能将信息保存在本地文件中。3.1.3 改进方案借鉴和学习更多的 C 语言书籍,规范自己的定义方法。认真学习每个字符和结构体所表达的意思,争取将系统写的更加完整。在实现完整的系统功能后,学习进一步的系统美化。了解 c 语言数据库中的常用数据体,进一步的灵活使用。3.2 总结

23、体会一个多星期的课程设计,使我对 C 语言程序设计有了一个更加深入的认识, 从刚开始的初略的认识到有了比较深入的认识,能够比较灵活的运用。c语言是 一门比较灵活、有趣而且实践性非常强的课程,我们要从它的实践运用中,体会 到了学习 c 语言的乐趣和好处。在课程设计的这段时间里,我学到了许多东西, 同时也使我对以前学的东西有了一个更深更透彻的理解。比如:能够灵活的运用 双重循环,switch语句,结构体的定义、引用、使用,指针的定义、使用等。 虽然对 c 语言编程还有许多不明白,但这段时间我真的获易匪浅。以前上编程课, 我基本上都没有深入理解自己所编的程序,常常就是仿照书本编一个程序,再运 行几遍,没错就万事大吉,根本就没管它了。但这次就不同,对每个程序都有一 个深入透彻的理解,常常不懂就问同学或老师,直至把它弄懂为止。C语言限制 比较的宽松,我们在编程的时候更应该仔细,一个小小的错误都可能导致程序的 无法编译。所以对于大的程序,我们更应该先编好主程序,再一个一个模块的编。 这样大大的缩短了编程的时间同时又

温馨提示

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

评论

0/150

提交评论