资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
学生成绩信息管理系统C语言程序设计项目设计报告项目名称: 学生成绩信息管理系统 2016年 1月 13日1目 录1 项目分析11.1 问题描述11.2 功能需求分析12 系统设计22.1 数据结构设计22.3部分功能设计23 系统实现源程序43.1 主函数设计43.2 添加学生信息53.3 姓名学号查询103.4 成绩查询123.5 删除学生成绩信息133.6 修改学生成绩信息144 功能测试164.1 菜单测试164.2 系统功能测试165 系统设计遇到的问题及解决方法216 项目设计总结2223学生成绩信息管理系统 1 项目分析1.1 问题描述信息储存与查询是计算机处理数据的优势之一,目前,学生信息的管理系统已经完全走进了校园,其中成绩信息的储存是主要部分,本课题使用C语言实现学生成绩的储存,查询,修改,以及删除等操作。程序中涉及到数据块和文件指针的操作,包括结构体数据定义,使用及文件的读写,定位,修改等。1.2 功能需求分析学生成绩信息管理系统的主要功能如下:添加学生信息:录入学生的基本信息,如姓名,学号,成绩。显示所有学生成绩信息:直接显示已经全部录入学生的成绩信息。学号或姓名查询:可以根据学生的姓名和学号直接查询该名学生的成绩。成绩查询:可以根据一个特定的分数来查询学生的信息。删除学生成绩信息:可以直接根据学号确定是否删除对应学生的成绩信息。修改学生成绩信息:直接根据学生学号来修改学生的姓名,学号,成绩。学生成绩信息管理系统添加学生信息显示所有学生成绩信息学号或姓名查询成绩查询删除学生成绩信息修改学生成绩信息重新添加信息继续添加信息图1-1 系统功能模块图2 系统设计2.1 数据结构设计struct stu/定义结构体类型char name10;/姓名char num10;/学号char score10;/成绩if(fp1=fopen(Ca1.txt,w)=NULL)/文件名,使用文件方式printf(信息写入失败);exit(0);char wjm20;/文件名2.2 函数设计表1 函数列表序号函 数 原 型功 能 说 明1void addnew()新增学生姓名,学号,成绩信息2void addold()在原有基础上继续增加其他同学的信息3void printall()显示所有已经存入学生的成绩等信息4void search()根据姓名或者学号查询学生分数5void jgsearch()根据成绩查询对应的同学6void del()删除学生信息7void modify()修改学生信息8system(“cls”);清屏2.3部分功能设计1.删除学生的信息,输入学生的学号进行删除操作,如果没有此人,系统将会提示无此人,如果找到,系统将会确认你是否需要删除,流程图如1-2所示。输出删除成功结束开始输入学号在文件里查找输出文件无此人确认删除输入1输入0是否找到YesNoYes图1-2 删除学生信息流程图2.输入学号进行查询对应同学的成绩,流程图如图1-3所示。YesNo开始输入学号或姓名在文件中查找是否找到输出姓名,学号,成绩结束输出文件无此人记录图1-3 查询功能流程图3 系统实现源程序3.1 主函数设计void main()int x;system(cls);/*清屏*/doprintf(n 欢迎使用学生成绩信息管理系统nnnnn); printf( 1 -添加学生信息nn); printf( 2 -显示所有学生成绩信息nn); printf( 3 -学号或姓名查询nn);printf( 4 -成绩查询nn); printf( 5 -删除学生成绩信息nn);printf( 6 -修改学生成绩信息nn);printf( 0 -退出);printf( 请您选择:);choice:scanf(%d,&x);switch(x)case 1:add();break;case 2:printall();break;case 3:search();break;case 4:jgsearch();break;case 5:del();break;case 6:modify();break;case 0:break;default:printf(n 错误的选择,请重新选择:);goto choice; while(x!=0);system(cls);printf(nn 欢迎再次使用学生成绩管理系统n); 3.2 添加学生信息/*学生成绩信息管理系统*/#include #include #include int c,j,t;struct stu/*定义结构体类型*/ char name10;char num10;char score10;student100,newstudent100;/*添加学生个人信息*/ void addnew()int a,b,k;FILE *fp,*fp1,*fp2; /*FILE类型指针变量的定义形式*/ for(a=0;a200;a+)system(cls);printf( 欢迎使用学生成绩管理系统nnn);printf( 录入学生信息nn);printf(输入学生姓名:);scanf(%s,&studenta.name);printf(输入学生学号:);scanf(%s,&studenta.num);printf(输入学生成绩:);scanf(%s,&studenta.score);printf(输入1继续,0结束n);/*判断输入是否结束*/ scanf(%d,&b);if(b=0)c=a;system(cls);break;if(fp1=fopen(Ca1.txt,w)=NULL)/*文件名,使用文件方式*/ printf(信息写入失败);exit(0);if(fp2=fopen(Ca2.txt,w)=NULL)printf(信息写入失败);exit(0);if(fp=fopen(Ca3.txt,w)=NULL)printf(信息写入失败);exit(0);j=sizeof(struct stu);for(a=0;a=c;a+)if(fwrite(&studenta,j,1,fp)!=1)printf(存入失败!);for(a=0;a=c;a+)if(strcmp(studenta.score,80)=0)fwrite(&studenta,j,1,fp1);elsefwrite(&studenta,j,1,fp2);printf(添加成功!nn);printf(请输入0返回n);scanf(%d,&k);fclose(fp1);fclose(fp2);fclose(fp);if(k=0)system(cls);/*继续添加成员*/void addold()int a,b,k,p,q;char wjm20;FILE *fp;j=sizeof(struct stu);system(cls);printf( 欢迎使用学生成绩信息管理系统nnn);printf( 录入学生信息nn);printf(nn存储文件名有 Ca1.txt Ca2.txt Ca3.txtnn);printf(请输入想继续添加的文件名:);scanf(%s,wjm);for(a=0;a200;a+)printf(输入学生姓名:);scanf(%s,&newstudenta.name);printf(输入学生学号:);scanf(%s,&newstudenta.num);printf(输入学生成绩:);scanf(%s,&newstudenta.score);printf(输入1继续,0结束n);/判断输入是否结束scanf(%d,&b);if(b=0)c=a;system(cls);break;if(fp=fopen(wjm,r)=NULL)printf(文件打开失败!);exit(0);a=0;while(!feof(fp)fread(&studenta,j,1,fp);a+;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号