进行简单功能性查询的简单代码

程序主要是一个查询功能了解cin cin.get cin.getlin cin.get(name,size)cin 进行读取一段字符通过接受回车结束cin.get 能接受包括回车的字符cin.getline 函数的作用是从输入流中读取一行字符,其用法与带3个参数的get函数类似。即
    cin.getline(字符数组(或字符指针), 字符个数n, 终止标志字符)//可以没有终止标志字符程序并没有对这个函数进行测试;cin.get(name,size)作用是在输入流中读取size的字数进行赋值给name测试不适合本程序因为程序的f接受的只是一个字符大材小用;

#include "stdafx.h"

#include<iostream>
#define size 20
using namespace std;
struct bop {
	char name[size];
	char title[size];
	char popname[size];
	int preference;
}pop[4] = { { "wimp","haha","fix",0 },{ "raki","youke","red",1 },{ "celia","lunduan","teacher",2 } ,{ "hopp","yahu","tianwen",3 } };;
int fun(char);
int main()
{
	cout << "输入a显示所有姓名\n输入b显示所有title\n输入c显示别称\n输入d目前不理解\n输入q退出" ;

	char f;

	cin>>f;
	while(f != ‘a‘ && f != ‘b‘ && f != ‘c‘ && f != ‘d ‘ && f != ‘q‘)

	{

		f = cin.get();
		cout << "choice again\n" <<  f << endl;
	}

	while (fun(f))
	{
		cout << "next choice" << endl;
		cin >> f;
	}
    return 0;
}
int fun(char f)
{
	int i;
	switch (f)
	{
	case ‘a‘:cout << "show name" << endl;
		for (i = 0; i<4; i++)
			cout << pop[i].name << endl; break;
	case ‘b‘:cout << "show title" << endl;
		for (i = 0; i<4; i++)
			cout << pop[i].title << endl; break;
	case ‘c‘:cout << "show bopname" << endl;
		for (i = 0; i<4; i++)
			cout << pop[i].popname << endl;
	case ‘d‘:cout << "show prefence" << endl;
		break;
	case ‘q‘:cout << "bye" << endl;
		return 0; break;
	}
	return 1;
}进行多次更改,刚开始无法解决输出流重复输出cout的文件经过分析发现cin.get不仅接受了字符还接受了回车才导致进行了两次循环
时间: 2024-12-14 15:33:10

进行简单功能性查询的简单代码的相关文章

对一个简单的时间片轮转多道程序内核代码的浅析

这周在网易云课堂上学习了<Linux内核分析>——操作系统是如何工作的.本周学习内容有利用 mykernel 实验模拟计算机平台和利用 mykernel 实验模拟计算机硬件平台两部分内容. 这是实验楼中 mykernel 平台运行的结果: 下面是一段一个简单的时间片轮转多道程序内核代码: 1 /* 2 * linux/mykernel/myinterrupt.c 3 * 4 * Kernel internal my_timer_handler 5 * 6 * Copyright (C) 201

7-12简单子查询

子查询语法:在一个查询语句中包含另一个查询语句. 简单子查询语法: SELECT ...FROM 表1WHERE 列1(子查询) 特点: 1:子查询必须放在一对小括号内. 2:'='是比较运算符,还可以与其他比较运算符一起使用,要求子查询的列只能有一个. 3:子查询通常作为WHERE的条件. 4:子查询不能包含ORDER BY子句. 举例:根据商品编号查询商品信息: SELECT *FROM ScommidInfo WHERE sort=( SELET *FROM ScommmidSort WH

python3 简单登录,注册测试代码

''' 写个登录,注册的简单代码.只用来简单测试,实现简单功能,没有过多的条件判断.仅仅用来练习. ''' def login(username,password): ''' db这个文件的路径是当前目录 打开保存账号密码的文件,将文件中的账号密码读出来,以字典格式保存. 如果输入的账号已经存在于字典中的键,结果返回FALSE. 如果账号存在字典且对应的键值等于输入的密码,则返回True. ''' fo=open('db','r') dict1={} for i in fo: i=i.strip

媒体查询的简单应用

媒体查询如何适配不同设备? css3的新特性响应式布局,通过@media screen and (min-width: ) and (max-width: ) {}:来实现页面的响应式设计,来适应不同的终端.需在头部添加:<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no,maximum-scale=1.0">. 1.适应手机端: 例如

Linux内核分析—完成一个简单的时间片轮转多道程序内核代码

---恢复内容开始--- 20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 实验要求: mykernel实验指导(操作系统是如何工作的) 运行并分析一个精简的操作系统内核,理解操作系统是如何工作的 使用实验楼的虚拟机打开shell cd LinuxKernel/linux-3.9.4 qemu -kernel arch/x86/boot/bzImage 然后cd

Hibernate实现不带条件的简单分页查询。

不带条件的简单分页查询. 主要用到: Query query = getSessionDao().createQuery(hql1); 及两个分页条件: query.setFirstResult(firstPage*pageSize); query.setMaxResults(pageSize); /** * 不带条件的简单分页查询 * @author lxh * @version 1.0 * */ public class QueryListByPage extends HibernateDa

完成一个简单的时间片轮转多道程序内核代码(二)

完成一个简单的时间片轮转多道程序内核代码 重要汇编代码分析 asm volatile( "movl %1,%%esp\n\t" "pushl %1\n\t" "pushl %0\n\t" "ret\n\t" "popl %%ebp\n\t" : : "c" (task[pid].thread.ip),"d" (task[pid].thread.sp) ); 保存恢复进

js最简单焦点图片轮播代码

将下面代码保存为banner.js,在需要显示焦点图的地方调用该js即可. <script type="text/javascript" src="banner.js"></script> 注意:代码中图片路径修改为你自己的图片地址 var widths=725; //焦点图片宽 var w=0; var widthss=widths+w; var heights=295; //焦点图片高 var heightss=heightss+w; v

mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】

1.mysql简单的查询:select 字段1,字段2...  from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是用*. 2.去重查询:select distinct 字段1,字段2... form tablename: 可以结合上一张图的结果来对比. 3.直接在查询时做数学四则运算,加减乘除余: 4.查询时给查询结果字段重命名:select 字段1 as 名称1,字段2 as 名称2 ... from ta