按学号查找学生信息 用c语言表达,学生信息管理系统C语言编程.docx

学生信息管理系统 C 语言编程

【问题描述】

学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方 面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种 常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构 体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。 【基本要求】

(1)学生信息包括:

学生基本信息文件(student.txt)(注: 该文件不需要编程录入数据,可用文本编辑工具直 接生成)的内容如下:

(2)学生成绩基本信息文件(score.dat)及其内容如下:((注: 该文件内容需要编程录 入数据,具体做法见下面的要求)

学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 (3)需要实现的功能

1)数据录入和计算功能: 对 score.dat 进行数据录入,只录入每个学生的学号、课程编号、 课程名称、学分、平时成绩、实验成绩、卷面成绩共 7 个数据, 综合成绩、实得学分由程 序根据条件自动运算。

综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成 绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+ 实验成绩*15%+卷面成绩*70% 。

实得学分的计算:采用等级学分制,综合成绩在 90-100 之间,应得学分=学分*100%;综合 成绩在 80-90 之间,应得学分=学分*80%;综合成绩在 70-80 之间 ,应得学分=学分*75%; 综合成绩在 60-70 之间,应得学分=学分*60%;综合成绩在 60 以下 ,应得学分=学分*0%。 2)查询功能:分为学生基本情况查询和成绩查询两种

(1)学生基本情况查询:

①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下: ②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。(格式如上所示)

(2)成绩查询:

①、 输入一个学号时,查询出此生的所有课程情况,格式如下:

号:xx

名:xxxxx

课程编号:xxx 课程编号:xxx 课程编号:xxx

课程名称:xxxxx 课程名称:xxxxx 课程名称:xxxxx

综合成绩:xxxx 实得学分: xx 综合成绩:xxxx 实得学分: xx 综合成绩:xxxx 实得学分: xx

… … … … … … … …

共修:xx 科,实得总学分为: xxx

(3)删除功能:

提供待删除学生的学号,则在 student.txt 和 score.dat 中删除所有与该学生有关的信息。 (4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。

【程序设计的具体说明】

(1) 将与两个文件对应的信息分别定义两种结构体类型来表示,也可以用类来定义; (2) 对 score.dat 文件的写入,从键盘上输入的是前七项,后两项数据项根据计算方法算

出后,得到完整的结构体信息,作为一个整体写入(可调用 write 函数)。

删除功能中可以将删除相关信息后得到的文件生成新文件存储,也可以在原文件的基 础上作删除

可以用面向过程方法或是面向对象的方法实现。

主界面提供菜单选择的方法选择实现某一功能,一次运行程序能进行多次选择执行不 同的功能。

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

#define N 3

typedef struct z1

{

char no[11];

char name[15];

int score[N];

float sum;

float average;

int order;

struct z1 *next;

}STUDENT;

STUDENT *init();

STUDENT *create();

STUDENT *del(STUDENT *h);

void print(STUDENT *h);

void search1(STUDENT *h);

void search2(STUDENT *h);

STUDENT *insert(STUDENT *h);

void sort(STUDENT *h);

void save(STUDENT *h);

void tongji(STUDENT *h);

int menu_select();

STUDENT *load();

void inputs(char *prompt,char *s,int count);

STUDENT *load();

main()

{

int i;

STUDENT *head;

head=init();

你可能感兴趣的:(按学号查找学生信息,用c语言表达)