欢迎来到天天文库
浏览记录
ID:9394535
大小:443.00 KB
页数:17页
时间:2018-04-30
《c语言课程设计报告--学生信息管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计报告设计名称学生信息管理系统课程名称高级语言程序设计(C)院(系、部)通信工程学院16一、设计任务学生管理系统具体功能如下。(1)录入学生成绩信息,包括学生学号,姓名,选修课成绩,实验课成绩及必修课成绩。(2)实现查找功能,即输入学生学号能查找出该学生成绩等相关信息。(3)实现删除功能,即输入学生学号能删除该学生成绩等相关信息。(4)实现修改功能,即输入学生学号能修改出该学生成绩等相关信息。(5)实现插入功能,即输入要插入的位置,在该位置后进行插入操作。(6)实现排序功能,即按三门课的总成绩进行由高到低排序。(7)
2、统计学生人数。(8)显示学生信息功能。二、系统设计方案(系统主要模块功能介绍)本实例的实现主要是靠自定义的结构体数组,首先看一下学生成绩录入模块的方法,这里我们每录入一条信息就进行一次磁盘写入,也就是保存。在录入信息是还要核对新输入的学号是否存在,因为我们在实现查找功能的时候使用学号来查找的,所以在录入信息是要避免相同学号。在录入学生信息时若文件中已存在其他信息,这时也会将存在的信息显示在屏幕上,实现这个显示功能是自定义的show()函数,show函数的实现并不复杂,以只读方式打开保存学生信息的文件,将文件按指定格式输出到
3、屏幕上即可。删除学生成绩信息,修改学生成绩信息,插入学生信息,及查询学生信息实现的关键都是要找到该条记录,这里是靠学号来匹配的,只有在找到该条记录的基础上才能实现其他操作。删除操作的关键是先确定要删除的记录的位置,然后将该位置后的记录均向前移一位,实现语句如下:for(j=i;j1;j--)Stu[j+1]=stu[j
4、]三、系统演示如下:菜单界面16输入信息查找信息删除成绩16修改信息插入信息排序16统计人数显示信息四、源程序程序代码及注释#include#include#include#include#include#defineLENsizeof(structstudent)#defineFORMAT"%-10d%-11s%-10.1f%-10.1f%-10.1f%-10.1f"#defineDATAstu[i].num,stu[i].na
5、me,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum16voidin();/*录入学生成绩信息*/voidshow();/*显示学生信息*/voidorder();/*按总分排序*/voiddel();/*删除学生成绩*/voidmodify();/*修改学生成绩*/voidtotal();/*计算总人数*/voidmenu();/*主菜单*/voidinsert();/*插入学生和信息*/voidsearch();/*查找学生信息*/structstudent{intnum;
6、/*学号*/charname[15];/*姓名*/doubleelec;/*选修课*/doubleexpe;/*实验课*/doublerequ;/*必修课*/doublesum;/*总分*/}stu[50];/***录入学生信息***/voidin(){system("color0F");/*显示背景和字体颜色*/system("cls");inti,m=0;/*m是记录的个数*/charch[2];FILE*fp;/*定义文件指针*/if((fp=fopen("data.txt","a+"))==NULL)/*打开指定文
7、件*/{printf("cannotopen");return;}while(!feof(fp)){if(fread(&stu[m],LEN,1,fp)==1)m++;/*统计当前记录条数*/}fclose(fp);if(m==0)printf("Norecord!");else{system("cls");/*使用库函数清屏*/16show();/*调用show函数,显示原有信息*/}if((fp=fopen("data.txt","wb"))==NULL){printf("cannotopen");retu
8、rn;}for(i=0;i9、10、strcmp(ch,"y")==0)/*判断是
9、
10、strcmp(ch,"y")==0)/*判断是
此文档下载收益归作者所有