学生成绩记录簿设计(2)

2018-12-27 16:37

四、详细设计

该部分主要包括:数据结构设计、函数设计(包括函数原型、算法思想、流程描述)、代码设计及程序运行结果显示。

(一) 学生成绩数据结构设计

#include #include #include int i,j,k,y; FILE *fp; Struct stu {

int no;

char name[30]; float cscore; long a;

};struct stu s[100];

(二) 函数设计

1. 主函数

main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。 2. 其他各功能函数

(1) 学生成绩信息录入函数void input() 算法思想:

①依次录入结构体数组中所包含的各个成员;

②直到输入的结构体成员中信息全部为0,数据输入结束; ③返回实际录入的学生成绩信息数。

(2) 将学生成绩信息输出为void output() 算法思想:

①定义结构体变量的指针变量;

②输出所输入的全部信息,若不能输出信息给出提示信息; ③将文件中的信息依次读出,最后结构体的指针为NULL。

(3)从文件中修改学生成绩信息void modify() 算法思想:

①定义指向结构体变量的指针和指向文件的指针; ②修改方式分为两种(学号和姓名),选择是给出相应的信息; ③将修改后的信息保存,并提示。

3. 流程描述 (1)菜单函数

6

int fun() { }

int n;

system(\

printf(\ 成绩记录薄\printf(\for(i=0;i<33;i++) printf(\printf(\

printf(\ ************菜单*************\\n\printf(\、创建学生的信息! \\t*\\n\printf(\、输出所有学生的信息! \\t*\\n\printf(\、修改成绩! \\t*\\n\printf(\、查询! \\t*\\n\printf(\、显示成绩分段的学生信息!\\t*\\n\printf(\、学生成绩排名! \\t*\\n\printf(\、退出成绩记录薄! \\t*\\n\printf(\ for(i=0;i<33;i++) printf(\ printf(\

printf(\请输入选项:\scanf(\return n;

(2) 学生成绩信息录入函数

void input()

{ system(\i=0; fp=fopen(\ printf(\请以0作为输入学生学号信息的结束!\\n\ do { printf(\输入学生的学号:\ scanf(\ printf(\输入学生的姓名:\ scanf(\ printf(\输入学生的C语言成绩:\ scanf(\ printf(\输入添加成绩的时间:\ scanf(\ if(s[i].no!=0)

7

fprintf(fp,\ %-4s %.1f %ld\\n\ }while(s[i].no!=0); fclose(fp); }

void output() //学生全部信息输出 { if((fp=fopen(\ {

printf(\ }

printf(\全部的学生信息:\\n\ k=0;

while(fscanf(fp,\ {

printf(\k++; } fclose(fp); }

(3)学生信息输出函数

void output() { if((fp=fopen(\ {

printf(\ }

printf(\全部的学生信息:\\n\ k=0;

while(fscanf(fp,\ {

printf(\k++; } fclose(fp); }

(4)修改学生信息函数 void modify() { char st[30]; int x,num;

8

float nu; long h; k=0; system(\ if((fp=fopen(\ {

printf(\return; }

while(fscanf(fp,\ { k++; } fclose(fp); printf(\输入1表示用学号修改,输入2表示用姓名修改!请选择:\\n\ scanf(\ if(x==1) { printf(\请输入修改成绩人的学号:\ for(i=0;i

9

if(strcmp(s[i].name,st)==0) { printf(\请输入修改的成绩:\\n\ scanf(\ s[i].cscore=nu; printf(\请输入修改成绩的时间:\\n\ scanf(\ s[i].a=h; fp=fopen(\ for(i=0;i

printf(\没有找到该生的信息!\\n\return; }

(5) 代码设计和执行结果

1. 头文件

Struct stu {

int no;/*学号*/

char name[30]; /*姓名*/ float cscore; /*成绩*/ long a; /*时间*/ };struct stu s[100];

/******以下是函数原型*******/ void input() /*输入记录*/ void output()/*输出记录*/ void modify()/*修改记录*/ 2.源程序代码与运行结果

10


学生成绩记录簿设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2010年职称英语卫生类(A级)试题(京华网校提供)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: