首页 > 编程语言 >《C语言程序设计》课程设计实践考核说明

《C语言程序设计》课程设计实践考核说明

时间:2022-12-27 13:55:09浏览次数:65  
标签:10 课程设计 成绩 C语言 信息 滚球 程序设计 学生 输入

《C语言程序设计》课程设计实践考核说明

《C语言程序设计》课程设计实践考核说明

本次设计是为加强学生的《C语言程序设计》课程的实际应用能力而进行的专门训练。选题考虑到学生在本课程中学过的各种知识进行选题,应用所涉及相关知识结构,进行设计。
1、按照书本知识完成所选的课程设计题目
2、调查分析一个具体的或模拟的实例,描述该实例的业务信息和管理工作的要求
3、利用C语言实现功能
4、输入测试数据、展示程序运行结果
5、书写规范的课程设计报告
6、提交课程设计的电子资料和文档

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

实验项目一、学生管理信息系统

1、问题描述
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:
 系统以菜单方式工作
 学生信息录入功能(学生信息用文件保存)---输入
 学生信息浏览功能---输出
 查询、排序功能---算法
 按学号查询、按姓名查询、学生信息的删除与修改(可选项)
2、功能要求
界面比较美观;有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入;最好用链表的方式实现。
3、算法分析
首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。

实验项目二、学生综合测评系统

1、问题描述
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
2、功能要求
界面比较美观;
A、学生信息处理

  1. 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。提示:学生信息可先输入到数组中,排序后可写到文件中。
  2. 插入(修改)同学信息:提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,
  3. 删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
  4. 浏览学生信息:提示:打开文件,显示该文件的学生信息。
    B、学生数据处理:
  5. 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。
  6. 学生测评数据输入并计算综合测评总分及名次。提示:综合测评总分=(考试成绩)0.6+(同学互评分)0.1+品德成绩0.1+任课老师评分0.2。
  7. 学生数据管理;提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件
  8. 学生数据查询:提示:输入学号或其他信息,即读出所有数据信息,并显示出来。
    C、学生综合信息输出
    提示:输出学生信息到屏幕。

实验项目三、学校运动会管理系统

1、问题描述:

  1. 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;
  2. 各项目名次取法有如下几种:
  3. 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;
  4. 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
  5. 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。

实验项目四、教师工作量管理系统

计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)
A、教师信息处理

  1. 输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。
  2. 插入(修改)教师授课教学信息:
  3. 删除教师授课教学信息:
  4. 浏览教师授课教学信息:
    B、教师工作量数据处理:
  5. 计算单个教学任务总课时。计算原则如下表:
    班级数目 单个教学任务总课时
    2 1.5(理论课时+实验课时)
    3 2
    (理论课时+实验课时)

=4 2.5*(理论课时+实验课时)

  1. 计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。
  2. 教师数据查询:提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。
    C、教师综合信息输出
    提示:输出教师信息到屏幕。

实验项目五、编写一万年历系统

1、功能要求: 模仿现实生活中的挂历. 当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几).当系统日期变到下一月时,系统自动翻页到下一月。

实验项目六、一元多项式简单的计算器
1、功能要求:
(1)输入并建立多项式;
(2)输出多项式;
(3)两个多项式相加,建立并输出和多项式;
(4)两个多项式相减,建立并输出差多项式。
(5)算法的时间复杂度、另外可以提出算法的改进方法
实现提示:可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数,如项数等。
2、实验要求:一元多项式简单计算器的基本功能

实验项目七、保龄球计分

1、问题描述:
打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。一局分10 轮,每轮可滚球1 次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后一轮或两轮的滚球情况有关,即:某轮某次滚球击倒的瓶数不仅要计入本轮得分,还可能会计入前一轮或两轮得分。计分规则如下:
① 若某一轮的第一次滚球就击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加2次滚球),该轮得分为本次击倒瓶数10与以后2次滚球所击倒瓶数之和。
② 若某一轮的第一次滚球未击倒全部10个球,则对剩下未击倒的瓶再滚球一次,如果这2次滚球击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加1次滚球),该轮得分为这2次击倒瓶数10与以后1次滚球所击倒瓶数之和。
③ 若某一轮2次滚球未击倒全部10个瓶,则本轮不在滚球,该轮得分为这2次滚球所击倒瓶数之和。
2、实现提示
① 模拟10个人各打一局保龄球比赛过程,统计每局各轮得分和累计总分。
② 逐人逐轮逐次输入一次滚球击倒的瓶数。
③ 对10人的得分由低到高排序并显示。
④ 最后,把排序的存入文件中。

