1、 1系统以菜单方式工作 2. 创建学生成绩信息并以磁盘文件保存; 3. 读取磁盘文件并显示输出所有学生的成绩; 4. 查询学生成绩 (1)按学号查询成绩 (2)学号姓名查询成绩 5添加成绩记录; 6修改指定姓名或学号的学生的成绩并可存盘; 7显示输出60分以下、6079、8089、90分以上各分数段的学生信息。二、详细设计1、数据结构设计#includestdlib.hstring.hwindows.hint n=4;struct student int num; /*学号*/ char name10; /*姓名*/ float score3; /*成绩*/2函数说明1.主函数main()允许
2、用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。2.其他部分功能函数包括(1) 将学生成绩信息保存为文件void save();算法思想:定义指向文件的指针变量;输入保存路径及文件名,打开文件,若不能打开文件给出提示信息;将存有学生成绩信息的结构体数组信息依次保存到文件中。 (2) 学生成绩信息录入函数void input()依次录入结构体数组中所包含的各个成员;直到输入的结构体成员中信息为4,数据输入结束;返回实际录入的学生成绩信息数。(3)从文件中读出学生成绩信息void output();定义指向结构体变量的指针和指向文件的指针;输入文件的路径,打开文件,若不能打开文件
3、给出提示信息;将文件中的信息依次读出,最后结构体的指针为NULL。3函数设计(1)主菜单函数main()功能:函数返回值为整数,代表所选的菜单项 int main () printf( * n); n printf( 欢迎进入学生成绩记录系统【1】- 创建学生成绩信息 【2】- 显示所有学生成绩信息 【3】- 添加学生成绩信息 【4】- 查询学生成绩信息 【5】- 修改学生的信息 【6】- 按分数段显示学生的信息 【0】- 退出 请输入相应菜单编号: (2)我负责编写的程序A.添加学生信息 void Addstudent() FILE *fp; struct student s; fp=fop
4、en(stu.dat,ab if(fp=fopen()=NULL) File open error! else 请输入所增加学生的 学号 姓名 c语言成绩: scanf(%d,&s.num );%s,s.name);%fs.score0); fwrite (&s,sizeof(struct student),1,fp); fclose(fp);/*关闭文件*/ 写入成功!/end function Addstudent;B.修改学生成绩 void modify() int number,i;请输入要修改信息的学生学号: scanf(number); for(i=0;in;i+) if(numb
5、er=studi.num) break;/*查找判断*/ if(in)/*查找判断*/ printf(请输入修改后的学生的信息:n请输入学生的c语言成绩: scanf(studi.score0); save(); else 没找到该学生的信息n system(pauessystem(clsC.查询学生成绩void namecheck(void);void scorecheck(void);void searchmenu() printf( * 欢迎进入学生成绩查询系统 * n* 1-按姓名查询成绩 * n* 2-按学号查询成绩 * n * 3-返回上一层 * n* 4-退出 * n * n i
6、nt m;m); switch(m) case 1: namecheck(); system(PAUSECLS case 2: scorecheck(); case 3: main();break; case 4: exit(0); break;void namecheck() 按照姓名查询请按nn请输入姓名:name);查询结果n学号 姓名 c语言成绩n if(strcpy(studi.name,name) printf(%d %s %.2fn,studi.num,studi.name,studi.score0); void scorecheck() int b;按照学号查询请按nn请输入学
7、号:b); for(i=0; if(studi.num =b) 三、程序清单和执行结果1.头文件 #include/*以下是函数原型*/ void save(void); void input(void); void output(void); void modify(); /*修改信息*/ void searchmenu(void); /*查询信息*/ void namecheck(void); /*按姓名查询*/ void scorecheck(void); /*按学号查询*/ void Addstudent(); /*添加信息*/ void sclsearch(); /*成绩按分数段显示*/2.函数源程序代码与运行结果1函数源程序代码stud100;int i,choose,a,t=0;long int num; void modif
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1