C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,修改,查询,计算平均成绩和展示。
开发语言:C语言
开发工具:Dev c++
开发者:呵呵up

  1. 创建学生成绩信息


2. 插入学生信息

3. 删除学生成绩信息

4. 显示学生成绩信息

5. 修改学生信息

6. 查询学生成绩信息

7. 计算平均成绩信息

8. 退出程序

代码如下:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct stu
{int num;char name[10];float score;
}STU;
typedef struct node
{STU data;struct node *next;
}Node;
Node *listcreate(Node *head,int people)      //创建链表,创建学生信息
{int i;Node *p=NULL,*q=NULL;p=head;for(i=1;i<=people;i++){printf("\n请输入第%d个学生的信息:\n",i);q=(Node *)malloc(sizeof(Node));printf("请输入学生信息:\n");printf("学号:");scanf("%d",&q->data.num);printf("姓名:");scanf("%s",q->data.name);printf("成绩:");scanf("%f",&q->data.score);q->next=NULL;p->next=q;p=q;}p->next=NULL;return head;
}
Node *listinsert(Node *head,int i)      //插入学生信息
{int j=-1;Node *p=head,*q;q=(Node *)malloc(sizeof(Node));q->next=NULL;printf("请输入学生信息:\n");printf("学号:");scanf("%d",&q->data.num);printf("姓名:");scanf("%s",q->data.name);printf("成绩:");scanf("%f",&q->data.score);while(p!=NULL){j++;if(j==i-1){break;}p=p->next;}q->next=p->next;p->next=q;return head;
}
Node *listreplace(Node *head,int i)    //根据学号修改学生成绩
{Node *p=head->next;while(p!=NULL){if(p->data.num==i){printf("请输入修改后的学生信息:\n");printf("请输入学号:");scanf("%d",&p->data.num);printf("请输入姓名:");scanf("%s",p->data.name);printf("请输入成绩:");scanf("%f",&p->data.score);}p=p->next; }return head;
}
Node *listseek(Node *head,int i)     //根据学号查询某个学生信息
{Node *p=head->next;while(p!=NULL){if(p->data.num==i){printf("查询成功\n");printf("学号为%d的学生信息如下:\n",p->data.num);printf("学号为:%d\n",p->data.num);printf("姓名为:%s\n",p->data.name);printf("成绩为:%.2f\n",p->data.score);}p=p->next;} return head;
}
Node *listaverage(Node *head)   //计算学生的平均成绩信息
{int i;float sum=0,ave;Node *p;p=head->next;for(i=0;p!=NULL;i++){sum+=p->data.score;  p=p->next;}ave=sum/i;printf("学生的平均成绩信息为:%.2f\n",ave);return head;
}
Node *listdelete(Node *head,int i)  //删除学生信息
{int j=-1;Node *p=head,*q;q=(Node *)malloc(sizeof(Node));q->next=NULL;while(p!=NULL){j++;if(j==i-1){break;}p=p->next; }q=p->next;p->next=q->next;free(q);return head;
}
Node *listplay(Node *head)  //显示学生信息
{Node *p;p=head->next;printf("班级学生信息如下:\n");printf("      学号      姓名      成绩\n");while(p!=NULL){printf("%10d%10s%10.2f\n",p->data.num,p->data.name,p->data.score);p=p->next;}
}
void showmenu()         //界面菜单函数
{printf("******欢迎使用学生成绩管理系统******\n");printf("\t1,创建学生信息\n");printf("\t2,插入学生信息\n");printf("\t3,删除学生信息\n");printf("\t4,显示学生信息\n");printf("\t5,修改学生信息\n");printf("\t6,查询学生信息\n");printf("\t7,计算平均成绩信息\n"); printf("\t8,退出程序\n");
}
void main()             //主函数
{Node *head=NULL;int i,stu,pos;head=(Node *)malloc(sizeof(Node));head->next=NULL;while(1){showmenu();printf(" 请输入你的选择:");scanf("%d",&i);switch(i){case 1: printf("请输入班级学生人数:");scanf("%d",&stu);head=listcreate(head,stu);system("cls");showmenu();listplay(head);printf("班级初始化已完成,按任意键继续。。。");getch();system("cls");break;case 2: printf("插入班级前的学生信息:\n");listplay(head);printf("请输入需要插入的位置:\n");scanf("%d",&pos);head=listinsert(head,pos);printf("插入后班级信息:\n");listplay(head);printf("插入已完成,按任意键继续。。。。\n");getch();system("cls"); break;case 3: printf("删除前的学生信息:\n");listplay(head);printf("请输入需要删除的位置:\n");scanf("%d",&pos);head=listdelete(head,pos);printf("删除班级信息:\n");listplay(head);printf("删除已完成,按任意键继续。。。。\n");getch();system("cls"); break;case 4: listplay(head);printf("显示信息如上所示,按任意键继续。。。\n");getch();system("cls");break;case 5: listplay(head);printf("请输入需要修改的学生信息学号:\n");scanf("%d",&pos);head=listreplace(head,pos);printf("修改后班级信息:\n");listplay(head);printf("修改已完成,按任意键继续。。。\n");getch();system("cls");break; case 6: printf("请输入需要查询的学生信息学号:\n");scanf("%d",&pos);head=listseek(head,pos);printf("查询信息已完成,按任意键继续。。。\n");getch();system("cls");break;case 7: head=listaverage(head);printf("计算学生平均成绩信息已完成,按任意键继续。。。\n");getch();system("cls");break;case 8: return;}}
}

