C语言程序设计上机题目

  |  

文章导航

大一下C语言程序设计上机题目,原报告找不到了

· 综合实验7 删除某一个学生的信息

假定程序中已经有三个学生信息了,现在需要删除一个已有学生信息。

要求:

1)必须用数组来存储学生信息,包括学号,班级,姓名,三门课程的成绩;

2)学生在数组中必须是排序的(按照实验5那样进行排序,班级从小到大,同一班级内总成绩从大到小);

3)删除某一个学生信息,数组必须依然保持有序。

注:程序只需要输入一个待删除学生的学号或者姓名,如果该学生不存在,则输出原有三个学生信息即可。已有的三个学生的信息可以在数组初始化时静态赋值,也可以用语句来进行动态赋值。要求这三个学生的信息必须是:

1001 11 Zhang 99.5 88.5 89.5

1002 12 Yang 77.9 56.5 87.5

1003 11 Liang 92.5 99.0 60.5

输入:学号或者姓名

输出:剩余学生的信息,格式如下(中间用空格隔开,每个学生一行)

学号1 班级1 姓名1 成绩1 成绩2 成绩3

学号2 班级2 姓名2 成绩1 成绩2 成绩3

例如删除的是学号为1001的同学,则程序的输出应为:

1003 11 Liang 92.5 99.0 60.5 1002 12 Yang 77.9 56.5 87.5

· 综合实验8 修改某一个学生的信息

假定程序中已经有三个学生信息了,现在需要修改一个已有学生信息。

要求:

1)必须用数组来存储学生信息,包括学号,班级,姓名,三门课程的成绩;

2)学生在数组中必须是排序的(按照上周第五个作业那样进行排序,班级从小到大,同一班级内总成绩从大到小);

3)修改某一个学生信息,数组必须依然保持有序。输出也必须排序

注:程序只需要输入一个待修改学生的全部信息。通过学号寻找学生,找到则修改;若没有找到相关学生,则不予修改,直接输出原有学生信息即可。已有的三个学生的信息可以在数组初始化时静态赋值,也可以用语句来进行动态赋值。要求这三个学生的信息必须是:

1001 11 Zhang 99.5 88.5 89.5

1002 12 Yang 77.9 56.5 87.5

1003 11 Liang 92.5 99.0 60.5

输入(中间用空格隔开):学号1 班级1 姓名1 成绩1 成绩2 成绩3

输出:更新后的学生的信息,格式如下(中间用空格隔开,每个学生一行)

学号1 班级1 姓名1 成绩1 成绩2 成绩3

学号2 班级2 姓名2 成绩1 成绩2 成绩3

学号3 班级3 姓名3 成绩1 成绩2 成绩3

如将学号为1001的同学成绩修改为 55.0 56.0 57.0 则输出应是:

1003 11 Liang 92.5 99.0 60.5 1001 11 Zhang 55.0 56.0 57.0 1002 12 Yang 77.9 56.5 87.5

· 综合实验9 加入查询功能

用户从键盘输入查询要求,在学生信息中查找满足要求的学生,并按班级从小到大,同班级按总成绩从大到小排序显示出来。要求输入,查找过程,排序和输出必须用函数来实现(即加上main函数,程序有5个函数)。因此,学生信息可以考虑两种实现方式:1)用全局量来表示;2)在main函数中定义为局部量,然后以地址传递方式传递给各个子函数。

学生信息如下:

1001 11 Zhang 99.5 88.5 89.5

1002 12 Yang 77.9 56.5 87.5

1003 11 Liang 92.5 99.0 60.5

1004 11 Cai 89.6 56.9 90.5

1005 14 Fu 55.6 67.9 98.9

1006 12 Mao 22.1 45.9 99.2

1007 13 Zhan 35.6 67.9 88.0

用户可以输入的查询格式如下:

1 11 表示查询11班的所有学生;

2 1001-1004 表示查询学号在1001到1004之间的所有学生(包括1001和1004)

3 Zh* 表示查询名字以Zh两个字母开头的所有学生

4 98.0 表示查询总分大于等于98.0的学生

注意:上述输入中前面的数字必须输入,表示查询的类别,数字和后面的内容之间用空格隔开。

输出:查询到学生的信息,格式如下(中间用空格隔开,每个学生一行)

