C语言 · 成绩查询系统

抱歉,昨天忘了往博客上更新,今天补上。

成绩查询系统

分值: 21

数学老师小y 想写一个成绩查询系统,包含如下指令:

  1. insert [name] [score],向系统中插入一条信息,表示名字为name的学生的数学成绩为score。
  2. find [name],表示查找名字为name的学生的数学成绩。

注意有些同学可能会为了刷分多次选课,查询的时候给出最大成绩即可。学生的名字是由小写字母组成。成绩是一个 0…100 的整数。

老师找到你,想你帮他完成这个系统。

输入格式

输入若干行,每行都是insert [name] [score]或者find [name]的形式,或一行end表示输入结束。输入行数不大于 1000,每个学生名字长度不大于 20 个字符。

输出格式

对于每个查询,输出查询的学生的最高成绩,如果系统中不存在该学生,输出 ?1。

样例输入

insert zhangsan 90

insert lisi 78

insert xiaoming 86

find xiaoming

find jack

end

样例输出

86

-1

作者注释:本人能力有限,用纯C写的有bug,整std写了一个,仅供参考。

对了,代码功能添加了一个查询所有记录的功能,删掉即符合题意了。

 1 #include<stdio.h>
 2 #include<vector>
 3 #include<string>
 4 #include<iostream>
 5 #include<math.h>
 6 using namespace std;
 7 struct info{
 8     string name;
 9     int score;
10 }stu;
11 /*
12 定义find函数:
13     功能:在容器中按姓名查找是否有相同姓名的记录;
14     参数:结构体类型的容器,字符串类型的姓名;
15     返回值类型:指向某条数据的指针。
16 */
17 vector<info>::iterator find(vector<info>&stu,string name){
18     vector<info>::iterator it;//声明迭代器
19     for(it=stu.begin();it!=stu.end();it++){
20         if(it->name==name)
21             break;
22     }
23     return it;//返回的是指向某条数据的指针
24 }
25 int main(){
26     string sign,name;
27     int score;
28     vector<info> inf;//声明结构体类型的容器,用来存放数据
29     cin>>sign;//录入操作符
30     vector<info>::iterator it;//声明迭代器
31     while(sign!="end"){
32         if(sign=="insert"){
33             cin>>stu.name>>stu.score;//录入
34             it = find(inf,stu.name);//调用函数
35             if(it==inf.end()){
36                 inf.push_back(stu);
37             }else if(it->score<stu.score){//若刚刚输入的成绩大于已存的成绩
38                 inf.insert(it,stu);//存放分数高的记录
39             }else{//没有找到,新存一条记录
40                 inf.insert(it+1,stu);
41             }
42         }
43         else if(sign=="find"){
44             cin>>stu.name;//录入
45             it=find(inf,stu.name);//调用函数
46             cout<<it->score<<endl;
47         }
48         else if(sign=="all"){
49             for(it=inf.begin();it!=inf.end();it++){
50                 cout<<it->name<<" "<<it->score<<endl;
51             }
52         }
53         cin>>sign;//执行完一遍操作,进入下一遍
54     }
55     return 0;
56 }

此题学到一个处理出入输出的技巧:用while来做判断。

如题中while(sign!="end"){······}。

时间: 2024-11-04 11:56:04

C语言 · 成绩查询系统的相关文章

C语言程序设计#成绩查询系统

学生成绩管理系统 #include<stdio.h>#include<stdlib.h>//颜色#include<conio.h>//清屏#include<string.h>#define LEN sizeof(struct student)#define SDJ stu[s].ID,stu[s].name,stu[s].sex,stu[s].Class,stu[s].major,stu[s].SX,stu[s].YY,stu[s].CYY,stu[s].s

团队-及格成绩查询系统-代码设计规范

逆流而上 及格成绩查询系统 代码规范 一.前言: 本编程规范适用于编写HTML/CSS代码,本规范并不是一个一成不变的必须严格遵守的条文,特殊情况下应灵活应对,做到变通. 二.HTML编码: HTML是一种标记语言,HTML没有任何真正的编程语言中的循环或是流程控制语句.然而,HTML代码的格式和风格是非常重要的,因为要经常对HTML代码进行维护和修改,因此HTML代码必须有很清晰的逻辑结构和布局,增强可读性,而使其易懂和易于维护.HTML代码本身是不区分大小写的,但是为了更好的统一代码布局,本

