C语言程序设计报告班级学生成绩管理系统

上传人:re****.1 文档编号:431527952 上传时间:2023-01-07 格式:DOC 页数:48 大小:249.53KB
返回 下载 相关 举报
C语言程序设计报告班级学生成绩管理系统_第1页
第1页 / 共48页
C语言程序设计报告班级学生成绩管理系统_第2页
第2页 / 共48页
C语言程序设计报告班级学生成绩管理系统_第3页
第3页 / 共48页
C语言程序设计报告班级学生成绩管理系统_第4页
第4页 / 共48页
C语言程序设计报告班级学生成绩管理系统_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《C语言程序设计报告班级学生成绩管理系统》由会员分享,可在线阅读,更多相关《C语言程序设计报告班级学生成绩管理系统(48页珍藏版)》请在金锄头文库上搜索。

1、 C语言程序设计课程设计报告设计题目:班级学生成绩管理系统专 业: 班 级: 学 号: 姓 名: 指导教师: 时间:2011/06/12目 录一、 课程设计目的和要求3二、 课程设计任务内容4三、 程序流程图16四、 软件使用说明17五、 课程设计心得与体会19一. 课程设计的目的和要求目的:本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计语言(C)课程后进行的一次全面的综合练习。本课程设计的目的和任务:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力

2、5. 提高运用C语言解决实际问题的能力 程序功能和要求:1. 学生记录用结构体2. 学生信息数据用文件保存3. 采用多文件形式组织程序4. 基本功能:1) 增加学生记录2) 文件存储3) 读取文件4) 删除记录 5) 修改记录6) 查询记录 5.程序简洁易懂二课程设计任务和内容代码:#ifndef H_STUDENT_HH#define H_STUDENT_HH#include#include#include#include#define NUM_SUBJECT 5 /科目数#define INITIAL_SIZE 100 /数组初始大小#define INCR_SIZE 50 /数组每次增加

3、的大小struct student_infochar number15; /学号char name20; /姓名char gender4; /性别float scoreNUM_SUBJECT; /某学生的各科成绩float sum; /总分float average; /平均分int index; /名次;typedef struct student_info StuInfo;extern int numStus; /记录的学生数extern StuInfo* records; /记录学生信息的数组extern char savedTag; /信息是否保存extern int arraySiz

4、e; /数组大小extern char* subject;void handle_menu(void);int menu_select(void);void addRecord(void);void modifyRecord(void);void display(void);void queryInfo(void);void removeRecord(void);int saveRecords(void);int loadRecords(void);void quit(void);void showTable(void);int findRecord(char* target,int targ

5、etType,int from);void copyRecord(StuInfo* src,StuInfo* dest);void sortInfo(void);int findRecord(char* target,int targetType,int from);int getIndex(float);#endif / H_STUDENT_HH#include student.h/*输出表头*void showTable(void)int j;printf(学号t姓名t性别);for(j=0;jNUM_SUBJECT;j+)printf( %s ,subjectj);printf( 总分

6、平均分 名次n);/*显示所有学生信息函数*void display(void)int i,j;if(numStus=0)printf(没有可供显示的记录!);return;showTable();for(i=0;inumStus;i+)printf(%4st%3st%3s,recordsi.number,recordsi.name,recordsi.gender);for(j=0;j= arraySize)records=realloc(records,(arraySize+INCR_SIZE)*sizeof(StuInfo);if(records=NULL)printf(memory fa

7、lled!);exit(-1);arraySize=arraySize+INCR_SIZE;printf(请输入学号:);gets(recordsnumStus.number);printf(请输入姓名:);gets(recordsnumStus.name);printf(请输入性别(0为女,1为男):);gets(str);if(str0=0)strcpy(recordsnumStus.gender,女);elsestrcpy(recordsnumStus.gender,男);sum=0;for(j=0;jNUM_SUBJECT;j+)printf(请输入%s成绩:,subjectj);ge

8、ts(str);mark=(float)atof(str);recordsnumStus.scorej=mark;sum+=mark;recordsnumStus.sum=sum;recordsnumStus.average=sum/NUM_SUBJECT;recordsnumStus.index=getIndex(sum);numStus+;printf(现在一共有%d条信息n,numStus);savedTag=1;/*找出总分为sum在第0至numStus-1个记录中按升序排序的位置*int getIndex(float sum)int i;int count=0;for(i=0;inu

9、mStus;i+)if(recordsi.sumsum)count+;return count+1;#include student.h/*文件存储操作函数*int saveRecords(void)FILE *fp;char fname30;if(numStus=0)printf(没有记录可存!);return -1;printf(请输入要存入的文件名(直接回车选择文件stu_info):);gets(fname);if(strlen(fname)=0)strcpy(fname,stu_info);if(fp=fopen(fname,wb)=NULL)printf(不能存入文件!n);return -1;printf(n存文件.n);fwrite(records,sizeof(StuInfo)*numStus,1,fp);fclose(fp);printf(%d条记录已经存入文件,请继续操作。n,numStus);savedTag=0;return 0;/*文件读取操作函数*int loadRecords(void)FILE *fp;char fname30;char str5;if(numStus!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号