c语言成绩管理系统(链表)相关推荐

  1. c语言用链表实现成绩管理系统,C语言写的学生成绩管理系统(链表)

    <C语言写的学生成绩管理系统(链表)>由会员分享,可在线阅读,更多相关<C语言写的学生成绩管理系统(链表)(6页珍藏版)>请在人人文库网上搜索. 1.include#inclu ...

  2. c语言链表按成绩区间查询,C语言写的学生成绩管理系统(链表)

    <C语言写的学生成绩管理系统(链表)>由会员分享,可在线阅读,更多相关<C语言写的学生成绩管理系统(链表)(8页珍藏版)>请在人人文库网上搜索. 1.include#inclu ...

  3. C语言成绩管理系统实例 附源码(一)

    目录 语言:C语言 工具:Dev-C++ CSDN源码下载: 一.引言 二.需求分析 2.1 编写目的 2.2 意义 三.系统设计与分析 3.1 设计方案 3.2 实用结构化程序设计基础 语言:C语言 ...

  4. c语言成绩管理系统不用结构体,不用指针链表和结构体数组怎么编学生成绩管理系统啊...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include struct stu { int num;//学号 char name[10];//姓名 float cj[3];// ...

  5. c语言成绩管理系统完整vc6,学生成绩管理系统源代码

    <学生成绩管理系统源代码>由会员分享,可在线阅读,更多相关<学生成绩管理系统源代码(25页珍藏版)>请在人人文库网上搜索. 1.一.课程设计(论文)题目学生成绩管理系统二.本次 ...

  6. java创建链表成绩管理系统_成绩管理系统 链表版

    1.[代码][C/C++]代码 /********************************************************* *程序描述:学生成绩管理系统 *运行环境:Wind ...

  7. c语言成绩管理系统教程,C语言学生成绩管理系统教程.doc

    C语言学生成绩管理系统教程 实训报告 题 目: 学生成绩管理系统院 系: 专 业: 姓 名: 学 号: 指导教师: 日 期: 目录 TOC \o "1-3" \h \z \u HY ...

  8. c语言成绩管理系统报告书,C语言学生成绩管理系统实验报告

    <C语言学生成绩管理系统实验报告>由会员分享,可在线阅读,更多相关<C语言学生成绩管理系统实验报告(22页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统实验报告实验名称 ...

  9. C语言 网吧管理系统 链表项目设计

    文章目录 C语言 & 网吧管理系统 总起. 功能以及代码排版要求 7. 系统 7.1 主函数设计~ 7.2 开启系统后登录 7.2.1 输入 7.2.2 初始化+导入 7.2.3 遍历链表~ ...

  10. c语言成绩管理系统总结分析报告,c语言下学生成绩管理系统程序设计报告

    <c语言下学生成绩管理系统程序设计报告>由会员分享,可在线阅读,更多相关<c语言下学生成绩管理系统程序设计报告(17页珍藏版)>请在人人文库网上搜索. 1.信息技术学院本科课程 ...

最新文章

  1. Docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket解决方案
  2. spring cloud微服务分布式云架构--hystrix的使用
  3. 为什么当今的企业都需要人工智能战略?
  4. C#根据execl批量修改图片名称
  5. 简易promise的实现(二)
  6. 复制Excel分类汇总结果的三种方法
  7. 成员变量、局部变量、实例变量、静态变量、类变量、常量
  8. mysql的发展进程和特点,试述数据库技术的发展过程。数据库技术发展的特点是什么?...
  9. java 字母金字塔_LeetCode756:金字塔转换矩阵(JAVA题解)
  10. Spring为啥默认把bean设计成单例的
  11. python抓资源_python3 抓取网页资源的 N 种方法
  12. Tomcat日志配置
  13. 如何查看Spark日志与排查报错问题
  14. bilibili弹幕游戏
  15. JVM与Java体系结构
  16. IoT僵尸网络Miori通过ThinkPHP远程代码执行漏洞进行传播
  17. EEG实验中Matlab打标方法及遇见问题
  18. jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...
  19. 基于深度神经网络的高光谱影响分类方法研究---MNF+自动编码器+Softmax (准确率比较低,17年的论文)
  20. android 关机 流程_android系统关机流程分析

热门文章

  1. Oracle实现limit
  2. asp.net中使用FreeTextBox控件
  3. 使用 Chrome 浏览器截取网页长图
  4. PMP通关必备——知识地图全套(附PMBOK第七版)
  5. python 66:re正则表达式5(全- tcy)
  6. 抢占云安全管理高地 启明星辰先发云SOC
  7. [jquery视频教程 初级+高级][25课程]
  8. 学会python可以上天!20行代码获取斗鱼平台房间数据,就是这么牛逼!
  9. 罗技鼠标驱动ghub怎么设置?
  10. stm32 SSI读编码器