档案管理班级档案管理系统报告文档.docx

上传人:b****2 文档编号:13967949 上传时间:2023-06-19 格式:DOCX 页数:17 大小:160.14KB
下载 相关 举报
档案管理班级档案管理系统报告文档.docx_第1页
第1页 / 共17页
档案管理班级档案管理系统报告文档.docx_第2页
第2页 / 共17页
档案管理班级档案管理系统报告文档.docx_第3页
第3页 / 共17页
档案管理班级档案管理系统报告文档.docx_第4页
第4页 / 共17页
档案管理班级档案管理系统报告文档.docx_第5页
第5页 / 共17页
档案管理班级档案管理系统报告文档.docx_第6页
第6页 / 共17页
档案管理班级档案管理系统报告文档.docx_第7页
第7页 / 共17页
档案管理班级档案管理系统报告文档.docx_第8页
第8页 / 共17页
档案管理班级档案管理系统报告文档.docx_第9页
第9页 / 共17页
档案管理班级档案管理系统报告文档.docx_第10页
第10页 / 共17页
档案管理班级档案管理系统报告文档.docx_第11页
第11页 / 共17页
档案管理班级档案管理系统报告文档.docx_第12页
第12页 / 共17页
档案管理班级档案管理系统报告文档.docx_第13页
第13页 / 共17页
档案管理班级档案管理系统报告文档.docx_第14页
第14页 / 共17页
档案管理班级档案管理系统报告文档.docx_第15页
第15页 / 共17页
档案管理班级档案管理系统报告文档.docx_第16页
第16页 / 共17页
档案管理班级档案管理系统报告文档.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

档案管理班级档案管理系统报告文档.docx

《档案管理班级档案管理系统报告文档.docx》由会员分享,可在线阅读,更多相关《档案管理班级档案管理系统报告文档.docx(17页珍藏版)》请在冰点文库上搜索。

档案管理班级档案管理系统报告文档.docx

档案管理班级档案管理系统报告文档

题目:

班级档案管理系统

一、设计任务与目标

对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。

功能要求:

