程序设计基础课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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语言成绩:");

相关文档
最新文档