实验项目八、学生成绩统计

1、问题描述
学期考试结束,统计有N个班某班每个人的平均成绩,每门课的平均成绩,并按个人平均成绩从高到低的顺序输出成绩,输出不及格人名单。输入、输出格式自定。
2、实现提示
假设某班有:30人(姓名自定)
考试课程有:高等数学、物理、外语、C语言、德育5门课程。
将所有同学的成绩保留在文件中,对文件中的数据处理,输出所要求的内容,程序的功能主要包括3方面:
① 输入成绩到文件中
② 输出成绩
③ 输出不及格学生名单
④ 成绩排序
⑤ 修改记录
⑥ 删除记录
⑦ 插入记录等
主函数中对3个功能选择(菜单),调用对应的函数完成。

实验项目九、编制一个学生的选课及学籍管理程序

1、问题描述:
现有若干个班级的学生,进行下学期课程的选课,假设已经通过文件储存了选课内容的数据库,数据库中包括7门课(课程内容由学生自己定) 第i门课程的接纳的学生数为10×i,i为课程的序号,如第一门课的接纳的学生数为10×1,第二门课为10×2,...... 依此类推,每门课的学分数分别为1、2、3、4、5、6、7,现要求每一个学生至少选3门课,最多不超过5门。
2、实现提示:

  1. 显示课程内容供学生选择,并能进行选课的操作
  2. 随着学生选课工作的进行,动态更新数据库的内容
  3. 进行学生的最少选课量和最多选课量的控制
  4. 显示所有学生的选课的结果
  5. 把学生所选的课按学分总积分由小到大排列,同样学分按姓名的英文字母排序
  6. 录入学生的各科成绩
  7. 学生的参数有:姓名、学号、性别、总学分、各科成绩,补考情况,请把一门和三门功课不及格的学生的姓名列出,并自动生成补考通知书,通知书中要求有学生的姓名、学号、不及格的科目及补考时间(由编程者自定)

实验项目十、自拟题目

1、要求:功能较多者最多不得超过5人,所设计的内容要与实际相符。

标签:10,课程设计,成绩,C语言,信息,滚球,程序设计,学生,输入
From: https://www.cnblogs.com/codewriter/p/17007937.html

相关文章

  • POSIX 多线程程序设计
     POSIX 多线程程序设计 目录表 ​​摘要​​  ​​译者序​​​Pthreads概述 ​​​什么是线程? ​​​​什么是Pthreads? ​​​​为什么使用Pthreads? ​......
  • 6个变态的C语言Hello World程序 之 雷人的程序语言
    下面的六个程序片段主要完成这些事情:输出Hello,World混乱C语言的源代码下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C++的编译器g++才能编程通过。hello1.......
  • C语言中使用数学函数
    C语言中使用数学函数,例如:exp等1、包含头文件#include<math.h>2、编辑源码testExp.c,例如:#include<stdio.h>#include<math.h>intmain(){doublem=4......
  • C语言备忘知识点
    1.输入输出格式scanf当中若是对双精度的变量赋值是必须是%后跟lf,而printf当中可以用%f也可以用%lf没有限制。printf("%-20.3d",a);//左对齐,宽度为20,保......
  • c: c语言——结构和指针
     c语言——结构和指针    一、基础说明:成员运算符(.)和指针运算符(->) 0、变量的数据类型的说明:指针类型和非指针类型0.1、指针类型的变量:指针类型,......
  • C语言开发环境搭建:VSCode+GCC
    文章目录​​一.VSCode介绍​​​​二.GCC编译器​​​​1.安装​​​​三.VScode中配置GCC​​一.VSCode介绍VSCode(全称:VisualStudioCode)是一款由微软开发且跨平台......
  • C语言冒泡排序代码演示
     //---------冒泡排序 voidbubble_sort(intarr[],intsz) {   //确定冒泡排序的趟数   inti=0;   for(i=0;i<sz-1;i++)   {......
  • C语言 -- 如何传递数组参数
    一、传递普通参数,直接传入即可voidarrprint(intarr){printf("%d\n",arr);}voidmain(){intarr=123;arrprint(arr);printf("aiyou");......
  • C语言 -- CreateProcess创建进程
    wchar_tlp[]=L"/ccalc";PROCESS_INFORMATIONpi={0};STARTUPINFOsi={0};BOOLb=CreateProcess(L"C:\\Windows\\System32\\cmd.exe",l......
  • 【C语言】静态内存开辟₀、动态内存开辟¹、栈、堆。
    ......