成绩查询系统--发布篇--centOS7 tomcat开机启动 + mysql数据库配置

前情介绍 成绩查询系统投入使用,部署在一台linux服务器上,是centOS7系统的.之前在本机的虚拟机中装过centOS7,还写了一篇博客.这次呢,系统是已经装好了的,我不需要再装一次了,然后jdk环境之前就弄好了,mysql也已经装好了(但是实际上从未投入过使用),还有jboss服务器也装好了,不过我的项目用的是tomcat,所以我只要装一个tomcat就好了. Tomcat安装 首先,从tomcat官网上下载,tomcat的linux版本,我下载的是tomcat7,版本是:apache-t

团队-及格成绩查询系统-团队信息

团队名称: 逆流而上 队长: 学号:2015035107040 姓名:李一轩 队员: 学号:2015035107019 姓名:程吉 学号:2015035107221 姓名:刘泽宇 学号:2015035107212 姓名:周建伟 学号:2015035107063 姓名:苑旺 学号:2015035107038 姓名:李瑞鹏 团队编程项目作业名称:及格成绩查询系统 选择该团队编程项目原因:由于象棋游戏没有什么更好的想法,组员们也认为有可以参考的文献而不尽心尽力,决定更改团队项目进行敏捷开发,以短时间研

团队-及格成绩查询系统-项目总结

小组名称:逆流而上 组长:李一轩 组员:程吉.李瑞鹏.苑旺.周建伟.刘泽宇 项目名称:及格成绩查询系统 项目过程: 我们通过与同学们的沟通得知他们部分同学现需求一个可以查询自己期末考多少分可以及格的程序:经过组内成员开会决定,制作一个可以供大家查询的网页,因为我们组都是学习网页端的,在网页部分有一些强项可以去使用. 尽管我们的UI界面可能会很low,但是可以实现我们想要实现的功能: 对于其他的课程跳转就不在此进行展示了,日后的学习和休息时间,继续对网页进行完善,我们进步的空间还有很大,比如:响应

团队-及格成绩查询系统-设计文档

项目名称:象棋游戏 项目参加人员:李一轩.程吉.刘泽宇.苑旺.李瑞鹏.周建伟 项目所需环境及工具:HBuilder.Google浏览器 页面设计:在网页中使用,可以转换到其他科目的成绩查询: 功能设计:可以查询及格成绩和最终成绩,并可以推广到其他专业和年级进行使用: 在程序结束阶段,将对程序进行性能调试和2/5/10原则调试,对其进行最终检测和维护: 预计流程:进入网页->输入成绩(并不用全部都填写)->点击"查询xxx成绩"->输出:

暑假闲着没事第一弹:基于Django的长江大学教务处成绩查询系统

本篇文章涉及到的知识点有:Python爬虫,MySQL数据库,html/css/js基础,selenium和phantomjs基础,MVC设计模式,django框架(Python的web开发框架),apache服务器,linux(centos 7为例)基本操作.因此适合有以上基础的同学学习. 声明:本博文只是为了纯粹的技术交流,敏感信息本文会有所过滤,大家见谅(由于任何缘故导致长江大学教务处网站出现问题,都与本人无关). 实现思路:在没有教务处数据接口的前提下(学生的信息安全),那也只有自己写爬

团队-及格成绩查询系统-最终程序

托管平台地址:https://gitee.com/proM/JiGeChengJiChaXunXiTong/tree/master 小组名称:逆流而上 小组成员合照:没有皂片- - 程序运行方法:HTML页面 程序运行示例及运行结果:

成绩登记与查询系统App

前段时间一个好友问我能否用AppInventor给她做一个登记学生成绩的App,当然学生也可以用此App查询成绩.研究了一下,用AppInventor大致可以实现她的想法. 功能分析:App分为教师界面和学生界面,教师界面添加学生基本信息,包括姓名.学号.语数英三科成绩,并保存:学生界面通过输入学生姓名和学号,可以查询自己的各科成绩. Step1:界面设计: 说明: SplashView中两个按钮,按钮分别显示"教师"和"学生",主要用来选择角色,当点击"