学生信息管理系统课程设计报告.docx

上传人:b****2 文档编号:1975726 上传时间:2022-10-25 格式:DOCX 页数:14 大小:49.74KB
下载 相关 举报
学生信息管理系统课程设计报告.docx_第1页
第1页 / 共14页
学生信息管理系统课程设计报告.docx_第2页
第2页 / 共14页
学生信息管理系统课程设计报告.docx_第3页
第3页 / 共14页
学生信息管理系统课程设计报告.docx_第4页
第4页 / 共14页
学生信息管理系统课程设计报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

学生信息管理系统课程设计报告.docx

《学生信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。

学生信息管理系统课程设计报告.docx

学生信息管理系统课程设计报告

学生信息管理系统

学生:

学号:

班级:

指导老师:

日期:

2、课程设计正文格式:

1题目及要求

学生信息管理系统

此题目要求,使用结构体静态数组存储数据,并要求使用户输入的数据或者修改后的数据能够永久保存。

1.1问题提出

详细叙述本人所要实现的题目中的问题

我编写一个学生信息管理系统,主要用来管理学生基本信息。

1.2本系统涉及的知识点

如:

结构体、数组、循环、函数、分支、文件、字符串、指针;

1.3功能分析

叙述本人所要实现的题目功能

1、添加学生信息,每个学生的信息包括:

学号、、、生日、地址、班级;

2、根据学号删除该学生信息或删除全部学生信息;

3、根据学号、查询学生信息;

4、可以以表格形式输出所有学生信息;

5、输入欲修改的那人的名字后,再次进行信息修改;

6、保存此学生信息系统;

2功能设计

画出模块层次结构图

学生信息管理系统

2.1菜单设计

2.2各功能模块的算法设计

增加学生信息模块:

1.1打开文件。

1.2用scanf输入数据,保存再结构数组中。

1.3用fwrite函数将结构体数组读入学生信息文件中,关闭文件。

显示学生信息模块:

1.1只读打开文件

1.2将文件的信息读入结构体数组中;

1.3将结构体的容显示在窗口上。

1.4关闭文件。

查询学生信息模块:

1.1打开文件,读出信息;

1.2输入要查询的学号或;

1.3如有该学号或,打印该学生的信息;

1.4关闭文件。

修改学生信息模块:

1.1打开文件,读出信息;

1.2输入要修改的学生信息的学号。

1.3若有此学号,则重新输入此学生信息。

1.4覆盖原先的信息,读入文件;关闭文件。

删除学生信息模块:

1.1打开文件,读出信息,关闭文件。

1.2选择要单个删除—1.3,选择全部删除—1.5;

1.3打开文件,输入要删除的学号;

1.4若有此学号,覆盖此条信息,已少一次数,读入文件,关闭文件;若无,返回1.3;

1.5打开文件。

将空字符读入文件中,覆盖原先的信息,关闭文件。

3程序代码设计

(-)增加模块

1)函数原形:

voidadd(void)

2)功能:

利用for循环语句和scanf、getchar函数完成对结构数组的输入,再用再用fwrite函数将结构数组读入学生信息表中。

存放n个学生的信息(学号、、、生日、地址、班级)。

3)输入输出:

无。

(二)查询模块

1)函数原形:

voidsearch(void)

2)功能:

打开文件后,根据strcmp函数进行对比,可以进行学号与查询,用fread函数将文件息读到结构体数组中,相同就打印到窗口上。

3)输入输出:

无。

(三)修改模块

1)函数原形:

voidmodi(void)

2)功能:

输入要修改的,用fread函数将文件息读到结构体数组中,根据strcmp函数进行对比,然后根据fwrite函数进行修改覆盖,得到新文件。

3)输入输出:

无。

(四)删除模块

1)函数原形:

voiddel(void)

2)功能:

用fread函数将文件息读到结构体数组中,依次将输入的学号根据strcmp函数进行对比,然后再进行选择性删除。

3)输入输出:

无。

(五)显示模块

1)函数原形:

voidprint(void)

2)功能:

用freed函数打开存储的文件使其显示在屏幕上。

3)输入输出:

无。

(六)源程序代码

*include

*include

*include

voidprint(void);//显示函数

voidadd(void);//增加函数

voidsearch(void);//查找函数

voidmodi(void);//修改函数

voiddel(void);//删除函数

//定义结构体

typedefstructstudent

