实验报告
实验题目: 学生证的管理程序 号: 2013040272
小 组: 第五组
专业班级: 数字媒体技术一班
系 (院): 计算机科学与信息学院
实验时间: 2013年6月19日
实验器材: 计算机
指导教师评语:
签名:
年 月 日
1.需求分析学生证信息采用文件存储,因而要提供文件的输入输出操作;给定学号或班号,做相应得操作,要提供查找操作;显示操作要提供显示操作;修改和删除信息要提供文件的修改和删除操作;提供一些统计各类信息的功能要实现统计操作;另外提供键盘式选择菜单以实现功能选择。
2.总体设计
整个管理程序设计为数据输入模块、数据查找模块、数据修改模块、数据删除模块、数据统计模块。
3.详细设计
#include
#include
#include "Data.h"
extern StudentCard* pai[N];
void Input()
{
int i=0;
while(pai[i]!=0)
i++;
for(;i
{
void* p=malloc(sizeof(StudentCard));
pai[i]=(StudentCard*)p;
char* pz=(char*)p;
for(int k=0;k
{
pz[k]=0;
}
printf("%s%s%s%s%s", "No ", "Name ", "Sex ", "StuNo ", "ClassNo\n");
int nT=scanf("%s%s%d%d%s", &pai[i]->No, &pai[i]->Name, &pai[i]->Sex, &pai[i]->StuNo, &pai[i]->ClassNo);
printf("是否继续输入?是(1)/否(0)\n");
int nc=0;
scanf("%d",&nc);
if(nc==0)
break;
}
}
#include
#include
#include "Data.h"
#include "List.h"
extern StudentCard* pai[N];
void ShanChu()
{
List();
printf("输入要删除的记录序号:\n");
int nI=0;
scanf("%d", &nI);
if(pai[nI]!=NULL)
{
free(pai[nI]);
pai[nI]=0;
}
int n=nI;
n++;
while(pai[n]!=NULL)
n++;
if(n==nI+1)//最后一个被删除
return;
for(int i=nI;i
{
pai[i]=pai[i+1];
}
pai[n-1]=NULL;
}
#include
#include
#include
#include "Data.h"
#include "Stastistics.h"
extern StudentCard* pai[N];
void Stastistics()
{
printf("%s", "选择要统计的字段\n1:班级学生数\n2:女生人数\n3:男生人数\n");
int n=0;
scanf("%d", &n);
int i=0;
int m=0;
switch(n)
{
case 1:
printf("%s", "输入班级(ClassNo)\n");
char ClassNo[10];
scanf("%s", &ClassNo);
for(i=0;i
{
if(pai[i]==NULL)