您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C语言程序课设 学生证管理系统
C语言程序设计报告书学生证管理程序学号:09021106姓名:SYF2010年5月一、题目内容的提出与描述。大学学生人数众多,学生信息量巨大。手工管理十分艰难,且极易出错和丢失信息,并会占用大量的纸张和空间资源。本款软件就是基于对学生证管理的需求,为学校管理方量身定做,操作容易,快速便捷,并且节约能源。它不仅符合当今信息化社会的需求,还顺应了当代低碳环保的理念此软件可实现学生信息的录入、输出、查询、修改、统计和删除的功能,查询和统计的功能是本款软件的特色,比较方便。另外,因为本人笔记本为windows7系统,调试时无法在中文条件下运行,所以本款软件有中英文两个版本。(英文版为student-english)二、软件的需求分析描述1.软件应具有的功能:(1).输入学生信息。(2).输出全部学生信息。(3).查询学生信息。输入单个学号以查询一个学生;输入专业以查询一专业学生;输入学院以查询一院学生。(4).修改学生信息。输入学生学号以修改信息。(5).统计学生信息。按性别统计男、女生人数及比例;按户籍统计本地生和外地生人数及比例;(6).删除学生信息。输入学生学号以删除信息。补充:教师有特定验证码(验证码为1),输入正确则可实行以上操作。2.题目要求:(1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2)学生信息应该包含:学号、姓名、年龄、专业、所属学院、户籍所在地。(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。三、开发工具的介绍本软件采用色开发工具为C语言。C语言CombinedLanguage(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,且具有强大的功能。许多著名的系统软件,如DBASEⅣ都是由C语言编写的。用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,像PC-DOS、WORDSTAR等就是用这种方法编写的。归纳起来C语言具有下列特点:1.C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来,可以像汇编语言一样对位、字节和地址进行操作。2.C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大。4.C语言适用范围大。适合于多种操作系统,多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。C语言具有绘图能力强,可移植性,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。5.C语言文件由数据序列组成,可以构成二进制文件或文本文件。四、软件的总体设计和详细设计。【总体设计】1、软件的总体设计部分的结构图输入查询统计修改删除按学号按专业按学院按性别按户籍进入主菜单学生证管理系统输入验证码正确错误菜单重试退出输出全部2.各模块函数作用简介因为所用信息为全局变量,所以各函数间无传值或传址函数名主要作用调用及数据传输关系main()--主函数检验验证码是否正确(验证码为1);若正确则显示主菜单,进入下面操作;若错误可选择重新输入或退出。调用了menu();一部分调用了tuichu().tuichu()--退出函数显示“感谢使用”“孙亚飞制作”等结束语,并可实现退出操作;避免了重复语句。被main(),menu()调用;menu()—主菜单函数显示主菜单;用户可输入选项后可转向对应模块进行下面操作。分别调用了tuichu(),input(),printall(),search(),tongji(),modify(),del();也被main()及以上函数调用;input()--输入函数输入要添加的学生人数,之后可输入对应人数的学生的信息;操作完可返回主菜单。被menu()调用,也调用menu();printall()--输出全部函数可输出全部学生的信息;操作完可返主回菜单。被menu()调用,也调用menu();search()--查询函数通过一个菜单可选择输入单个学号以查询一个学生的信息,输入专业名查询一班学生的信息,输入学院名查询一院学生的信息。操作完可返回主菜单。被menu()调用,也调用menu();tongji()--统计函数通过一个菜单可选择按性别统计男、女生人数及比例或按户籍统计本地生和外地生人数及比例;操作完可返回主菜单。被menu()调用,也调用menu();modify()--修改函数通过输入一个学生学号以修改其信息;操作完可返回主菜单。被menu()调用,也调用menu();del()--删除函数通过输入一个学生学号以删除其信息;操作完可返回主菜单被menu()调用,也调用menu();结构体为全局变量:structstudent{longnumber;charname[5];charsex;intage;charcollege[15];charmajor[10];charhukou[10];}stu[N];定义全局变量指针FILE*fp;【详细设计】1.各模块函数框图(1).main()--主函数while判断验证码输入验证码开始重新输入/退出TF重新输入退出tuichu()函数进入主菜单menu()(2)tuichu()--退出函数(3).menu()—主菜单函数switchprintf显示菜单开始结束input()函数printall()函数modify()函数search()函数tuichu()函数del()函数tongji()函数case1case2case3case4case5case6case7开始退出输出结束语(4).input()--输入函数TFTF开始输入要添加的学生人数n创建一个文件in+1i=1i++输入学生信息Tstu[i].number!=0i++i=1T回到主菜单menu()判断fp是否为空显示无法打开文件fwrite!=1显示写入错误(5).printall()--输出全部函数FTF开始in+1i=1i++输出学生信息T打开文件读文件max++feof(fp)max==0回到主菜单menu()没有信息T(6).search()--查询函数后面的流程图转下页T开始If选项显示本模块菜单FiN+1i=1i++读文件Tfeof(fp)Max++输入选项TF输入要查找的学生的学号cTFimax+1i=1i++输出该学生信息d++d==0TStu[i]学号为c输入要查找的专业的名称m......与第一种情况流程图相同将Stu[i]学号为c改为Stu[i]专业为m将c改为ne改为f显示没有该学生信息......与第一种情况流程图相同将Stu[i]学号为c改为Stu[i]专业为n将c改为ne改为f输入要查找的学院的名称n回到主菜单menu()123(7).tongji()--统计函数FTT前面部分流程图与search()函数第一页流程图相同If选项12开始Fimax+1i=1i++stu[i性别为男Sum2++Sum1++输出统计信息Sum1为0且sum2为0T显示无法统计FTTFimax+1i=1i++stu[i性别为男Sum2++Sum1++输出统计信息Sum1为0且sum2为0T显示无法统计回到主菜单menu()(8).modify()--修改函数TTT输入修改后的信息输入要修改的学生学号i++写入文件回到主菜单menu()T开始FiN+1i=1i++读文件feof(fp)Max++Timax+1i=1stu[i]学号为c将修改后的信息付给stu[i]d==0d++stu[i]学号为cF显示无该学生信息,无法修改转右侧(9).del()--删除函数五、资源描述计算机需装有winTc软件。计算机的配置:windowsXpvista/7系统:只能运行英文版windowsXp:中、英文两个版本均可运行转右侧TTT输入修改后的信息输入要修改的学生学号i++写入文件回到主菜单menu()T开始FiN+1i=1i++读文件feof(fp)Max++Timax+1i=1stu[i]学号为c将修改后的信息付给stu[i]d==0t=istu[i]学号为cF显示无该学生信息,无法删除六、源代码#defineN20#includestdio.hstructstudent{longnumber;charname[20];charsex;intage;charcollege[20];charmajor[20];charhukou[20];}stu[N];FILE*fp;/*全局变量*//*---------------------------------主函数--------------------------------*/main(){structstudentstu[N];inta,b;printf(请输入验证码:\n);/*验证码为1*/scanf(%d,&a);while(a!=1){printf(验证码错误!\n);printf(1:重新输入\n2:退出\n);printf(您的选择是(输入代号):);scanf(%d,&b);if(b==1){printf(请输入验证码:\n);scanf(%d,&a);}elsetuichu();}menu();}/*---------------------------------退出函数--------------------------------*/tuichu(){printf(\n\n感谢使用本系统!);printf(\n孙亚飞制作于2010年);getch();exit(0);}/*----------------------------------主菜单-----------------------------------*/menu(){intc;printf(\n*******************\n);printf(欢迎使用本系统!\n\n);printf(1:输入学生信息\n);printf(2:输出全部学生信息\n);printf(3:查询学生信息\n);printf(4:统计学生信息\n);printf(5:修改学生信息\n);printf(6:删除学生信息\n);printf(7:退出系统\n);printf(*******************\n\n);printf(您的选择是(输入代号):);scanf(%d,&c);switch(c){case1:input(stu);break;case2:printall(stu);break;case3:search(stu);break;case4:tongji(stu);break;case5:modify(stu);break;case6:del(stu);break;case7:tuichu();break;}}/*----------------------------------输入部分---------------------------------*/input(structstudentstu[]){inti,n;fp=fopen(stu_list,a+);printf(\n\n请输入要添加的学生的人数:\n);scanf(%d,&n);for(i=1;in+1;i++){printf(\n第%d个学生,i);printf(\n请输入学生学号(取后7位):);scanf(%ld,&stu[i].number);printf(\n请输入学生姓名
本文标题:C语言程序课设 学生证管理系统
链接地址:https://www.777doc.com/doc-3209986 .html