(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:

学号、姓名、性别、年龄、备注。

(2)本系统显示这样的菜单:

请选择系统功能项:

a学生基本信息录入

b学生基本信息显示

c学生基本信息保存

d学生基本信息删除

e学生基本信息修改(要求先输入密码)

f学生基本信息查询

(1)按学号查询

(2)按姓名查询

(3)按性别查询

(4)按年龄查询

g.退出系统

(3)执行一个具体的功能之后,程序将重新显示菜单。

(4)将学生基本信息保存到文件中。

(5)进入系统之前要先输入密码。

二、方案设计与论证

主要采用结构体数组,通过scanf函数从键盘输入学生各种信息,每当修改学生信息时需要调用密码验证函数。

定义了一个文件指针,密码验证函数中,通过fopen打开已有文本文件,然后通过fgetc逐个读取该文件中的字符来实现。

退出系统时向学生信息文件中写入数据并关闭文件就实现了保存文件的功能。

 

三、程序框图或流程图,程序清单与调用关系

NY

N

NY

 

四、全部源程序清单

#include

#include

#include

#include

#defineN3

structstudent

{

charname[10];

charno[10];

charsex;

intage;

charbnote[100];

};

voidprint(boolmenu)//打印基本信息

{

if(!

menu)

{

printf("学生基本信息录入,press1\n");

}

else

{

printf("学生基本信息显示,press2\n");

printf("学生基本信息保存,press3\n");

printf("学生基本信息删除,press4\n");

printf("学生基本信息修改,press5\n");

printf("学生基本信息查询,press6\n");

}

printf("退出学生信息系统,press7\n");

}

boolCheck(charpas[6])//密码验证

{

FILE*fp;//定义一个文件指针fp,建立一个字符文件

charch;

chara[7]={""};

inti=0;

if((fp=fopen("c:

\\密码.txt","r"))==NULL)//打开密码.txt

{

printf("文件打开失败!

\n");

exit(0);

}

ch=fgetc(fp);

while(ch!

=EOF&&i<6)

{

a[i]=ch;

ch=fgetc(fp);

i++;

}

a[6]='\0';

if(!

strcmp(pas,a))

{

returntrue;

}

else

{

printf("密码错误\n");

returnfalse;

}

fclose(fp);

}

voidGetInformation(structstudent*arr,intn)//学生基本信息录入

{

for(inti=0;i

{

printf("输入学生的基本信息:

namenosexagebnote\n");

scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);

}

}

voidDisplay(structstudent*arr,intn)//学生基本信息显示

{

printf("学生信息:

namenOsexagenote\n");

for(inti=0;i

{

printf("%5s%5s%5c%5d%5s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);

}

}

voidSave(structstudent*arr,intn)//学生基本信息保存,保存在c:

\\student.txt

{

FILE*fp;

fp=fopen("c:

\\student.txt","w+");

if(fp==NULL)

{

printf("文件不存在!

\n");

exit(0);

}

fwrite(arr,sizeof(structstudent)*n,n,fp);

fclose(fp);

}

voidModfiy(structstudent*arr,intn)//学生基本信息修改

{

charnumber[10];

boolflag=false;

charpass[6];

printf("请输入密码:

\n");

scanf("%s",pass);

if(Check(pass))

{

printf("修改学生信息:

\n");

printf("请输入学号:

\n");

scanf("%s",number);

for(inti=0;i

{

if(!

strcmp(number,arr[i].no))

{

printf("学生信息:

namenosexagenote\n");

printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

printf("请输入学生信息:

\n");

scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);

Save(arr,n);

flag=true;

}

}

if(flag==false)

{

printf("该学生不存在!

\n");

}

}

}

voidDelete(structstudent*arr,intn)//学生基本信息删除

{

charnumber[10];

boolflag=false;

printf("删除学生信息:

\n");

printf("请输入学号:

\n");

scanf("%s",number);

for(inti=0;i

{

if(!

strcmp(number,arr[i].no))

{

strcpy(arr[i].name,"");

strcpy(arr[i].no,"");

strcpy(arr[i].bnote,"");

arr[i].sex='';

arr[i].age=0;

Save(arr,n);

flag=true;

}

}

if(flag==true)

{

printf("该学生不存在!

:

\n");

}

}

voidSearch(structstudent*arr,intn)//学生基本信息查询

{

inttemp,i;

boolflag=false;

printf("---------------通过学号查询,press1-------------\n");

printf("---------------通过姓名查询,press2-----------\n");

printf("---------------通过性别查询,press3------------\n");

printf("---------------通过年龄查询,press4------------\n");

printf("---------------退出,press5------------\n");

scanf("%d",&temp);

switch(temp)

{

case1:

//按照学号查询

{

charnum[10];

printf("请输入学号:

\n");

scanf("%s",num);

for(i=0;i

{

if(!

strcmp(num,arr[i].no))

{

printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

flag=true;

}

}

if(!

flag)

{

printf("该学生不存在.\n");

}

}

break;

case2:

//按照姓名查询

{

charnum[10];

printf("请输入姓名:

\n");

scanf("%s",num);

for(i=0;i

{

if(!

strcmp(num,arr[i].name))

{

printf("%10s%10s%10c%10d%10s",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

flag=true;

}

}

if(!

flag)

{

printf("该学生不存在.\n");

}

}

break;

case3:

//按照性别查询

{

charch;

printf("请输入性别:

\n");

//scanf("%c",&ch);

ch=getch();

for(i=0;i

{

if(ch==arr[i].sex)

{

printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

flag=true;

}

}

if(!

flag)

{

printf("该学生不存在.\n");

}

}

break;

case4:

//按照年龄查询

{

charnum_age;

printf("请输入年龄:

\n");

scanf("%d",&num_age);

for(i=0;i

{

if(num_age==arr[i].age)

{

printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

flag=true;

}

}

if(!

flag)

{

printf("该学生不存在.\n");

}

}

break;

default:

break;

}

}

voidmain()

{

structstudentarr[N];

charps[6];

boolflag=false;

printf("请输入密码:

\n");

scanf("%s",ps);

flag=Check(ps);

if(flag)

{

intselect;

print(false);

scanf("%d",&select);

while(0

{

switch(select)

{

case1:

GetInformation(arr,N);

print(true);

break;

case2:

Display(arr,N);

print(true);

break;

case3:

Save(arr,N);

print(true);

break;

case4:

Delete(arr,N);

print(true);

break;

case5:

Modfiy(arr,N);

print(true);

break;

case6:

Search(arr,N);

print(true);

break;

default:

break;

}

printf("请选择:

\n");

scanf("%d",&select);

}

}

}

五、程序运行的测试与分析

六、结论与心得

无论什么只有自己真的懂了,才能说出来个所以然。

整个过程充满了纠结,不过从各种资料中慢慢发现那是很容易的,思路也清楚了很多,最后做起来也挺容易。

七、参考资料

C语言课程设计(第三版)谭浩强著

八、致谢

谢谢,谢谢谭浩强老师。

谢谢XX老师

 

课程设计成绩评定表

对课程设计工作过程的简短介绍和自我评价

 

学生签名:

2010年月日

(以下由评定小组教师填写)

质量评价指标(在相应栏目打√)

评价项目

评价质量

优秀

良好

一般

及格

不及格

工作量和态度

实验、计算可靠性

文字和图表质量

总体评价

评定成绩(百分制)

 

评定小组成员签名

2010年月日

制定人:

王钲璇,苗雨审定人:

陈守孔

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2