C语言参考选题

C语言参考选题,第1张

必选题参考:

1 功能描述

设某班有n位同学,每位同学的数据包括以下内容:学号(字符串)、姓名(字符串)、数学成绩(整型)、程序设计成绩(整型)。设计程序完成以下五项功能:新建数据档案、添加数据、删除数据、对输入的数据进行排序和查询。注意:输入数据时,要求学号不能相同,姓名可以相同。

2 具体设计要求

(一)程序运行时,首先显示主菜单如下:

1.新建数据

2.添加数据

3.删除数据

4.排序

5.查询

6.退出

屏幕提示:请输入序号选择相应 *** 作。

要求当用户输入任一序号后,程序都能进行相应 *** 作。

(二)在主菜单中选择序号4,d出子菜单选择排序方式,子菜单如下:

1.数学成绩排序

2.程序设计成绩排序

3.总分排序。

4.返回主菜单

请按序号选择相应 *** 作。

选择子菜单的序号后,程序能正确运行并在屏幕上显示按要求排序后的相关信息

(三)在主菜单中选择序号5,d出子菜单选择查询方式,子菜单如下:

1.学号查询

2.姓名查询

3.数学成绩查询

4.程序设计成绩查询

5.总分查询

6.返回主菜单

请按序号选择相应 *** 作。

在子菜单中选择序号后,程序按以下方式工作:

1)学号查询:输入学号后,若该学号存在则显示与其相关的所有信息,否则显示找不到的提示信息;(提示:查询到满足条件的结果后,查询即可结束)

2)姓名查询:输入姓名后,若该姓名存在则显示与其相关的所有信息,否则显示找不到的提示信息;(提示:使用字符串比较函数进行比较)

3)按科目查询:输入指定分数,程序运行后显示该科目中考试成绩大于等于指袜搭定分数的同学的学号、姓名以及该科成绩并统计满足条件的人数;

4)总分查询:输入指定分数,程序运行后显示总分成绩大于等于指定分数的同学的学号、姓名以及各科成绩并统计满足条件的人数。

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

1 题目简述

国际化的社会我们离不开快捷的交通工具,航班信息的保存和管理将变得十分必要。本课题旨在建立一个航班信息管理系统,系统中保存着各航线、航班号、航班日期、机型以及所属公司(国航、南航、美联航、汉莎等)等信息,通过该系统的简单界面可以对文件进行新建、浏览、查找、更新、删除等 *** 作。

2 具体要求

 基本功能

(1)添加记录

先判断链表是否已经存在。若不存在,需首先自动新建一个链表,然后再添加一条或多条通讯记录。

(2)显示记录

显示当前所有记录。

(3)查询记录

按命名查找,并显示该记录。

(4)航班号的排序

按航班号的字母顺序排序,涉及到冒泡等排序算法。

(5)删除记录

实现逐条删除和删除全部记录两种功能。

(6)更新记录

修改已存在记录的信息(提示:需首先判断该记录是否存在)。

(7)按关系类别显示记录

只显示指定航空公司的记录(国航、南航、美联航、汉莎)的记录。

(8)保存记录

存储所有记录到某个文此桐件(.txt)或缺省文件(flight.txt)。

(9)读入记录

从某个文件(.txt)或缺省文件(flight.txt)读入所有记录。首先判断当前是否有记录在进行 *** 作,若有,进行存储或放弃存储,然后释放内存空间,之后才能从文件读入记录。

(10)退出

结束软件 *** 作,释放内存后退出。

 数据录入提示

(1)航线

自己对航线的命名。为了实现排序,可以输入英文或拼音的姓名,便于调用字符串比较等函数进行比较排序。

(2)航班号

每个航空公司的开头字母应该相同

(3)航班日期

输入时要判断一下是否是正确的日期格式。(类似对输入数据的判断可作为扩展,不是必须实现的功能)。

(4)机型

737,747,757,A-380

(5)所属公司

