没有合适的资源?快使用搜索试试~ 我知道了~
实训12220191195 李毓琪1
需积分: 0 0 下载量 124 浏览量
2022-08-08
22:52:34
上传
评论
收藏 422KB DOCX 举报
温馨提示
试读
30页
实训12220191195 李毓琪1
资源详情
资源评论
资源推荐
《C 语言程序设计实训 1》报告
设 计 题 目: 基于数组的学生信息管理系统
学 院 名 称: 信息科学技术学院
专 业: 网络工程
班 级: 二班
姓 名: 李毓琪 学 号 2220191195
指 导 教 师: 张海昕
提 交 日 期: 2020 年 7 月 10 日
一、实验内容
编写并调试程序,实现学校各专业班级学生信息的管理。10 个学生的信息存储在文
件 studentInit.dat 中。在头文件 student.h 中定义学生信息的结构体类型,包括:学号、
姓名、专业、班级、3 门成绩;和符号常量 N(学生数)。(同一班级的学生可以属于不
同的专业,同一专业的学生可以属于不同的班级)
二、实验要求
(1) main 函数:以菜单形式将各项功能提供给用户,根据用户的选择,调用相应的函数。
STU student[N]; //保存输入的 N 名学生信息
保存学生信息的文件 studentInit.dat 要事先创建好,不包含在菜单功能中
(2) 定义函数 void Input(STU *p, int n):从文件 studentInit.dat 中输入 N 名学生的信
#define N 10
struct Student{
char num[15];//学号
char name[15];//姓名
char major[10];//专业(computer,software,network)
int classNo;//班级(1-2)
int score[3];//3 门课的成绩(0-2)
};
typedef struct Student STU;
息。(从存储设备到内存)
(3) 定义函数 void Output(STU *p):将 p 所指的某个学生信息表格化屏幕输出。(用于各
个需要输出的函数调用)
(4) 定义函数 STU Fetch(int studentIndex):从文件中读取指定的第 studentIndex 个
(0<= studentIndex <=N-1)学生的信息,并显示。
增加内容:按照学号或者姓名查询学生信息,考虑查询不到的情况
(5) 定义函数 void Search(STU *p, int classNo, char s, int scoreSum):实现班级和
成绩的综合查找(如 1 班,总分>240 的同学)。
查询时:输入班级,分数,高于或低于(>或者<),形式自定>0, <310 显示所有
该班同学信息
(6) 定义函数 int Max(STU *p, int scoreIndex):求所有学生中、下标为 scoreIndex 的
课程分数最高的学生序号(在数组中的下标),学生序号作为返回值。
课程号在程序中数组下标为 012,实际使用中最好用 123,或者高数,英语,物
理,符合日常习惯。如何避免出错!
(7) 定义函数 void Sort_select(STU *p): 对所有学生,按平均成绩由低到高进行简单选
择排序。
(8) 定义函数 void Sort_buble(STU *p, int n); 对某个班级的学生,按平均成绩由高到
低进行起泡排序。并调用 Output 输出(在屏幕上显示)。考虑:怎样把查询到的结
果另存为新的文件?
定义局部变量://存放部分学生的信息
STU stu_class_ave[N]; //按平均成绩排序后的某个班级的学生信息;
int count; //实际元素个数
(9) 定义函数 void Sort_insert(STU *p, int n, char *major):对某个专业的学生,按
某门课程成绩由低到高进行直接插入排序。并调用 Output 输出。
定义局部变量://存放部分学生的信息
STU stu_class_ subject [N]; //按某门课程成绩排序后的某个专业的学生信息;
int count; //实际元素个数
(10)定义函数 void Save(STU *p,int n) :将学生信息存入文件。例如排序后,存为
abc.dat。可以使用 1 号功能打开它。
三、算法流程图
函数 Sort_select 的算法流程图
四、程序清单(关键语句和变量加注释)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>//exit()
#define N 10//定义 N=10 即学生的数量
struct Student{//定义结构体 Student
char num[15];//学号
char name[15];//姓名
char major[10];//专业(computer,software,network)
int Class;//班级(1-2)
int score[3];//3 门课的成绩(0-2)
}student[N],stu[N];
typedef struct Student STU;//定义 STU
void Save(STU *p,int n);//保存信息
void Write(STU *p); //编写 1 名同学信息
void Input(STU *p, int n);//输入信息
void Output(STU *p);//格式化显示同学的信息
STU Fetch(int studentIndex); //查找第 n 名学生的信息
void Search(STU *p,int ClassNo,char s,int scoreSum);//查找
int Max(STU *p, int scoreIndex);//查找最大成绩的学生
void Sort_select(STU *p);//简单排序
void Buble_Sort(STU *p);//起泡法排序
void insert_Sort(STU *p,int n);//直接插入排序
int Judgeread(STU *p);
STU stu_class_subject[N]; //按某门课程成绩排序后的某个专业的学生信息;
int main(){
int choice,i=0,j,n;
while(1){
printf("\n*******************************\n");//美化
printf("\t 主菜单\n");
printf("0.重新输入学生信息到内存中\n");
printf("1.查看现内存的所有信息\n");
printf("2.保存学生信息\n");
printf("3.从文件中读取学生信息\n");
printf("4.从文件中提取第 n 名学生的信息\n");
printf("5.通过指定信息筛选学生\n");
printf("6.查找单科成绩最高的学生序号\n");
printf("7.对所有学生的总成绩进行简单排序\n");
printf("8.对某个班级的学生按总成绩有高到低进行起泡排序\n");
printf("9.对某个专业的学生按某门课程成绩由低到高进行直接插入排序
\n");
剩余29页未读,继续阅读
小崔个人精进录
- 粉丝: 32
- 资源: 316
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SAPIEN PowerShell Studio 2024 v5.8.240 是一款功能强大且全面的集成开发环境(IDE)
- 一份关于vue开发大纲的教程!!!!!!
- Xceed Ultimate Suite 24.1.25154.0957 是一款全面的 .NET 组件和控件集合
- 在树莓派4B上,在ubuntu20.04中设置包含ros节点的文件自启动
- 一段基于汇编语言的计算斐波那契数列的代码
- 在树莓派4B上,在ubuntu20.04中设置包含ros节点的文件自启动
- 英语六级写作万能高分.docx
- 一段基于Object-C语言的计算斐波那契数列的代码
- 一段基于Rust语言的计算斐波那契数列的代码
- 没东西石达开代价大欧文见到就带大家
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0