{

charname[20];

charnum[20];

charban[20];

charbirthday[20];

charphone[20];

charaddress[200];

}STU;

STUstu[2000];

FILE*fp;

//主函数

intmain(void)

{

inti;

do

{

printf("|---------------------------------|\n");

printf("|学生信息管理系统|\n");

printf("|---------------------------------|\n");

printf("|1--增加学生信息|\n");

printf("|2--删除学生信息|\n");

printf("|3--查询学生信息|\n");

printf("|4--显示学生信息|\n");

printf("|5--修改学生信息|\n");

printf("|6--退出|\n");

printf("|---------------------------------|\n");

printf("请选择你的操作:

(1~6)\n");

scanf("%d",&i);

if(i==1)add();

if(i==2)del();

if(i==3)search();

if(i==4)print();

if(i==5)modi();

if(i==6){

printf("您的使用!

\n");

break;

}

}while(i>0&&i<7);

if(i>6||i<1)

printf("你的输入错误\n");

return0;

}

/*增加函数*/

voidadd(void)

{

intm,i;

if((fp=fopen("学生信息表.txt","a+"))==NULL)//为读写打开学生信息表文本文件

{

printf("Cannotopenfilestrikeanykeyexit!

");

getchar();

exit

(1);

}

printf("请输入要添加学生的人数:

");

scanf("%d",&m);

for(i=1;i<=m;i++)

{

printf("请输入:

\n");

scanf("%s",stu[i].name);

printf("请输入学号:

\n");

scanf("%s",stu[i].num);

printf("请输入班级:

\n");

scanf("%s",stu[i].ban);

printf("请输入生日:

\n");

scanf("%s",stu[i].birthday);

printf("请输入:

\n");

scanf("%s",stu[i].phone);

printf("请输入地址:

\n");

scanf("%s",stu[i].address);

fwrite(&stu[i],sizeof(STU),1,fp);//把结构体的数据写入学生信息表中

printf("\n");

}

fclose(fp);//关闭学生信息表文本文件

}

/*显示函数*/

voidprint(void)

{

inti,n;

if((fp=fopen("学生信息表.txt","r"))==NULL)//为输入打开学生信息表文本文件

{

printf("Cannotopenfilestrikeanykeyexit!

");

exit(0);

}

for(i=0;fread(&stu[i],sizeof(STU),1,fp)!

=0;i++);//读出学生信息

n=i;

printf("学号班级生日地址\n");printf("-------------------------------------------------------\n");

for(i=0;i

{

printf("%s\t%s\t%s\t%s\t%s\t%s\n",stu[i].name,stu[i].num,stu[i].ban,stu[i].phone,stu[i].birthday,stu[i].address);

printf("--------------------------------------------------------\n");

}

fclose(fp);//关闭学生信息表文本文件

}

/*查询函数*/

voidsearch(void)

{

inti,n;

charnumber[20],name[20];

if((fp=fopen("学生信息表.txt","r"))==NULL)//为输入打开学生信息表文本文件

{

printf("Cannotopenfilestrikeanykeyexit!

");

exit(0);

}

for(i=0;fread(&stu[i],sizeof(STU),1,fp)!

=0;i++);//读取学生信息表文本文件

n=i;

intxz;

printf("------------------------------------------------\n");

printf("1.学号查询\n");

printf("2.查询\n");

printf("------------------------------------------------\n");

printf("请选择:

\n");

scanf("%d",&xz);

if(xz==1){

printf("\n请输入要查找学生的学号:

");

scanf("%s",number);

for(i=0;i

{

if(strcmp(number,stu[i].num)==0)

{

printf("\n该学生已找到\n");

printf("----------------------------------------\n");

printf(":

%s\n",stu[i].name);

printf("学号:

%s\n",stu[i].num);

printf("班级:

%s\n",stu[i].ban);

printf(":

%s\n",stu[i].phone);

printf("出生日期:

%s\n",stu[i].birthday);

printf("地址:

%s\n",stu[i].address);

break;

}

else

printf("\n没有你要找的学生!

!

!

\n\n");

}

}

else

if(xz=2){

printf("请输入要查询者的:

");

scanf("%s",name);

for(i=0;i

{

if(strcmp(name,stu[i].name)==0)

{

printf("该学生已找到\n");

printf("----------------------------------------\n");

printf(":

%s\n",stu[i].name)

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1