可森好坦以为国航, 南航, 美联航或汉莎的一种,用于进行条件显示,即只显示与航班有某种关系的记录。

 其他实现提示

对于每一项功能,应该对可能出现的异常 *** 作进行处理,如提示重新输入或给出错误提示后成功返回主菜单界面,以免软件运行异常退出。

3 主要数据结构

结构体Air:

包含AirLine, Number, Date, Plane, Company (与航线的关系)以及Air类型的指针(用于链表 *** 作)等成员变量。

4 具体技术

1. 指针、结构体的应用

2. 单向链表的建立,插入,添加及删除等

3. 文件的读写

4. 简单算法:如排序算法等

5 测试要求

1、要求准备至少有10条记录的文件(flight.txt),便于进行上机测试;

2、对空链表、没有记录或没有文件等情况进行处理的验证;文件 *** 作是否正确的验证;对记录进行 *** 作的相关测试等;

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

1 题目背景

理财从记账开始。个人记账系统要求用C语言实现收入、支出信息的记录,包括收入支出行为的时间,涉及的币种、币值,所属的门类,比如收入的父母赞助、学校补助以及个人劳动所得,支出的衣、食、行、娱乐等;而且可以根据所记录的信息进行统计,例如余额、总收入与总支出,月度开销,各项门类的比例等。具体的要求如下。

2 程序功能

本程序利用单链表存储结构完成对个人收支信息的动态管理,要求实现如下的基本功能。

1)菜单 *** 作

在屏幕上显示菜单,通过输入0-X之间的数字调用相应的功能函数。

2)创建链表

即输入收支信息,按照提示信息输入序号、时间、收或支、金额、门类、余额等。注意:申请内存空间,验证输入数据是否符合要求,设置输入结束标志。

3)显示链表

显示当前链表中的所有记录。注意输出格式的直观。

4) 插入记录

插入记录需要输入插入位置和新记录信息。输入某个记录的序号,新结点将插入在这个指定记录之前。

5) 删除记录

删除指定时间或序号的记录。注意删除记录要释放该记录占用的内存空间。

6)查询记录

按序号或门类查找并显示记录。(可扩展为按照多种方式查找)

7)更新记录

修改已存在记录的分量信息。

8) 保存文件

将收支信息保存到指定文件(waccount.txt)中。

9) 读取记录

从指定的文件(raccount.txt)中读入所有记录。

10)排序

根据时间、金额或者门类进行排序。

11)统计

统计各类别的收入或者支出数额,并保存到文件total.txt中。

12)退出

结束软件 *** 作,释放内存后退出。

3 数据结构

将一次收支行为信息作为一个结构体类型的结点,其中至少含有下列类型的信息:序号、时间、大类别(收入或支出)、涉及币种、涉及币值、具体门类、当时余额,以及指向后续结点的指针等。

4 具体技术

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

1 题目背景

某大型运动会需要一个管理系统对所有参与的运动员及其成绩进行统一管理,本题目要求用C语言设计一个运动会管理系统,能够增加、删除运动员和修改运动员成绩,并实现各种统计功能。

2 程序功能

本程序利用单链表存储结构完成对运动员的动态管理,要求实现如下的基本功能。

1)菜单 *** 作

在屏幕上显示菜单,通过输入0-X之间的数字调用相应的功能函数。

2)创建链表

即输入运动员信息,按照提示信息输入运动员编号、姓名、代表团、参加项目等。注意:一个运动员参加多个项目者需要有多条记录。

3) 显示链表

显示当前链表中的所有记录。注意输出格式。

4) 删除记录

删除指定序号的记录。注意同时释放内存空间。

5) 查询运动员项目或成绩

按姓名查找并显示该记录。(可扩展为按照姓名和编号两种方式查找)

6)插入记录

插入记录需要输入插入位置和新记录信息。输入某个记录的运动员编号,新结点将插入在这个指定记录之前。

7)更新记录

如:在已有列表中修改运动员成绩信息。

8) 保存文件

将运动员信息保存到指定文件(Athletes.txt)中。

