班级成绩管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉轻工大学

数计学院

C语言课程设计报告

班级:计算机类1307班

学号: **********

姓名:**

指导教师:***

日期:2014年6月18日

一、实验目的

1.在编辑应用程序过程中,逐步加深对C语言编程的理解;

2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固;

3.培养初步编程的能力,为以后的学习奠定基础。

二、实验内容

运用所学的C语言知识编辑应用程序:班级成绩管理系统以及运动的时钟

三.系统软件环境:

本程序主要运行在: Visual C++ 6.0

Turbo C/C++ 3.0

四.课程设计题目:

1.必做题:班级成绩管理系统

对一个有N个学生的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存、查询等操作的管理。功能要求:

(1)本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。

(2)本系统显示这样的菜单:请选择系统功能项:

a、成绩录入

b、成绩显示

c、成绩保存

d、成绩排序

e、成绩修改(要求先输入密码)

f、成绩统计

1)显示每门课程成绩最高的学生的基本信息。

2)显示每门课程的平均成绩,柱状图显示。

3)显示超过某门课程平均成绩的学生人数。

4)显示某门课程每个分数段区间的人数,用饼状图显示。

g、退出系统

(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生成绩保存到文件中。

五.数据结构设计描述:

(一)班级成绩管理系统

六.源程序

(一)班级成绩管理系统

#include

#include

#include

#include

#include

#define _COURSES 3//定义科目数

#define _LEN sizeof(student)//定义结构体大小

//枚举返回值情况

enum status

{

OVERFLOW = -1, //内存(溢出)问题

DONE = 0, //成功

NOFOUND = 1, //不存在

OPENFAIL = 2, //打开(文件)失败

BACK = 3 //返回

};

//end

//定义学生信息结构体

typedefstructStudentInfo

{

//数据域

unsigned intnum;//学号

char name[11];//姓名

float scores[_COURSES];//各科成绩

//指针域

structStudentInfo *next;//存放下一节点的地址}student;

//end

student *head=NULL;//声明链表头结点

student *curr=NULL;//声明指向当前节点的指针int total = 0;//声明当前节点个数

intinit();//初始化链表

intadd_stu();//添加新节点

intshow_all();//显示所有学生信息

intfind_stu();//查找指定信息节点

intmodify_stu();//修改指定信息节点

intremove_stu();//删除指定信息节点

intsort_list();//对链表排序

intsave_to_file();//将所有信息保存至文件intread_from_file();//从文件中读取信息

int picture();//画分布图

int quit();//释放所有节点空间

int entering(student *input);//录入学生信息

void menu();

void show_stu(student *show, int serial);//显示指定学生信息

void start();//程序开始界面

void change(student *former, student *latter, student *temp);//交换两个节点的数据域void main(){

int h,flag1,flag2;

char name[20]="hyw",password[10]="hyw";

char person[20],password1[10];

printf ("\t\t ******** 欢迎进入学生成绩管理系统!********\n\n");

printf ("\t\t\t 用户登录\n\n");

for(h=0;h!=5;)

{

printf("\t\t\t\t 用户名:");

gets(person);

flag1=strcmp(person,name);

printf("\t\t\t\t 密码:");

gets(password1);

flag2=strcmp(password,password1);

if(flag1==0 && flag2==0)

{

printf("\t\t\t\t 登陆成功!\n\n");

menu();

break;

}

else

{

printf ("\t\t\t 用户名或密码错误!\n\n");

printf ("\t\t\t 请注意:您还剩%d次机会!\n\n",4-h);

相关文档
最新文档