C语言数据结构课设学生成绩管理系统

您所在的位置:网站首页 数据结构中学生成绩管理系统 C语言数据结构课设学生成绩管理系统

C语言数据结构课设学生成绩管理系统

2023-09-02 12:19| 来源: 网络整理| 查看: 265

C语言数据结构课设学生成绩管理系统

设计题目:学生成绩管理系统 〔问题描述〕学生成绩管理是学校教务部门日常工作的重要组成部分,其处理信息量很大。本项目是对学生成绩管理的简单模拟,用菜单选择方式完成下列功能:输入输出学生成绩数据;学生成绩查询;添加学生成绩数据;修改学生成绩数据;删除学生成绩数据;按成绩排序等。 〔基本要求〕本项目的实质是完成对学生成绩信息的建立、查找、插入、修改、删除、排序等功能,可以首先定义数据结构(顺序表或者链表),然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。学生的考试成绩必须通过键盘输入,且需对输出进行格式控制。 具体要完成的任务是: A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。 B. 写出规范的课程设计报告书; 代码如下:

#define _CRT_SECURE_NO_WARNINGS #include #include #include //学生结构体 typedef struct Student { long long id;//学号 char name[20];//姓名 char s_class[20];//班级 double java;//Java成绩 double c;//C语言成绩 double web;//web成绩 struct Student *next;//指向下一个节点的指针 }Student,List; int ch; //创建新节点 Student * createStudent(){ Student * newNode=(Student*)malloc(sizeof(Student)); //判断是否申请成功 if(newNode==NULL){ return NULL; } //申请成功 return newNode; } //创建空链表 List* createList(){ List* list=(List*)malloc(sizeof(List)); list->next=NULL; return list; } //判断链表长度 int listLength(List *list){ int i=0; List *n=list; while (n->next!=NULL) { i++; n=n->next; } return i; } void menu(){ printf("**********学生成绩管理系统**********\n"); printf("*\t\t1,查看所有学生\t\t*\n"); printf("*\t\t2,添加学生\t\t*\n"); printf("*\t\t3,删除学生\t\t*\n"); printf("*\t\t4,查找学生\t\t*\n"); printf("*\t\t5,成绩排序\t\t*\n"); printf("*\t\t6,修改学生信息\t\t*\n"); printf("*\t\t0,退出系统\t\t*\n"); printf("----------------------------------\n\n\n"); } //输出表头 void printfBt(){ printf("学号\t姓名\t班级\tjava\t\tc\t\tweb\n"); } //查看所有学生信息 void printfAll(List * list){ Student *temp=list->next; printfBt(); if(temp==NULL){ printf("该链表为空!!!\n"); }else{ while(temp!=NULL){ printf("%lld\t%s\t%s\t%lf\t%lf\t%lf\n",temp->id,temp->name,temp->s_class,temp->java,temp->c,temp->web); temp=temp->next; } } } //按照学号查找 void searchId(List *list,long long id){ Student *temp=list->next; printfBt(); while(temp!=NULL){ if(id==temp->id){ printf("%lld\t%s\t%s\t%lf\t%lf\t%lf\n",temp->id,temp->name,temp->s_class,temp->java,temp->c,temp->web); break; } temp=temp->next; } } //按照姓名查找 void searchName(List *list,char* name){ Student *temp=list->next; printfBt(); while(temp!=NULL){ if(strcmp(name,temp->name)==0){ printf("%lld\t%s\t%s\t%lf\t%lf\t%lf\n",temp->id,temp->name,temp->s_class,temp->java,temp->c,temp->web); } temp=temp->next; } } //查找学生 void searchStudent(List *list){ int type; printf(


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3