9) 读取记录

从指定的文件(Athletes.txt)中读入所有记录。

10)计算

每个项目的前8名计算成绩,第一名10分,第二名8分,第三名7分,第四名至第八名分别获得5~1分,计算各代表团积分。

11)统计

生成奖牌榜、总积分榜(以代表团为单位)等,生成某一个项目的参赛人员名单。

12)退出

结束软件 *** 作,释放内存后退出。注意进行退出 *** 作以前需要重新写文件。

3 数据结构

将一个运动员参加一个项目的相关信息当作一个结点,这个结点的类型为结构体,其中至少含有下列类型的信息:编号、运动员编号、姓名、参加项目、所属代表团、项目名次、以及指向后面结点的指针等。

4 功能扩展

一般的实现方法是一个(对、队)运动员每参加一个项目就增加一条记录,鼓励其他实现方式,如每一个运动员对应一条记录,他参加的每一个项目及成绩用其他方法存储。同时鼓励其他创意的和具有实用性的扩展功能。

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

1 功能描述

设计一个公司职工工资管理系统,有新建、显示、插入、删除、查询和计算实发工资、按实发工资排序等功能。

2 具体设计要求

职工信息应包括:职工号、姓名、性别、职称、职务工资、奖金、水电费、保险费、实发工资等,注意:职工号不能重复;实发工资=职务工资+奖金-水电费-保险费。

程序运行后,首先显示主菜单,要求当用户输入任意一个序号后,程序都能进行相应 *** 作。

当选择显示功能时,用户可以选择按某种排序形式显示,如按职工号或姓名的顺序、工资总额的顺序、职务工资或奖金的顺序。

当选择查询功能时,用户可以按某种方式查询,如按职工号或姓名查询、按职称查询等;用户也可以查询某一范围内的数据,如工资总额小于2000元的职工的数据,介于1000~2000元的职工的数据等,根据具体要求列出菜单供用户选择。

当选择修改或删除功能时,可以根据职工号或姓名修改、删除数据,在修改、删除时先要求用户确认,确认后再进行 *** 作。

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

1 功能描述

设计一个图书信息管理系统,使之具有新建图书信息、显示、插入、删除、查询和排序等功能。

2 具体设计要求

图书信息包括:图书编号、书名、作者名、出版单位、出版时间、价格等。

系统以菜单方式工作:

① 图书信息录入(要求图书信息用文件保存)

② 图书信息浏览

③ 插入图书信息

④ 查询(可以有多种查询方式,如按书名查询、按作者名查询、按价格查询等);

⑤ 排序(可以按图书编号排序、按书名排序、按出版时间排序、按价格排序等);

⑥ 修改图书信息

⑦ 删除图书信息

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

职工信息包括职工号、姓名、性别、年龄、学历、职称、工资、住址、电话等(职工号不能重复)。试设计一职工信息管理系统,使之至少能提供以下功能:

 职工信息录入功能(职工信息用文件保存,当系统退出时,要自动保存职工的基本信息;当职工的信息发生变化后,文件中的信息也要动态发生改变。)

 职工信息浏览功能

 查询及排序功能:

 按职工号查询、排序

 按工资查询、排序

 按职称查询、排序……等等

 职工信息删除、修改功能

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

假定民航机场共有n个航班,每个航班有一个航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的乘客订票额。试设计一个民航订票系统,使之能提供下列服务:

 航班信息录入功能(航班信息用文件保存)

 航班信息浏览功能

 查询航线:

 按航班号查询

 按终点站查询……等等

 排序功能

 承办订票和退票业务

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,每周学时,实验学时,学分,开课学期,人数限制,面向专业,面向年级等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一个学生选课系统,使之能提供以下功能:

 课程信息录入功能(课程信息用文件保存)

 课程信息浏览功能

 查询功能:

 按学分查询

 按课程性质查询……等等

 排序功能

 学生基本信息的管理功能

 学生选修课程功能

 具有选择某门课程功能、退选某门课程功能;

 按照课程浏览选课学生名单功能、按照学生姓名和学号查询某人的选修课程情况功能、根据选修课程的选修条件自动排除不满足条件的选修请求功能;

 输出某门选修课的选修名单到文件功能;

 输出某人的选修课情况到文件功能;

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