学号1 班级1 姓名1 成绩1 成绩2 成绩3

学号2 班级2 姓名2 成绩1 成绩2 成绩3

学号3 班级3 姓名3 成绩1 成绩2 成绩3

如输入的是 1 12

则输出应是:

1002 12 Yang 77.9 56.5 87.5 1006 12 Mao 22.1 45.9 99.2

· 综合实验10 对已有的学生信息按照姓名先后顺序输出结果,要求用指针实现

编写函数 sort 实现按照姓名的排序,在 main 函数中调用 sort 函数,按照姓名先后输出学生的各项信息。

要求:

1 ) sort 函数自行定义,要求用指针作为参数。

2 )三个学生的信息在程序中直接赋值。三个学生的信息如下:

1001,11,zhang,99.5,88.5,89.5,277.5

1002,22,li,77.9,56.5,87.5,221.9

1003,11,wang,92.5,99.0,60.5,252.0

程序运行结果如下:

1002,22,li,77.9,56.5,87.5,221.9

1003,11,wang,92.5,99.0,60.5,252.0

1001,11,zhang,99.5,88.5,89.5,277.5

(注意:输出学生信息用逗号分隔,换行输出)

· 综合实验11 完整的学籍管理程序

这将是你在本学期学习完程序设计基础课程后的一次大练兵,希望能用所学的知识和前面积累的程序经验实现一个较为完整的系统,尽量全部使用到函数、数组、指针和结构体。为了体现你的学习成果,请用学号命名你的第一版学籍管理系统,比如 2120504001.cpp ,预祝成功!

重要提示:从提交作业情况来看,格式上要注意:1)注意检查各个单词的拼写,大小写等情况;2)输入时,Id中I是i的大写,并且Id,class等之后没有回车换行;3)continue?之后必须加换行。

为了方便大家调试,下面给出测试用例的输入和输出

一 输入

1 1001 11 zhang 99.5 88.5 89.5 yes 1002 22 li 77.9 56.5 87.5 yes 1003 11 wang 92.5 99.0 60.5 no 2 1002 no 3 1001 yes 11 no 4 5 6

二 输出

1.input 2.delete 3.select 4.order 5.output 6.quit please input your option Id class name score1 score2 score3 continue? Id class name score1 score2 score3 continue? Id class name score1 score2 score3 continue? 1.input 2.delete 3.select 4.order 5.output 6.quit please input your option 1001,11,zhang,99.5,88.5,89.5,277.5 1003,11,wang,92.5,99.0,60.5,252.0 continue? 1.input 2.delete 3.select 4.order 5.output 6.quit please input your option 1001,11,zhang,99.5,88.5,89.5,277.5 continue? 1001,11,zhang,99.5,88.5,89.5,277.5 1003,11,wang,92.5,99.0,60.5,252.0 continue? 1.input 2.delete 3.select 4.order 5.output 6.quit please input your option 1001,11,zhang,99.5,88.5,89.5,277.5 1003,11,wang,92.5,99.0,60.5,252.0 1.input 2.delete 3.select 4.order 5.output 6.quit please input your option 1001,11,zhang,99.5,88.5,89.5,277.5 1003,11,wang,92.5,99.0,60.5,252.0 1.input 2.delete 3.select 4.order 5.output 6.quit please input your option

--------------------------------------------------------------------------------

要求程序能实现以下基本功能:

1 .提供基本的菜单选项,能根据不同的选项执行不同操作;

\2. 对学生信息进行录入,删除、查询等操作;

3 .对学生信息进行统计、排序等操作。

程序运行结果如下:

(注意:括号内为程序说明,运行时不显示, 下划线部分为输入部分 。学生信息包括学号、班级、姓名和三门课成绩,数据类型和要求同前,基本的三个学生信息同前。输入输出全部采用小写和英文标点 。下面是运行结果的示例,运行结果视具体操作而变 )

(首先输出菜单选项)

1.input

2.delete

3.select

4.order

5.output

6.quit

please input your option

(提示用户选择操作,根据用户的选择执行不同的功能,如果用户选择 1 ,则完成学生信息的录入)

1

Id 1001 (输入和输出之间用一个空格)

class 11

name zhang

score1 99.5

score2 88.5

