课程设计报告封面

  • 格式:doc
  • 大小:38.50 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数原型:void queryrecord(void)
功能:查找满足条件的记录。
8.修改指定学生信息的函数
函数原型:void modifyrecord(void)
功能:找到并修改指定学生的信息。
9.排序学生记录函数
函数原型:void sortrecord(void)
功能:对记录进行排序。
10.新建学生记录函数
record[stunum].mc=getmc(sum);
stunum++;
}
printf("现在一共有%d条记录。",stunum);
savedtag=1;
}
int getmc(float sum)
{
int i;
int count=0;
for(i=0;i<stunum;i++)
if(record[i].sum<sum)
sum=0;
for(j=0;j<SUBJECT_NUM;j++)
{
printf("请输入成绩:");
scanf("%f",&record[stunum].score[j]);
sum=sum+record[stunum].score[j];
}
record[stunum].sum=sum;
record[stunum].average=sum/SUBJECT_NUM;
(4)如果已经采取文件追加的方式,在没有保存文件之前,将继续保持文件追加状态,从而实现文件的连续追加;
(5)如果没有记录存在,将给出相关的提示信息。
5.学生记录删除
(1)若没有可以显示的记录,给出相关的提示信息;
(2)可以随时显示内存中的记录;
(3)能够显示表头。
6.学生记录删除
(1)可以按不同的方式将记录删除,比如,可以按“学号”、“姓名”等删除记录,但在彻底删除记录前应允许用户有后悔的机会;
(2)如果已经是空表,删除时应给出提示信息并返回主菜单;
(3)如果没有要删除的信息,给出相关提示;
(4)删除操作仅限于内存,只有执行存记录时,才能覆盖原有记录;
(5)删除记录后应更新其他记录的序号;
(6)更新存储标志。
7.学生记录修改
(1)可以按“学号”、“姓名”等方式修改记录内容,在进行修改之前应先进行确认;
函数原型:void displayrecord(void)
功能:显示内存里的记录信息。
5.增加学生信息的函数
函数原型:void addrecord(void)
功能:增加记录。
6.删除学生信息的函数
函数原型:void removerecord(void)
功能:删除指定的学生记录。
7.查询指定学生信的函数
(3)给出相关的提示信息;
(4)及时更新存储标志。
2.存储学生信息文件
(1)可以将记录存储到指定文件名的文件中存储到默认文件名的文件中;
(2)将存储记录的文件进行存盘,并能根据文件保存是否成功而返回合适的值,以标识文件保存成功或失败;
(3)如果写同名文件将替换原来文件内容。
3.读取学生信息文件
(1)可以按默认文件名或指定文件名将记录文件读入内存;
}
}
void addrecord(void)
{Hale Waihona Puke Baidu
char str[10];
int j;
float sum;
if(stunum==0)
printf("原来没有记录,现在建立新表\n");
else
printf("下面在当前表的末尾增加新的记录\n");
while(1)
{
printf("您要增加新的信息(Y/N)?");
2010年3月3日
课程设计报告正文
一.课程设计的目的和要求:
为了加强对C语言知识的理解与运用,巩固之前所学的C语言知识,
并结合实际运用它开发一个学生成绩管理系统,间接培养学生的动手能力。
二.系统设计要求
1.新建学生信息
(1)用来重新建立学生的信息记录;
(2)若已经有记录存在,可以覆盖原记录或在原记录后面追加新记录,也可以将原有记录信息保存到另一个文件中,然后重新建立记录;
gets(str);
if(str[0]=='n'||str[0]=='N') break;
printf("请输入学号:");
gets(record[stunum].xh);
printf("请输入姓名:");
gets(record[stunum].xm);
printf("请输入性别:");
gets(record[stunum].xb);
课程设计报告
课程:C语言程序设计
学号:20090207037
姓名:李辑
班级:09软件班
教师:廖剑平
邕江大学计算机学院
设计成绩:教师签名:
年月日
邕江大学计算机学院
课程设计(实训)任务书
学生姓名
李辑
班级
09软件班
学号
20090207037
开始日期
2010年4月
完成日期
2010年5月
指导教师填写
设计题目
学生成绩管理系统
2.文件存储操作函数
函数原型:int saverecord(void)
功能:将记录存入默认文件stu_information中或者指定文件中用
3.文件读取操作函数
函数原型:int loadrecord(void)
功能:将默认文件stu_information或指定文件里的记录取入内存。
4.显示学生信息的函数
(2)能根据读取情况返回合适的值,以标识文件读取成功或失败;
(3)可以将指定或默认文件追加到现有记录之后,并能更新记录序号;
(4)及时更新存储标志。
4.学生记录增加
(1)可在已有记录后面追加新的记录;
(2)可以随时增加新的记录,,记录仅保存在结构数组中;
(3)可以将一个文件读入,追加在已有记录之后;
函数原型:void newrecord(void)
功能:新建立新生的信息记录。
11.结束程序运行函数
函数原型:void quit(void)
功能:结束程序的运行。
12.菜单选择函数
函数原型:int menu_select(void)
功能:接受用户选择的命令代码,返回处理不同的菜单函数的整数值代码。
13.菜单处理函数
record[i].mc++;
else if(record[i].sum>sum)
count++;
return count+1;
}
六.总结(实现如何,收获,不足之处,以后怎么样改进)
不足之处:部分语法掌握不是很好;收获:学习C语言我得到很多乐趣,个人思维有逐步的提高
在以后学习或者工作中认真的去对待C语言,继续探索研究软件这方面的问题。
函数原型:void menu_handle(void)
功能:处理选择的命令菜单,转入相关的功能处理函数运行相关功能的处理。
14.主函数
函数原型:void main(void)
功能:控制程序。
5.参考代码(有代表性的代码)
#include "student.h"
void displayrecord(void)
(2)如果是空表,修改时给出提示信息并返回主菜单;
(3)如果没有找到要修改的信息,给出相关提示;
(4)修改记录后应更新记录的序号(如果对记录修改之后,影响记录的存储顺序的话);
(5)更新存储标志。
8.学生记录修改
(1)可以按“学号”、“姓名”等方式对学生记录进行查询;
(2)能给出查询记录的信息;
(3)如果查询的信息不存在,则给出相关提示信息。
研究报告型

开发文档型
开发设计型

任务与要求:
根据《C语言程序设计》所学的知识,开发一个学生成绩管理系统,要求系统具备以下功能:
1.新建学生信息;
2.能对学生信息进行读、写、保存;
3.能对学生信息进行增、删、改;
4.能对学生信息进行各种方式的查询;
5.能对学生信息进行各种方式的排序。
指导教师(签字)廖剑平
(2)要求各文件内实现结构化设计。
(3)每个模块作为一个单独的C文件。
(4)宏和数据结构等均放在头文件中。
4.函数实现
1.头文件student.h
每个学生的资料可以用一个STUDENT结构体变量保存,用STUDENT结构体组全局变量record来保存一批学生的信息。用宏定义INITIAL_SIZE表示数组的初始大小。全局变量stunum表示数组中记录的学生数,arrysize是为数组分配的空间大小。全局变量savedtag是信息是否已被保存的标志。
for(i=0;i<stunum;i++)
{
printf("%s\t%s\t%s",record[i].xh,record[i].xm,record[i].xb);
for(j=0;j<SUBJECT_NUM;j++)
printf("\t%f",record[i].score [j]);
printf("\t%f\t%f\t%d\n",record[i].sum,record[i].average,record[i].mc);
9.学生记录排序
(1)可以按“学号”进行升序或降序排序;
(2)可以按“姓名”进行升序或降序排序;
(3)可以按“名次”进行升序或降序排序;
(4)如果属于选择错误,则立即退出排序;
(5)更新存储标志。
10.头文件
在头文件中应有函数原型的声明、数据结构及包含文件。
3.系统设计
本系统的模块设计要求是:
(1)要求用多文件方式实现设计,以避免因文件过大而带来诸多不便。
{
int i,j;
if(stunum==0)
{
printf("没有可以显示的记录!");
return;
}
printf("学号\t姓名\t性别\t");
for(j=0;j<SUBJECT_NUM;j++)
printf("\t%s",subject[j]);
printf("\t总分\t平均分\t名次\n");