设计一个小型超市商品销售管理系统,实现功能:根据销售信息(包含:商品编号、销售数量、销售单价、销售日期、销售人员,保存为磁盘文件),实现对商品日常信息的管理。

1、日用商品销售信息输入

运用人机对话方式实现商品的商品编号、销售数量、销售单价、销售日期、销售人员的信息录入,以文件的形式保存其信息

2、商品销售信息查询:

a) 根据商品编号查询所售商品明细(数量,单价,金额)

b) 根据销售日期查询当天所售商品明细(数量,单价,金额)

c) 根据销售人员查询某营业员所售商品明细(数量,单价,金额)

3、商品销售信息统计

a) 日销售额统计(按商品编号,销售人员,全部商品)及总销售额统计

b) 月销售额(按商品编号,销售人员,全部商品)及总销售额统计

c) 月度销售排名(按商品编号,销售人员)

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

必做题:

歌星评分系统

(1)功能描述

12名评委给14名歌星评分。请编写一程序计算歌星的得分和名次以及评委的得分和名次,规则如下:

1)歌星得分:去掉一个最高分及一个最低分,剩下10个的平均分为该歌星得分。

2)评委得分:即评委对14名歌星的评分偏差总和。(偏差定义为该评委对某歌星的评分减去歌星得分的绝对值。)

3)名次:歌星得分越高排名越前,评委得分越低排名越前。

(2)具体设计要求

要求输出格式如下:

各评委给各歌星的评分放在数据文件“music. txt”中,存放形式为二维数组:

行——为各评委给某歌星的评分;列——为某评委给各歌星的评分。

要求本程序中的数据必须从数据文件“music. txt”中读取,学会对文件进行简单的 *** 作。

(提示:显然数据文件为14行12列,自己可定义一个二维数组:15行13列,除存放读入数据外,可分别用第13列和第15行存放歌星得分与评委得分。)

链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111

提取码: 1111

#include<stdio.h> 

#include<string.h> 

#include<stdlib.h>

//值传递

void fun1(char a)

{

 a = 'b'

}

//地址传递

char fun2(char* a)

{

 *a = 'a'

 return *a

}

//动态分配数组

void fun3(char*& a)

{

 a  = (char*)malloc(sizeof(char))

}

char caidan() 

 char choose[5] 

 printf("\n***************************************\n") 

 printf("      ┌──────┐\n") 

 printf("      │ 菜单│\n") 

 printf(" __________________________________\n") 

 printf("│ 1,按值传递    |\n"衫源腔) 

 printf("│ 2,按地址传递  |\n") 

 printf("│ 3,动态数组演示|\n") 

 printf("│ 4,退 出       |\n") 

 printf("└─裂滚───────────────┙\n") 

 printf("**************************************\n\n") 

 do 

 { 

  printf("请输入您的选择(1-4):") 

  scanf("%s",choose) 

 }while(strcmp(choose,"1")&&strcmp(choose,"2")&&strcmp(choose,"3")&&strcmp(choose,"4")) 

 //返回选择的菜单,注意如果输入太长 这里会异常,因为choose[5],只申请了5个字节或衫。 

 return choose[0] 

void main()

{

 //执行菜单的选择 

 while(1)

 {

  switch(caidan()) 

  { 

  case '1':

   {

    char a = 'a'

    fun1(a)

    //按值传递 内容不变

    break 

   }

  case '2':

   {

    char b = 'b'

    char a = fun2(&b)

    //按地址传递内容会变

    break 

   }

  case '3':

   {

    char* p = NULL

    fun3(p)

    //动态数组分配成功

    break 

   }

  case '4':exit(0) 

  } 

 }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12342598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存