c语言学生证管理系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
红河学院工学院
课
程
设
计
报
告
专业:
年级:
姓名:
成绩:
批改时间:
红河学院工学院编制
说明
1、本报告供学生课程设计时使用。
2、学生应认真阅读课程设计要求。
3、课程设计报告里面的内容要手工填写,以备存档使用(源程序可打印)。
4、课程设计的总评成绩根据课程的性质,按一定比例计入该门课程成绩。
5、课程设计报告中的各模块填写的内容是评分的主要依据,如果不够书写,可以自行添加附页。
6、按规定的时间提交报告给教师评定成绩,由任课教师交到工学院存档。
课程设计目录
课程名称:高级语言程序设计
设计任务
二.设计流程图
根据需求分析,可以把这个系统的设计分为添加、修改、查询、浏览、统计、删除六大模块,其中查询模块可以分为三个子模块,统计模块可以分为三个子模块,子模块下面还有子函数;系统功能模块图如下所示:
1.主函数模块
2.添加模块
3.修改模块
4.浏览模块
开始
(fpr=fopen("StuInfo.txt","r"))==NULL
读取文件
输入学号
根据提示输入新信息
(fpw=fopen("StuInfo.txt","w"))==NULL
保存数据
主菜单
是否存在该学号的记录
否
是
否
是
否
是
5.查询模块
6.统计模块
7.删出模块
三.程序代码
#include
#include
#include
#define N 100
struct Class //班级{
char Cname[20]; //班名char Cno[20]; //班号};
struct Student //学生{
char Sname[20]; //姓名char Sex[10]; //性别
char Sno[20]; //学号
int Age; //年龄
struct Class CInfo; //嵌套结构体,表示班级信息
}StuInfo[N];
void menu(); //主菜单
void add(); //添加模块
void modify(); //修改模块
void Delete(); //删除模块
void browse(); //浏览模块
void quiry(); //查询模块
void stastic(); //统计模块
void bySname(); //按姓名查询,子模块
void bySno(); //按学号查询,子模块
void byCno(); //按班号查询,子模块
void StuMsg(); //返回全体学生统计信息,子模块
void Female(); //女生统计信息,子模块
void Male(); //男生统计信息,子模块
int FemaleNum(); //返回女生人数,子函数
float FemaleMG(); //返回女生平均年龄,子函数
int MaleNum(); //返回男生人数,子函数
float MaleMG(); //返回男生平均年龄,子函数
int StuNum(); //返回全体学生人数,子函数
float MG(); //返回全体学生的平均年龄,子函数
void main()
{
menu();
getchar();
}
void menu() //菜单
{
int chose;
int right;
do
{
system("cls"); //清屏
printf("\n\t\t\t\t学生证管理系统\n");
printf("········································");
printf(" 菜单:\t1-添加\t2-修改\t3-浏览全部\t4-查询\t5-统计\t6-删除\t7-退出\n");
printf("········································");
printf("请输入数字选择:");
scanf("%d",&chose);
if(chose<1||chose>7)
{
printf("输入错误,请重新输入!\n");
right=1;
getchar();
}
else right=0;
}while(right==1);
switch(chose)
{
case 1:add(); break;
case 2:modify(); break;
case 3:browse(); break;
case 4:quiry(); break;
case 5:stastic(); break;
case 6:Delete(); break;
case 7:exit(0);
}
}
void add() //添加学生信息,一次添加一条记录{
int num;
int i;
int age;
char sno[20];
char sex[20];
char cno[20];
int right;
FILE*fp;
if((fp=fopen("StuInfo.txt","r+"))==NULL) //以读写方式打开
{
if((fp=fopen("StuInfo.txt","w"))==NULL) //文件不存在则创建文件{
printf("\n文件不存在且创建失败,返回!\n");
menu();
}
printf("\n请按照提示输入学生信息:\n\n");
printf("姓名:");
scanf("%s",&StuInfo[0].Sname);
do
{
printf("\n性别(男或女):");
scanf("%s",sex);