学生信息系统 课程设计文档格式.docx

上传人:b****5 文档编号:21204260 上传时间:2023-01-28 格式:DOCX 页数:17 大小:155.72KB
下载 相关 举报
学生信息系统 课程设计文档格式.docx_第1页
第1页 / 共17页
学生信息系统 课程设计文档格式.docx_第2页
第2页 / 共17页
学生信息系统 课程设计文档格式.docx_第3页
第3页 / 共17页
学生信息系统 课程设计文档格式.docx_第4页
第4页 / 共17页
学生信息系统 课程设计文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

学生信息系统 课程设计文档格式.docx

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

学生信息系统 课程设计文档格式.docx

画出模块层次结构图

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.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)输入输出:

无。

(二)查询模块

voidsearch(void)

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

(三)修改模块

voidmodi(void)

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

(四)删除模块

voiddel(void)

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

(五)显示模块

voidprint(void)

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

(六)源程序代码

#include<

stdio.h>

stdlib.h>

string.h>

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"

);

|学生信息管理系统|\n"

|1--增加学生信息|\n"

|2--删除学生信息|\n"

|3--查询学生信息|\n"

|4--显示学生信息|\n"

|5--修改学生信息|\n"

|6--退出|\n"

请选择你的操作:

(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){

谢谢您的使用!

\n"

break;

}

}while(i>

0&

&

i<

7);

if(i>

6||i<

1)

你的输入错误\n"

return0;

}

/*增加函数*/

voidadd(void)

intm,i;

if((fp=fopen("

学生信息表.txt"

"

a+"

))==NULL)//为读写打开学生信息表文本文件

Cannotopenfilestrikeanykeyexit!

"

getchar();

exit

(1);

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

m);

for(i=1;

=m;

i++)

请输入姓名:

%s"

stu[i].name);

请输入学号:

stu[i].num);

请输入班级:

stu[i].ban);

请输入生日:

stu[i].birthday);

请输入电话号码:

stu[i].phone);

请输入地址:

stu[i].address);

fwrite(&

stu[i],sizeof(STU),1,fp);

//把结构体的数据写入学生信息表中

fclose(fp);

//关闭学生信息表文本文件

/*显示函数*/

inti,n;

r"

))==NULL)//为输入打开学生信息表文本文件

exit(0);

for(i=0;

fread(&

stu[i],sizeof(STU),1,fp)!

=0;

i++);

//读出学生信息

n=i;

姓名学号班级电话生日地址\n"

-------------------------------------------------------\n"

n;

%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"

/*查询函数*/

charnumber[20],name[20];

//读取学生信息表文本文件

intxz;

------------------------------------------------\n"

1.学号查询\n"

2.姓名查询\n"

请选择:

\n"

xz);

if(xz==1){

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

"

number);

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

\n该学生已找到\n"

----------------------------------------\n"

姓名:

%s\n"

学号:

班级:

电话:

出生日期:

地址:

else

\n没有你要找的学生!

!

\n\n"

if(xz=2){

请输入要查询者的姓名:

name);

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

该学生已找到\n"

/*修改函数*/

r+"

请输入你要修改的学生的姓名:

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

请重新输入姓名:

请重新输入学号:

请重新输入班级:

请重新输入电话:

请重新输入生日:

请重新输入地址:

w"

))==NULL){}//为输出打开学生信息表文本文件

//覆盖要修改的学生信息

/*删除函数*/

voiddel(void)

charnumber[20],stud[300];

intflag=0,i,k,ch,n,temp;

//读出学生信息

********1.单个删除*****2.全部删除*********\n"

输入你的选择:

ch);

if(ch==1){

loop:

输入要删除学生的学号:

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

flag=1;

k=i;

************是否确定删除?

*************\n"

************1--是**2--否***************\n"

temp);

if(temp==2)

gotoloop;

if(flag==0)

**********列表中无此记录********\n"

for(i=k;

n-1;

strcpy(stu[i].name,stu[i+1].name);

strcpy(stu[i].num,stu[i+1].num);

strcpy(stu[i].ban,stu[i+1].ban);

strcpy(stu[i].birthday,stu[i+1].birthday);

strcpy(stu[i].phone,stu[i+1].phone);

strcpy(stu[i].address,stu[i+1].address);

))==NULL)//为输出打开学生信息表文本文件

n=n-1;

//重新输出已修改的学生信息表

已删除成功\n"

if(ch==2)

************1--是**2--否***************"

if(temp==1);

fputs("

fp);

已全部删除\n"

4.运行结果测试

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

当前位置:首页 > 工作范文 > 行政公文

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

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