《C语言程序课设 学生证管理系统》由会员分享,可在线阅读,更多相关《C语言程序课设 学生证管理系统(25页珍藏版)》请在金锄头文库上搜索。
1、C C 语言程序设计报告书语言程序设计报告书学生证管理程序学生证管理程序学号:09021106姓名:SYF20102010 年年 5 5 月月一、题目内容的提出与描述。一、题目内容的提出与描述。大学学生人数众多,学生信息量巨大。手工管理十分艰难,且极易出错和丢失信息, 并会占用大量的纸张和空间资源。本款软件就是基于对学生证管理的需求,为学校管理方 量身定做,操作容易,快速便捷,并且节约能源。它不仅符合当今信息化社会的需求,还 顺应了当代低碳环保的理念 此软件可实现学生信息的录入、输出、查询、修改、统计和删除的功能,查询和统计查询和统计 的功能是本款软件的特色,比较方便的功能是本款软件的特色,比
2、较方便。 另外,因为本人笔记本为 windows7 系统,调试时无法在中文条件下运行,所以本款软 件有中英文两个版本。 (英文版为 student-english)二、软件的需求分析描述二、软件的需求分析描述1.软件应具有的功能: (1).输入学生信息。 (2).输出全部学生信息。 (3).查询学生信息。输入单个学号以查询一个学生;输入专业以查询一专业学生;输入学 院以查询一院学生。 (4).修改学生信息。输入学生学号以修改信息。 (5).统计学生信息。按性别统计男、女生人数及比例;按户籍统计本地生和外地生人数及 比例; (6).删除学生信息。输入学生学号以删除信息。 补充:教师有特定验证码(
3、验证码为 1) ,输入正确则可实行以上操作。2题目要求: (1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序; (2) 学生信息应该包含:学号、姓名、年龄、专业、所属学院、户籍所在地。 (3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜 单项选择希望进行的操作项目。三、开发工具的介绍三、开发工具的介绍本软件采用色开发工具为 C 语言。 C 语言 Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语 言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言, 编写系统应用程序,也可以作为应用程
4、序设计语言,编写不依赖计算机硬件的应用程序。 因此,它的应用范围广泛,且具有强大的功能。许多著名的系统软件,如DBASE 都 是由 C 语言编写的。用 C 语言加上一些汇编语言子程序,就更能显示C 语言的优势 了,像 PC- DOS 、WORDSTAR 等就是用这种方法编写的。 归纳起来 C 语言具有下列特点: 1. C 是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来, 可以像汇编语言一样对位、字节和地址进行操作。2.C 是结构式语言。结构式语言的显著特点是代码及数据的分隔化,使程序层次清晰, 便于使用、维护以及调试。 C 语言是以函数形式提供给用户的,这些函数可方便的调
5、用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 3.C 语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更 高。另外 C 语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、 逻辑判断功能也比较强大。 4. C 语言适用范围大。适合于多种操作系统 ,多种机型。 C 语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应 用软件也是用 C 语言编写的。 C 语言具有绘图能力强,可移植性,因此适于编写系统软件,三维,二维图形和动画。 它是数值计算的高级语言。 5.C 语言文件由数据序列组成,可以构成二进制文件或文本文件。四、软件
6、的总体设计和详细设计。四、软件的总体设计和详细设计。【总体设计】1 1、软件的总体设计部分的结构图、软件的总体设计部分的结构图输 入查 询统 计修 改删 除按学号按专业按学院按性别按户籍进入主菜单学生证管理系统学生证管理系统输入验证码正确错误菜单重 试退 出输出全 部2.2.各模块函数作用简介各模块函数作用简介因为所用信息为全局变量,所以各函数间无传值或传址 函数名主要作用调用及数据传输关系main()-main()-主函数主函数检验验证码是否正确(验证码为 1) ; 若正确则显示主菜单,进入下面操作; 若错误可选择重新输入或退出。调用了 menu(); 一部分调用了 tuichu().tui
7、chu()-tuichu()-退出函退出函 数数显示“感谢使用” “孙亚飞制作”等结束 语,并可实现退出操作; 避免了重复语句。被 main(), menu()调用;menu()menu()主菜单函主菜单函 数数显示主菜单; 用户可输入选项后可转向对应模块进行 下面操作。分别调用了 tuichu(),input(), printall(),search(),tongji(),modi fy(),del(); 也被 main()及以上函数调用;input()-input()-输入函输入函 数数输入要添加的学生人数,之后可输入对 应人数的学生的信息; 操作完可返回主菜单。被 menu()调用, 也
8、调用 menu();printall()-printall()-输出输出 全部函数全部函数可输出全部学生的信息; 操作完可返主回菜单。被 menu()调用, 也调用 menu();search()-search()-查询函查询函 数数通过一个菜单可选择输入单个学号以查 询一个学生的信息,输入专业名查询一 班学生的信息,输入学院名查询一院学 生的信息。 操作完可返回主菜单。被 menu()调用, 也调用 menu();tongji()-tongji()-统计函统计函 数数通过一个菜单可选择按性别统计男、女 生人数及比例或按户籍统计本地生和外 地生人数及比例; 操作完可返回主菜单。被 menu()
9、调用, 也调用 menu();modify()-modify()-修改函修改函 数数通过输入一个学生学号以修改其信息; 操作完可返回主菜单。被 menu()调用, 也调用 menu();del()-del()-删除函数删除函数通过输入一个学生学号以删除其信息; 操作完可返回主菜单被 menu()调用, 也调用 menu();结构体为全局变量:struct student long number; char name5; char sex; int age; char college15; char major10; char hukou10; stuN; 定义全局变量指针 FILE *fp;【
10、详细设计】1.1.各模块函数框图各模块函数框图 (1).main()-(1).main()-主函数主函数while 判断验证码输入验证码开始重新输入/ 退出TF重新输入退出tuichu()函 数进入主菜单 menu()(2)(2) tuichu()-tuichu()-退出函数退出函数开始退出输出结束 语(3).(3). menu()menu()主菜单函数主菜单函数switchprintf 显示菜单开始结束input( )函数printal l()函数modify ()函 数search( )函数tuichu() 函数del() 函数tongji ()函数casecase1 1casecase2
11、 2casecase3 3casecase4 4casecase5 5casecase6 6casecase7 7(4).(4). input()-input()-输入函数输入函数TFTF开始输入要添加的学 生人数 n创建一个文件in+1i=1i+输入学生 信息Tstui.n umber!=0i+i=1T回到主菜单 menu()判断 fp 是 否为空显示无法打 开文件fwrite!=1显示写入 错误(5).(5). printall()-printall()-输出全部函数输出全部函数FTF开始in+1i=1i+输出学生 信息T打开文件读文件max+feof(fp)max=0回到主菜单 menu
12、()没有信息T(6).search()-(6).search()-查询函数查询函数T开始If选项显示本模块菜 单FiN+1i=1i+读文件Tfeof( fp)Max+输入选项后面的流程图转下页后面的流程图转下页TF输入要查找的 学生的学号 cTFimax+1i=1i+输出该学生信息d+d=0TStui学 号为 c输入要查找的 专业的名称 m 与第一种情况流 程图相同 将 Stui学号为 c 改为 Stui专业为 m 将 c 改为 改为显示没有 该学生信 息 与第一种情况流 程图相同 将 Stui学号为 c 改为 Stui专业为 n 将 c 改为 改为输入要查找的 学院的名称回到主菜单 menu
13、()123(7).(7).tongji()-tongji()-统计函数统计函数FTT前面部分流程图与 search()函数第一页流程 图相同If选项12开始Fimax+1i=1i+stui 性 别为男Sum2+Sum1+输出统计 信息Sum1 为 0 且 sum2 为0T 显示无 法统计FTTFimax+1i=1i+stui 性 别为男Sum2+Sum1+输出统计 信息Sum1 为 0 且 sum2 为0T显示无 法统计回到主菜单menu()(8).(8).modify()-modify()-修改函数修改函数TTT输入修改后的 信息输入要修改 的学生学号i+写入文件回到主菜单 menu()T开
14、始FiN+1i=1i+读文件feof( fp)Max+Timax+1i=1stui学 号为 c将修改后的 信息付给 stuid=0d+stui学 号为 cF显示无该学生 信息,无法修 改 转右侧转右侧( ().).del()-del()-删除函数删除函数转右侧转右侧TTT输入修改后的 信息输入要修改 的学生学号i+写入文件回到主菜单 menu()T开始FiN+1i=1i+读文件feof( fp)Max+Timax+1i=1stui学 号为 c将修改后的 信息付给 stuid=0t=istui学 号为 cF显示无该学生 信息,无法删 除五、资源描述五、资源描述计算机需装有 winTc 软件。 计
15、算机的配置:windows Xpvista/7 系统:只能运行英文版 windows Xp:中、英文两个版本均可运行六、源代码六、源代码#define N 20 #include “stdio.h“ struct student long number; char name20; char sex; int age; char college20; char major20; char hukou20; stuN;FILE *fp; /* 全局变量 */*-主函数-*/main() struct student stuN; int a,b; printf(“请输入验证码:n“); /* 验证码为 1 */scanf(“%d“,while(a!=1)printf(“验证码错误!n“);printf(“1:重新输入n2:退出n“);printf(“您的选择是(输入代号):“);scanf(“%d“,if(b=1)printf(“请输入验证码:n“);scanf(“%d“,else tuichu(); menu();/*-退出函数-