PAGE \* MERGEFORMAT1
学生证管理程序报告
学号:
姓名:
完成日期: 2012年 5 月
题目内容的提出与描述
学生证的有效管理是学校的重要工作,这项工作的工作重点是需要学校建立一个简明高效,便于操作和处理信息的学生证管理系统。这样,学校就可以从全局上掌控、修改、统计学生信息,为学生管理工作提供极大的便利,本程序的目的旨在于管理大量学生的学生证信息,大大提高学校和教师的工作效率。
本程序的具体功能包括:1)通过键盘输入某位学生的学生证信息。
2) 给定学号,显示某位学生的学生证信息。
3) 给定某个班级的班号,显示该班所有学生的学生证信息。
4) 给定某位学生的学号,修改该学生的学生证信息。
5) 给定某位学生的学号,删除该学生的学生证信息。
6) 提供一些统计各类信息的功能。
二.软件的需求分析描述
本软件要实现对学生证信息的有序程序化管理,操作人员可以输入学生的学生证信息并存储,修改学生证信息,删除学生证信息,并通过不同方式查找到学生,从而简化学生证的管理工作,方便进行相关操作。
本软件要达到的性能,存储至少100位同学的学生证信息,并可以查找指定学生的学生证信息,修改,删除指定学生的学生证信息,可输出已存储的全部学生的相关信息。
三. 开发工具的介绍—C语言的优点
简洁紧凑、灵活方便。
运算符丰富。
数据类型丰富。
C是结构式语言。
语法限制不太严格,程序设计自由度大。
允许直接访问物理地址,对硬件进行操作。
生成目标代码质量高,程序执行效率高。
适用范围大,可移植性好。
四.软件的总体设计和详细设计
1.软件的总体设计部分画出结构图。
2.软件的详细设计部分画出流程图,并写出个函数之间参数的定义和传递方式、输入数据类型、格式和内容限制。
①Main函数
函数从主函数开始运行,首先进行选择要操作的函数,引导用户执行操作。而后通过全局变量在进行具体操作
②Setup函数
用户选择执行Setup()函数,首先引导用户确定录入人数,之后通过循环语句判断,一次录入每个学生的学生卡信息,包括姓名,性别,学院,以及学号。
③Correct函数
用户选择执行Correct()函数,首先程序引导输入指定学生的学号,判断输入学号的学生是否存在,如果存在则引导用户重新将该学生的学生卡各项信息输入并覆盖原信息,修改结束后自动返回主菜单等待用户操作,否则直接返回主菜单。
④Delete函数
⑤Find函数
用户选择Find函数,首先引导用户选择查询方式,确认后调用执行响应程序段,最后将查询结果全部打出。
⑦.统计功能
五.资源描述
凡装有Free-C5的程序皆可完美运行此程序
六.程序的源代码
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#include"conio.h"
struct information{
char name[10];
char sex;
char num[8];
int academy;
};
typedef struct information INFORMATION;
struct sqlisttp{
INFORMATION student[100];
int last;
};
typedef struct sqlisttp SQLISTTP;
SQLISTTP v; /*建立一个全局变量,线性表*/
void Setup(){
int i;
printf("请输入你要建立数据的人数\n");
scanf("%d",&v.last);
for(i=0;i
printf("请输入第%d位的姓名\n",i+1);
scanf("%s",v.student[i].name);
printf("请输入第%d位的性别(MorF)\n",i+1);
scanf("%s",&v.student[i].sex);
printf("请输入第%d位的学号\n",i+1);
scanf("%s",v.student[i].num);
printf("请输入第%d位的学院(1-15)\n",i+1);
scanf("%d",&v.student[i].academy);
}
getch();
}
void Add(){
v.last++;
printf("请输入第%d位的姓名\n",v.last);
scanf("%s",v.student[v.last-1].name);
printf("请输入第%d位的性别(MorF)\n",v.last);
scanf("%s",&v.student[v.last-1].sex);