char

C++班级通讯录

我是研究僧i 提交于 2020-02-27 14:16:57
C++实现班级通讯录管理系统 设计流程 本系统基于C++实现班级通讯录管理系统。功能包括增、删、查、改等。通讯录包括的个人信息有姓名、学号、性别、籍贯、政治面貌、手机号、QQ号、宿舍等。主要用到了指针、结构体、遍历链表、文件读取等知识点。 优点 1 . 此系统含有欢迎使用的页面,之后进入功能页面。 2 . 功能设计根据实际情况设计能够最大限度满足现实需求。 3 . 界面简洁易懂,操作简单。 页面效果 完整代码 # include <stdio.h> # include <string.h> # include <stdlib.h> # include <windows.h> typedef struct student //定义结构体 { char name [ 20 ] ; //姓名 char num [ 15 ] ; //学号 char sex [ 10 ] ; //性别 char from [ 20 ] ; //籍贯 char political [ 10 ] ; //政治面貌 char phone [ 15 ] ; //手机号 char QQ [ 15 ] ; //QQ号 char dorm [ 10 ] ; //宿舍 struct student * next ; //结构体指针 } stu ; stu * head ; void print ( ) //主菜单 {

C语言结构体详解

让人想犯罪 __ 提交于 2020-02-27 12:16:05
数组(Array),它是一组具有相同类型的数据的集合 。但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放。 我们就需要使用结构体(Struct)来存放一组不同类型的数据 。结构体的定义形式为: struct 结构体名 { 结构体所包含的变量或数组 } ; 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。 示例 struct stu { char * name ; //姓名 int num ; //学号 int age ; //年龄 char group ; //所在学习小组 float score ; //成绩 } ; stu 为结构体名,它包含了 5 个成员,分别是 name、num、age、group、score。结构体成员的定义方式与变量和数组的定义方式相同,只是不能初始化。 注意 :大括号后面的分号;不能少,这是一条完整的语句。 结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据 。 像 int、float、char 等是由C语言本身提供的数据类型,不能再进行分拆,我们称之为基本数据类型;而 结构体可以包含多个基本类型的数据

struct结构

社会主义新天地 提交于 2020-02-27 12:11:50
什么是结构? 结构,就是一群 不同 或者 相同 类型数据的集合。 类似于 电话薄 ,有姓名,电话号码,家庭住址这些 互有关联 的信息。 一、定义结构 1、结构类型的定义形式 struct 标识符 { 类型 成员1; 类型 成员2; … }; 就以电话薄为例子 struct member { int id ; //编号 char name [ 16 ] ; //姓名 char phone [ 16 ] ; //电话(这里因为电话号码太大超出“long”的范围改为“char”数组) char address [ 100 ] ; //地址 } ; 2、声明变量 定义后声明 struct member { int id; char name [ 16 ] ; char phone [ 16 ] ; char address [ 100 ] ; } ; member a1 , a2 , a3 ; //**注意这里与下文的不同** 定义同时声明 struct member { int id; char name [ 16 ] ; char phone [ 16 ] ; char address [ 100 ] ; } a1 , a2 , a3 ; //**注意这里与上文的不同** 说明:结构变量占有 一片连续 内存空间,具有结构类型的特征; 一个结构类型的成员可以是另一个已定义的结构类型;

hdu 1241 java (dfs+bfs) 搜索

狂风中的少年 提交于 2020-02-27 09:37:57
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class C1241 { static int MAX = 100+2; static int m; static int n; static char[][] map = new char[MAX][MAX]; static boolean vis[][] = new boolean[MAX][MAX]; public static void main(String args[]) { Scanner scan = new Scanner(System.in); while(scan.hasNext()) { n = scan.nextInt(); m = scan.nextInt(); //把所有的输入全都读进来 if(m+n == 0 ) {break;} scan.nextLine(); for(int i=0;i<n;i++) { String str = scan.nextLine(); char str2[] = str.toCharArray(); for(int j=0;j<m;j++) { map[i][j] = str2[j]; } } init(); int count = 0; /

是否有printf转换器以二进制格式打印?

拟墨画扇 提交于 2020-02-27 06:42:01
我可以用printf作为十六进制或八进制数打印。 是否有格式标记打印为二进制或任意基数? 我正在运行gcc。 printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n" print("%b\n", 10); // prints "%b\n" #1楼 此代码应满足您最多64位的需求。 我创建了2个函数pBin&pBinFill。 两者都做同样的事情,但是pBinFill用fillChar填充前导空格。 测试功能生成一些测试数据,然后使用该功能将其打印出来。 char* pBinFill(long int x,char *so, char fillChar); // version with fill char* pBin(long int x, char *so); // version without fill #define kDisplayWidth 64 char* pBin(long int x,char *so) { char s[kDisplayWidth+1]; int i=kDisplayWidth; s[i--]=0x00; // terminate string do { // fill in array from right to left s[i--]=(x & 1) ? '1':'0'; //

攻防世界 reverse Hello, CTF

◇◆丶佛笑我妖孽 提交于 2020-02-27 03:56:49
这题给了一个exe文件,本来我还以为是要用OD了(太长时间没用想复习一下) 结果IDA打开发现了一串很奇怪的字符串 437261636b4d654a757374466f7246756e 显然不是base64加密,一般来说不是crypto题加密方式就那么几种,密码学,16进制转字符串… 由此得到flag CrackMeJustForFun 但是要是这样就结束了,那这题基本等于没做。 所以我决定从头分析一下逻辑。 直接打开exe文件 是一个让user输入序列号的程序,而正确的序列号就是我们的flag。 int __cdecl main ( int argc , const char * * argv , const char * * envp ) { signed int v3 ; // ebx char v4 ; // al int result ; // eax int v6 ; // [esp+0h] [ebp-70h] int v7 ; // [esp+0h] [ebp-70h] char v8 ; // [esp+12h] [ebp-5Eh] char v9 [ 20 ] ; // [esp+14h] [ebp-5Ch] char v10 ; // [esp+28h] [ebp-48h] __int16 v11 ; // [esp+48h] [ebp-28h] char

字符流中第一个不重复的字符

南笙酒味 提交于 2020-02-27 03:30:10
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 public class Solution { //Insert one char from stringstream String s = ""; char hash[]=new char[256]; public void Insert(char ch) { s+=ch; hash[ch]++; } //return the first appearence once char in current stringstream public char FirstAppearingOnce() { for(int i = 0;i<s.length();i++){ if(hash[s.charAt(i)] == 1) return s.charAt(i); } return '#'; } } 来源: oschina 链接: https://my.oschina.net/u/4167465/blog/3162234

词法分析(自己的想法)

偶尔善良 提交于 2020-02-27 03:20:35
#include<stdio.h> #include<string.h> #define N 30 char str[N]={NULL},st[N]={NULL}; int t=0,t1=0; struct node//定义一个队列 { char data; struct node * next; }; typedef struct node QueueNode; struct node2//定义一个链队列 { QueueNode *front; QueueNode *rear; }; typedef struct node2 Queue; void Print(char str[]); void Print1(char str1[]); Queue InitQueue()//初始化队列 { Queue Q; Q.front=(QueueNode *)malloc(sizeof(QueueNode)); Q.front->next=NULL; Q.rear=Q.front; return(Q); } Queue InserQ(Queue Q,char x)//x进队列 { QueueNode *p; p=(QueueNode *)malloc(sizeof(QueueNode)); p->data=x; p->next=NULL; Q.rear->next=p; Q.rear=p;

C++】模板特化的应用---类型萃取

試著忘記壹切 提交于 2020-02-27 00:46:39
在C++中,内置类型的遍历,我们只需要进行浅拷贝就可以,但自定义类型就不一定了。比如之前类与对象中,如果类中对象涉及到资源,我们使用 深拷贝 的方式进行拷贝构造等操作,如果不涉及资源,则使用简单的 浅拷贝 ,在模拟实现string类\vector等中也遇到。这样虽然可以,但代码效率低。 所以,为了将内置类型与自定义类型区分开,就有了 类型萃取,它是类模板特化的应用 。那么我们先来了解类模板特化以及非类型模板参数 非类型模板参数 模板参数分为类型形参与非类型形参 注意: 浮点数,类对象以及字符串是不允许作为非类型模板参数的 非类型模板参数必须在编译期就能确认结果 模板的特化 有时我们使用模板实现一些与类型无关的代码,但对于一些特殊类型的可能会得到一些错误的结果,看下面代码 代码1 template < class T > T MAX ( T left , T right ) { return left > right ? left : right ; } int main ( ) { char * p1 = "world" ; char * p2 = "hello" ; cout << MAX ( p1 , p2 ) << endl ; 比较字符串大小时,这里面比较的是指针类型,因此不管p1、p2是什么字符串,打印的都是p2,所以如果不直接将函数直接给出,用模板的话,就要将模板特化了

C语言字符类型输入方式选择

試著忘記壹切 提交于 2020-02-27 00:35:31
1、char是字符型,而字符是一种特殊的整数。每个字符都有一个整数编码,称为ASCII码。C语言中的字符型用关键字char表示,它实际存储的是字符的ASCII码。字符常量可以用单引号法表示。在语法上可以把字符当作int型使用。 2、 scanf("%s", s);会读入一个不含空格、TAB、和回车的字符串,存入字符数组s。注:遇到空白字符会停下来。 3、如果是字符数组char s[maxn][maxl],可以用scanf("%s", s[i])读取第i个字符串。 4、gets函数将会不停的读取,而不管是否存储得下。会引发缓冲区溢出漏洞,已经被废止。 5、getchar可以边读边处理,不需要把输入得字符串完整的存下来。c=getchar()==EOF 来源: CSDN 作者: 651km 链接: https://blog.csdn.net/qq_36327491/article/details/104522666