程序设计基础课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(大作业)报告
课程名称:程序设计基础
设计题目:学生成绩记录薄设计
院系:信息技术学院
班级:
设计者:
学号:
指导教师:
设计时间:2013.7 8.-2013.7.13
信息技术学院
XX学院课程设计(大作业)任务书
学生成绩记录薄设计
一、课程设计目的与要求
1.课程设计目的
(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。
(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。
2. 课程设计要求
设计一个简易学生成绩记录簿设计,其中包括:,学号,C语言成绩;
具体功能:
1.系统以菜单方式工作
2. 创建学生成绩信息并以磁盘文件保存;
3. 读取磁盘文件并显示输出所有学生的成绩;
4. 查询学生成绩
(1)按学号查询成绩
(2)学号XX查询成绩
5.添加成绩记录;
6.修改指定XX或学号的学生的成绩并可存盘;
7.显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。二、总体设计
根据系统的要求,系统总体设计如图1所示。
三、详细设计
1、数据结构设计
#include
#include
#include
#include
int n=4;
struct student
{
int num; /*学号*/
char name[10]; /**/
float score[3]; /*成绩*/
}
2.函数说明
1.主函数
main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。
2.其他部分功能函数包括
(1) 将学生成绩信息保存为文件void save();
算法思想:
①定义指向文件的指针变量;
②输入保存路径及文件名,打开文件,若不能打开文件给出提示信息;
③将存有学生成绩信息的结构体数组信息依次保存到文件中。
(2)学生成绩信息录入函数void input()
算法思想:
①依次录入结构体数组中所包含的各个成员;
②直到输入的结构体成员XX息为4,数据输入结束;
③返回实际录入的学生成绩信息数。
(3)从文件中读出学生成绩信息void output();
算法思想:
①定义指向结构体变量的指针和指向文件的指针;
②输入文件的路径,打开文件,若不能打开文件给出提示信息;
③将文件中的信息依次读出,最后结构体的指针为NULL。
3.函数设计
(1)主菜单函数main()
功能:函数返回值为整数,代表所选的菜单项
int main ()
{
printf(" ********************************************************* \n");
printf(" § §\n");
printf("§<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>§\n");
printf(" §>>欢迎进入学生成绩记录系统<< §\n");
printf(" §>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<< §\n");
printf(" § §\n");
printf("§【1】-------------------------- 创建学生成绩信息§\n");
printf(" § §\n");
printf("§【2】-------------------------- 显示所有学生成绩信息§\n");
printf("§ §\n");
printf("§【3】-------------------------- 添加学生成绩信息§\n");
printf(" § §\n");
printf("§【4】-------------------------- 查询学生成绩信息§\n");
printf(" § §\n");
printf("§【5】-------------------------- 修改学生的信息§\n");
printf(" § §\n");
printf("§【6】-------------------------- 按分数段显示学生的信息§\n");
printf(" § §\n");
printf("§【0】-------------------------- 退出§\n");
printf(" § §\n");
printf(" ********************************************************* \n");
printf(" 请输入相应菜单编号: ");
}
(2)我负责编写的程序
A.添加学生信息
void Addstudent()
{
FILE *fp;
struct student s;
fp=fopen("stu.dat","ab");
if((fp=fopen("stu.dat","ab"))==NULL)
printf("File open error!\n");
else
{
printf("请输入所增加学生的学号c语言成绩:\n");
scanf("%d",&s.num );
scanf("%s",);
scanf("%f",&s.score[0]);
fwrite (&s,sizeof(struct student),1,fp);
fclose(fp);/*关闭文件*/
}
printf("写入成功!\n");
}//end function Addstudent;
B.修改学生成绩
void modify()
{
int number,i;
printf("请输入要修改信息的学生学号:");
scanf("%d",&number);
for(i=0;i if(number==stud[i].num) break;/*查找判断*/ if(i { printf("请输入修改后的学生的信息:"); printf("\n请输入学生的c语言成绩:");