c语言实验报告三--学生成绩管理系统

上传人:油条 文档编号:115910314 上传时间:2019-11-15 格式:DOC 页数:16 大小:187.50KB
返回 下载 相关 举报
c语言实验报告三--学生成绩管理系统_第1页
第1页 / 共16页
c语言实验报告三--学生成绩管理系统_第2页
第2页 / 共16页
c语言实验报告三--学生成绩管理系统_第3页
第3页 / 共16页
c语言实验报告三--学生成绩管理系统_第4页
第4页 / 共16页
c语言实验报告三--学生成绩管理系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《c语言实验报告三--学生成绩管理系统》由会员分享,可在线阅读,更多相关《c语言实验报告三--学生成绩管理系统(16页珍藏版)》请在金锄头文库上搜索。

1、1. 实验内容实现一个学生成绩处理程序,先输入多名学生的学号和成绩,然后进入菜单,可以选择打印,添加,修改,删除或查询成绩(学号查询和成绩段查询)。2. 实验步骤2.1 程序12.1.1 程序功能这是一个学生成绩处理程序,通过用户输入多名学生的学号和成绩,然后进入菜单,可以选择打印,添加,修改,删除或查询成绩(学号查询和成绩段查询)。2.1.2 设计思路将一个大程序分块化处理,各个部分先用普通方法实现,在能运行的条件下改用插入排序和折半查找实现。先实现输入成绩和菜单,再一项一项实现菜单中的功能。2.1.3 流程图或其他描述(不要求可以不写)2.1.4 程序代码(要有注释)/实现一个学生成绩处理

2、程序,可以选择打印、添加、修改、删除或查询成绩(学号和成绩段查询)#include#include#include#include#define N 80typedef struct studentlong num;int score;STU;STU stuN;int n=0;int KEY=0;int k;void Input();void Output();void Add();void Direct();void Delete();void Search();void Sch();void Save();void Read();void main()int chos;system(cls

3、);printf(n);printf(学生成绩管理系统nn);printf(1.录入n2.显示n3.添加n4.修改n);printf(5.删除n6.查找n7.查询n8.退出n);printf(n请选择: );scanf(%d, &chos);switch(chos)case 1:Input(); break;case 2:Output(); break;case 3:Add(); break;case 4:KEY = 1; Search(); break;case 5:Delete(); break;case 6:Search(); break;case 7:Sch(); break;case

4、 8:exit(0); break;default:printf(错误!请按要求输入!);Sleep(2000); main();void Input()int i=-1;system(cls);printf(当输入学号为负时返回!n);doi+;printf(n);printf(请输入第%2d个学生的学号: , i+1);scanf(%ld, &stui.num);if ( stui.num 0 ) break;printf(请输入第%2d个学生的成绩: , i+1);scanf(%d, &stui.score);n+;while(i=0);if ( stui.num 0 ) Save();

5、void Output()system(cls);printf(n);Read();printf(nn任意键返回!);getchar();getchar();main();void Add()int i, j;system(cls);printf(n);printf(请输入需添加学生的学号: );scanf(%8ld, &stuN-1.num);printf(请输入需添加学生的成绩: );scanf(%d, &stuN-1.score);for ( i=0; in; i+ )if ( stuN-1.num i; j- )stuj.num = stuj-1.num;stuj.score = st

6、uj-1.score;stui.num = stuN-1.num;stui.score = stuN-1.score;break;elsestun.num = stuN-1.num;stun.score = stuN-1.score;break;n+;printf(修改后的);Save();void Direct()printf(请输入修改后的成绩: );scanf(%d, &stuk.score);printf(修改后的成绩为:n);printf(t%8ldt%dn, stuk.num, stuk.score);printf(nn);printf(修改后的);Save();void Dele

7、te()int i, del;char key;system(cls);printf(请输入要删除信息的学生学号: );scanf(%ld, &del);getchar();printf(确认删除?(Y/N);scanf(%c, &key);if ( key=y | key=Y )for ( i=0; in; i+ )if ( del = stui.num )stui = stui+1;n -= 1;printf(修改后的);Save();void Search()int i;char key = y;long search;system(cls);if ( KEY=1 ) printf(n请

8、输入要修改成绩学生的学号: );else printf(n请输入要查询成绩学生的学号: );scanf(%ld, &search);for ( i=0; in; i+ )if ( search = stui.num )printf(学生信息为:n);printf(t%ldt%dn, stui.num, stui.score);k = i;if ( KEY = 1 ) Direct();KEY = 0;void Sch()int i, a ,b;system(cls);printf(请输入您要查询的成绩段(A B): );scanf(%d %d, &a, &b);printf(符合条件的学生有:

9、n);for ( i=0; i=a & stui.score=b )printf(t%ldt%dn, stui.num, stui.score);printf(任意键返回!);getchar(); getchar();main();void Save()FILE *fp;if ( (fp=fopen(score.bin, wb) = NULL )printf(Failed to save the data !n);exit(0);fwrite( stu, sizeof(STU), n, fp );fclose(fp);printf(学生成绩已储存在score.bin中!n);printf(nn

10、任意键返回!);getchar(); getchar();main();void Read()FILE *fp;int i, total;printf(学生信息:n);if ( (fp=fopen(score.bin, rb) = NULL )printf(Failed to read the data !n);exit(0);for ( i=0; !feof(fp) ; i+ )fread( &stui, sizeof(STU), 1, fp );fclose(fp);total = i-1;for ( i=0; itotal; i+ )printf(t%ldt%dn, stui.num, stui.score);printf(nn任意键返回!);getchar();getchar();main();2.1.5 运行结果3实验体会3.1 调试中出现的问题及解决过程在程序中运用数组时还是不够熟练,调试时总出现指代不明或无法显示所要内容的情况,在认真看老师课上例子后找出错误所在,修改后运行成功。3.2 心得体会3.3 实验改进建议 在查询某个学生成绩,可实现查询第n-m名学生成绩,查询分数在n-m之间的学生成绩,查询平均成绩;学生成绩修改(增加、删除、修改)等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号