| 查看: 300 | 回复: 0 | ||
[求助]
关于【学生成绩管理系统】
|
|
关于学生成绩管理,要求写【从文件读取班级信息】部分,要与【将学生信息存储到文件中】相对应,可运行 以下是已有代码 /* DBInfo.h的实现文件 */ #include "DBInfo.h" #include #include #include #include #define MAX_NAME_LENGTH 256 /*分配学生对象*/ Student* createStudent() { Student* pRet = (Student*)malloc(sizeof(Student)); /*分配内存*/ if(pRet != NULL) /*验证是否成功*/ memset(pRet,0,sizeof(Student)); /*初始化*/ return pRet; } /*释放学生对象*/ void freeStudent(Student* pStudent) { if(pStudent !=NULL) { free(pStudent); } } /*创建班级*/ Class* createClass() { Class* pClass = malloc(sizeof(Class)); memset(pClass,0,sizeof(Class)); strcpy(pClass->Name,"default_class" ); return pClass; } /*释放班级*/ void freeClass(Class* pClass) { int iStudent =0; if(pClass==NULL) { return ; } for(iStudent =0;iStudent { Student* pStudent = pClass->Students[iStudent]; if(pStudent) { freeStudent(pStudent); pClass->Students[iStudent] = NULL; } } } /*添加学生到班级*/ void appendStudent(Class* pClass,Student* pStudent) { if(pClass==NULL || pStudent == NULL) return ; pClass->Students[pClass->StudentCount]=pStudent; pClass->StudentCount++; } /*删除学生从班级中*/ void deleteStudent(Class* pClass,int index) { int iStudent; Student* pStudent; if(pClass==NULL)return; if(index<0)return; if(index>pClass->StudentCount-1)return ; pStudent= pClass->Students[index]; pClass->Students[index] = NULL; freeStudent(pStudent); for(iStudent = index;iStudent { pClass->Students[iStudent] = pClass->Students[iStudent+1]; } pClass->Students[pClass->StudentCount-1]=NULL; pClass->StudentCount--; } /*创建班级存储信息*/ Class* createClassFromKb() { char class_name[MAX_NAME_LENGTH]; Class* pNewClass; printf("*********************************\n" ); printf("* please input the class name: *\n" ); printf("*********************************\n" ); memset(class_name,0,256); scanf("%s",class_name); pNewClass = createClass(); strcpy(pNewClass->Name, class_name ); return pNewClass; } /*将学生信息存储到文件中*/ saveStudentToFile(Student* pStudent,FILE* pFile) { fprintf(pFile,"%s\n",pStudent->Name); fprintf(pFile,"%c\n",pStudent->Sex); fprintf(pFile,"%s\n",pStudent->Address); fprintf(pFile,"%s\n",pStudent->PhoneNumber); fprintf(pFile,"%d\n",pStudent->Age); fprintf(pFile,"%f\n",pStudent->height ); } /*保存班级别信息到文件*/ int saveClassToFile(Class* pClass,char* fn) { FILE* pFile; int i; if( (pFile = fopen(fn,"w+" ) )== NULL) { printf("File [%s] open error , please check it",fn); return 0; } fprintf(pFile,"#THIS IS FILE OF XXXX SYSTEM\n" ); fprintf(pFile,"# the fllowing is class info\n" ); fprintf(pFile,"# the student :name sex adress phone age height\n" ); fprintf(pFile,"%s\n",pClass->Name); fprintf(pFile,"%d\n",pClass->StudentCount); for(i=0;i { fprintf(pFile,"#[%i]\n",i+1); saveStudentToFile(pClass->Students,pFile); fprintf(pFile,"#------------------------------------\n" ); } fprintf(pFile,"#END" ); fclose(pFile); return 1; } /*从文件读取班级信息*/ /*全局的班级入口*/ Class* g_Class; [ Last edited by 幽竹的海角 on 2012-6-14 at 14:32 ] |
» 猜你喜欢
博士读完未来一定会好吗
已经有27人回复
投稿精细化工
已经有4人回复
高职单位投计算机相关的北核或SCI四区期刊推荐,求支招!
已经有4人回复
导师想让我从独立一作变成了共一第一
已经有9人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
找到一些相关的精华帖子,希望有用哦~
关于现在,关于未来,关于你。
已经有61人回复
关于有关物质的问题
已经有12人回复
求助有关Matlab有约束非线性最优化问题
已经有9人回复
求助关于1stopt的问题
已经有6人回复
【求助】关于BET表征
已经有13人回复
科研从小木虫开始,人人为我,我为人人












回复此楼
点击这里搜索更多相关资源