score3 89.5

continue? (询问用户是否继续输入操作)

yes (用户选择继续输入)

Id 1002 (输入和输出之间用一个空格)

class 22

name li

score1 77.9

score2 56.5

score3 87.5

continue? (询问用户是否继续输入操作)

yes (用户选择继续输入)

Id 1003 (输入和输出之间用一个空格)

class 11

name wang

score1 92.5

score2 99.0

score3 60.5

continue? (询问用户是否继续输入操作)

no (用户不再继续输入后显示主菜单选项,供用户选择其他操作)

1.input

2.delete

3.select

4.order

5.output

6.quit

please input your option

(提示用户选择操作,根据用户的选择执行不同的功能,如果用户选择 2 ,则完成学生信息的删除,要求输入待删除学生的学号或者姓名,如果该学生不存在,则输出原有学生的信息;如果指定删除的学生存在,则删除该学生的信息后,输出其余学生信息;允许用户可以删除多个学生信息,但至少保留一个学生信息)

2

1002 或 li

1001,11,zhang,99.5,88.5,89.5,277.5

1003,11,wang,92.5,99.0,60.5,252.0

continue? (询问用户是否继续输入操作)

no (用户不再继续输入后显示主菜单选项,供用户选择其他操作)

1.input

2.delete

3.select

4.order

5.output

6.quit

please input your option

(提示用户选择操作,根据用户的选择执行不同的功能,如果用户选择 3 ,则完成学生信息的选择,要求输入待选择学生的学号或班级,如果该学生存在,则输出该学生的信息;若学生不存在,则提示用户“ there is no eligible student ”,输出主菜单供用户继续选择;如果有重名的学生或者一个班级有多名同学,则输出全部符合条件的学生信息。)

3

1001

1001,11,zhang,99.5,88.5,89.5,277.5

continue?

yes

11

1001,11,zhang,99.5,88.5,89.5,277.5

1003,11,wang,92.5,99.0,60.5,252.0

continue? (询问用户是否继续输入操作)

no (用户不再继续输入后显示主菜单选项,供用户选择其他操作)

1.input

2.delete

3.select

4.order

5.output

6.quit

please input your option

(提示用户选择操作,根据用户的选择执行不同的功能,如果用户选择 4 ,则完成学生信息的排序,要求实现班级和学生总成绩的双重排序,即班级按照从小到大,同一班级内部按照学生总成绩从大到小。注意下面前提是有三条学生信息)

4

1001,11,zhang,99.5,88.5,89.5,277.5

1003,11,wang,92.5,99.0,60.5,252.0

(排序后输出主菜单,允许用户继续选择)

1.input

2.delete

3.select

4.order

5.output

6.quit

please input your option

(提示用户选择操作,根据用户的选择执行不同的功能,如果用户选择 5 ,则输出当前学生的信息。如果之前排序了就输出排序后的结果,否则原样输出。)

5

1001,11,zhang,99.5,88.5,89.5,277.5

1003,11,wang,92.5,99.0,60.5,252.0

(输出主菜单,允许用户继续选择)

1.input

2.delete

3.select

4.order

5.output

6.quit

please input your option

(提示用户选择操作,根据用户的选择执行不同的功能,如果用户选择 6 ,则退出程序)

6 (退出程序)

· 实验报告提交

注意:实验格式参见讨论区“实验报告模板”,实验报告以学号命名,例如2120504001.doc。

注意:不仅要提交电子版,还要提交纸质打印版。班长收齐后一起交到东2楼236房间即可。注意:最后提交日期另行通知。

实验题目:使用 C 编程实现一个学籍管理系统

(实验内容可以参考如下格式,字体建议采用宋体五号字)

1. 程序设计与分析

(说明:包括程序实现的功能、采用什么数据类型,核心算法等,亦可采用标准的流程图或 N - S 图作为辅助描述)

2. 程序设计中存在的问题和解决思路

(说明:针对编程中出现的主要问题和解决方法简要说明)

3. 实验总结

(说明:通过实验,你有哪些收获?对哪些知识点得到了加强学习,还有哪些需要改进之处等。 )

4. 源代码清单

(说明:请尽量规范代码书写,注意缩进、换行、变量命名等)

本站总访问量 您是第位访客