c语言实验报告(学生学籍管理系统)

(20页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

14.90 积分

实实 验验 报报 告告学学 生生 学学 籍籍 管管 理理 系系 统统专业:专业: 信息管理与信息管理与信息系统信息系统 班级:班级: 学号:学号: 姓名:姓名: 学生学籍管学生学籍管理系统理系统一、实验要求:一、实验要求: 一个班级有若干名学生(不超过 10名) ,共有三门课程,分别是语文、数 学、英语,要求编写一个成绩的管理系统,每个学生要求有学号、姓名、性别、 三门课的成绩以及平均成绩,要实现从键盘上输入学号(必须为数字) 、姓名、 性别、三门课程的成绩,并求每一位学生的平均成绩(即每一行的平均值) 、每 一位学生的最高分(每一行的最大值) ,求每一门课程的平均分(即每一列的平 均值) 、每一门课的最高分(即每一列的最大值) ,并输出全部结果。根据学生 的平均成绩进行排序,对语文、数学、英语成绩进行排序,并输出排序结果, 排序必须使用冒泡排序法。并且具有如下的菜单: 学生学籍管理系统 ***********************MENU*********************** 1、Enter new data 2、Browse all3、Search by num4、Order by average 5、Exit *************************************************** 用户可以根据菜单来选择操作,菜单的含义如下: 1、Enter new data 输入新数据 2、Browse al 浏览所有数据 3、Search by num 根据学号查询学生信息 4、Order by average 根据平均成绩排序 5、Exit 退出系统实验步骤: 二、实验目的二、实验目的 1、了解和熟悉Visual C++软件编程开发环境 2、熟练掌握结构化程序设计的步骤和模块化设计方法 3、熟练掌握 C语言数据类型,熟记字符型数据和整形数据的定义和使用 4、熟练掌握用while语句、do…while语句和 for 语句实现循环结构程序设计 的方法 5、掌握一维数组、二维数组的定义、赋值和输入输出的方法 6、掌握与数组有关的算法(特别是排序算法,熟练掌握冒泡排序法) 7、熟悉函数的定义、声明方法及全局变量和局部变量的概念与用法,掌握 函数的调用方法 8、掌握结构体类型变量的定义和使用及结构体类型数组的概念和应用 三、实验步骤三、实验步骤 1、分析设计题目: 根据题目要求,可以使用结构体数组来存储学生的信息,包括学号、姓 名、性别、各科成绩、平均成绩五个成员,分别使用字符数组、整型数组、 浮点型变量来表示。在主函数之外,分别编写菜单函数 menu()、输入函数 enter()、浏览函数 browse()、查找函数 search()、排序函数 order()等函数,通 过主函数调用 menu 来实现。2、实验流程图:选择操作选择1输出操作界面选择2选择3选择4选择5否否否否否是是是是是输入数据浏览数据查找学生按学号排序退出系统开始结束3、实验模块: 输入模块、浏览模块、查找模块、排序模块、退出系统4、程序的调试与测试: 所谓程序调试是指对程序的查错与排错。在编写完一个源程序之后,不 要立即进行编译,而应对程序进行全面的人工检查一遍,检查无误后,可以 开始进行程序调试。由编译系统进行检查、发现错误,根据编译系统提示的 错误类型和警告及出现的位置,我们可以定位到错误地点进行修改,然后再 编译,如此反复进行,直至不再出现错误位置,最后才进行程序的连接于运 行。调试完以后,下一步就是对程序进行测试,运行程序,向程序中输入数 据,根据输出结果是否正确(是否符合自己的想法)来判断程序是否正确, 如果不正确或不符合自己的目的,就需要对程序进行修改。然后再调试,再 测试,直至结果无误或符合要求后,测试才算结束,此时,程序才算是满足题目要求的正确程序。 5、运行结果: (1)运行结果界面如下:(2)选择 1 号菜单,输入 10 名同学信息,运行结果如下:(3)选择 2 号菜单,浏览所有信息,运行结果如下:(4)选择 3 号菜单,按学号查找学生信息,例如查找学号为 03 的同德 信息,输入格式如下:(5)查询学号为03 的同学的信息运行结果如下:(6)选择 4 号菜单,进入学生成绩排序功能菜单,运行结果如下:(7)选择 1 号功能菜单,按每位学生的平均成绩从小到大排序,运行结 果如下:(8)选择 2 号功能菜单,按语文成绩从小到大排序,运行结果如下:(9)选择 3 号功能菜单,按数学成绩从小到大排序,运行结果如下:(10)选择 4 号功能菜单,按英语成绩从小到大排序,运行结果如下:(11)选择 5 号功能菜单,返回主菜单,运行结果如下:(12)选择 5 号菜单,退出系统,按任意键结束程序,运行结果如下:四、实验体会四、实验体会 通过完成这个综合的设计实例,从中我熟悉了 Visual C++开发环境,熟练 掌握了在 Visual C++软件环境下编写和调试程序。通过对程序的调试,我从学 到了许多知识,根据编译时系统提供的错误提示,我能很快地找到错误并排除 这些错误,是程序能正确运行。通过这个环节的不断练习,我积累了丰富的经 验,为以后编程和调试程序奠定了基础。通过运行程序,对程序不断改动,仔细观察和分析所出现的情况,锻炼了我对立思考的能力,而且增强了我对 C 语 言应用这门课程的兴趣。 五、源程序五、源程序 #include /*头文件*/ #include #include #define N 100 #define M 3 typedef struct student /*定义学生结构体*/ { char num[11]; char name[20]; char sex[3]; int score[M]; float ave; int Max_course; }STU; STU stu[N],stu_Chinese[N],stu_Math[N],stu_English[N]; int Max[M]; float ave_Chinese; float ave_Math; float ave_English; int n;/*实际存储的学生个数*/ void no_input(int i,int n)/*i 表示第 i个的学生信息,n 表示比较到第 n 个学 生*/ { int j,k,w1; do { w1=0; printf(“NO.:“); scanf(“%s“, for(j=0;stu[i].num[j]!='\0';j++)/*学号输入函数,作了严格规定*/ if(stu[i].num[j]'9')/*判断学号是否为数字*/ { puts(“Input error! Only be made up of (0-9).Please reinput!\n“); w1=1; break; } if(w1!=1) for(k=0;k5) { w1=1; printf(“your choice is not between 1 and 5,Please input again:“); getchar(); } else w1=0; }while(w1==1); switch(m) /*选择功能*/ { case 1:order_ave();break; case 2:order_Chinese();break;case 3:order_Math();break; case 4:order_English();break; case 5:menu();; } printf(“The ordered data is:\n“); browse(); } void order_ave()/*对平均成绩从小到大进行冒泡排序法*/ { int i,j,f; struct student s; system(“CLS“); for(i=0;istu[j].ave) { s=stu[i]; stu[i]=stu[j]; stu[j]=s; } } } puts(“\n-------------------------------------------------------------------“); printf(“每位学生的平均成绩从小到大的排序结果\n“); printf(“ NO : name average \n“); for(i=0;istu_Chinese[j].score[0]) { s=stu_Chinese[i]; stu_Chinese[i]=stu_Chinese[j]; stu_Chinese[j]=s; } } } puts(“\n-------------------------------------------------------------------“); printf(“语文成绩从小到大的排序结果\n“); printf(“ NO : name Chinese \n“); for(i=0;istu_Math[j].score[1]){ s=stu_Math[i]; stu_Math[i]=stu_Math[j]; stu_Math[j]=s; } } } puts(“\n-------------------------------------------------------------------“); printf(“数学成绩从小到大的排序结果\n“); printf(“ NO : name Math \n“); for(i=0;istu_English[j].score[2]) { s=stu_English[i]; stu_English[i]=stu_English[j]; stu_English[j]=s; } } } puts(“\n-------------------------------------------------------------------“);printf(“英语成绩从小到大的排序结果\n“); printf(“ NO : name English \n“); for(i=0;i5)/*对选择的数字作判断*/ { w1=1; printf(“your choice is not between 1 and 5,Please input again:“); //getchar(); } else w1=0; }while(w1==1);switch(n) /*选择功能*/ { case 1:enter();break;/*输入模块*/ case 2:browse();break;/*浏览模块*/ case 3:search();break;/*查找模块*/ case 4:order();break;/*排序模块*/ case 5:exit(0);/*退出模块*/ } } void main() { menu();/*调用主菜单函数*/ } 关 键 词: 语言 实验 报告 学生 学籍 管理 系统

 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

c语言学籍管理实验报告,c语言实验报告(学生学籍管理系统)相关推荐

  1. 虚拟存储页面置换算法c语言,虚拟存储器管理页面置换算法模拟实验.doc

    虚拟存储器管理页面置换算法模拟实验 淮海工学院计算机工程学院 实验报告书 课程名:< 操作系统原理A > 题 目: 虚拟存储器管理 页面置换算法模拟实验 班 级: 软件*** 学 号: 2 ...

  2. 图书管理分类统计c语言,图书管理完整系统(c语言).doc

    图书管理完整系统(c语言) 程序设计方法课程设计 问题提出: 设计一个图书馆的图书管理,具体要求如下: 1.录入新采购的图书信息,做成文件book.in,要求有良好的输入界面: 2.查询各种图书的基本 ...

  3. php简单学生管理系统设计与实现,基于PHP的学生成绩管理系统的设计与实现.doc...

    基于PHP的学生成绩管理系统的设计与实现.doc 基于PHP的学生成绩管理系统的设计与实现 摘 要: 我国高等职业教育迎来了蓬勃发展的新局面,各院校招生规模不断扩大,学校的教学管理负担越来越重.为了提 ...

  4. 毕业论文开题报告---范文---基于Android的学生考勤管理系统的设计与实现

    论文(设计)题目 基于Android的学生考勤管理系统的设计与实现 学生姓名 所在院系 选题的背景.意义及研究现状: 一.选题背景 目前,在多数高校的日常学生考勤中,任课教师或学生干部往往是在考勤结束 ...

  5. 学籍管理系统文件版c语言代码,学籍管理系统_c语言代码

    通过结构体.动态存储函数建立单向链表,结合文件操作函数和指针实现对大量有序同类型数据(学生信息)的处理. #include #include #include #include #define NAM ...

  6. c语言酒店管理系统设计目的,C语言酒店管理系统设计.doc

    <C++程序设计>课程设计报告 <C++程序设计>课程设计报告 班级 计科101班 学号 37 姓名 毛翔 得分 一 目的 加深对C++/C语言知识的理解,扩大相关知识面,培养 ...

  7. 学生成绩管理系统设计报告python_python实现简易版学生成绩管理系统

    300来行python代码实现简易版学生成绩管理系统,供大家参考,具体内容如下 使用链表来实现 class Node(object): def __init__(self, data, pointer ...

  8. JSP学生学籍管理系统设计与实现(源代码+论文+开题报告+外文翻译+答辩PPT)

    cc学院 毕业设计(论文)开题报告 题 目: 基于JSP的学生学籍管理系统 学 科 部: 信工学科部 专 业: 计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 填表日期: 20 年 月 日 ...

  9. c语言程序设计学籍信息,C语言程序设计报告——学生学籍管理(报告).doc

    C语言程序设计报告--学生学籍管理(报告) 软件设计报告 题 目: 学生学籍管理系统 院系名称:专业名称:班 级: 班内序号:学生姓名 :指导教师:时间: 一.课程设计目的 1.通过本课程设计,强化上 ...

  10. 学籍管理c语言程序设计报告,C语言程序设计课程设报告—学籍管理系统.doc

    C语言程序设计课程设报告-学籍管理系统 电子科技大学 C语言课程设计报告 题 目 : 学籍管理系统 院系: 电 子 工 程 学 院 姓名: 石 胡 森 学号: 2013020904005 指导教师:胡 ...

最新文章

  1. SQL Server中的char,nchar,varchar和nvarchar有什么区别?
  2. 皮一皮:时代不同了...
  3. 高斯混合模型 GMM
  4. VTK修炼之道37:图像平滑_高斯滤波器
  5. python form_Python中form的使用
  6. python回溯方法的模板_实例讲解Python基于回溯法子集树模板实现图的遍历功能
  7. python全栈开发下载_python全栈开发神器 - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
  8. xml+css+sql+json+html+js格式化,JavaScript格式化json和xml的方法示例
  9. python 遍历对象_Python遍历对象属性
  10. kindle刷机ttl_#原创新人#艰难的TTL刷机路--新固件斐讯 K1 无线路由刷机教程
  11. android平板怎么快速截屏,平板怎样截图(iPad截屏的3种方式)
  12. 2023年天津仁爱学院专升本动画专业报考专业限制范围目录
  13. 智能电话机器人--基于 UniMRCP 实现讯飞 ASR MRCP Server
  14. 开源免费的私有聊天软件 Akaxin
  15. docker命令--k8s的日志
  16. Python——永久存储:腌制一缸美味的泡菜
  17. storm人偶_STORM TOYS 真人快打系列 MOTARO 茂太郎 可动人偶
  18. 已知三边 求三角形面积
  19. k8s 1.24.0版本使用nfs-provisioner4.0.0动态创建PV
  20. 计算机理论基础知识书面形式,计算机基础知识word.doc

热门文章

  1. Java课程设计和sql数据库_数据库SQLserver+java课程设计
  2. 3D呈现transform-style(CSS3)
  3. opencv之cv::Mat像素遍历
  4. ubuntu之安装sublime text
  5. Vue中路由管理器Vue Router使用介绍(三)
  6. 【spring boot】启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案...
  7. 每天多采一半油!中东联手中国阿里云的研究有望降低国际油价
  8. 负载均衡调度算法追溯
  9. 黄聪:wordpress教程
  10. 从程序设计、tqdm到lambda:python的“奇技淫巧”,让实现效率翻倍【科学计算类】