printf

车站售票系统

妖精的绣舞 提交于 2020-04-07 19:38:36
#include <windows.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define EmFile "C:\\zm.txt" //密码帐号文件名 #define N 3 #define TEMP 2 #define TRUE 1 #define FALSE 0 int shoudsave=0 ; int count1=0,count2=0,mark=0,mark1=0 ; struct train { char num[10];//列车号 char city[10];//目的城市 char takeoffTime[10];//发车时间 char receiveTime[10];//到达时间 int price;//票价 int bookNum ;//票数 int leftbookNum; }; //订票人的信息 struct man { char num[10];//ID char name[10];//姓名 int bookNum ;//需求的票数 char password[7];//密码 int tag; }; //定义火车信息链表的结点结构 typedef struct node { struct train data ; struct node

C语言入门

淺唱寂寞╮ 提交于 2020-04-07 16:43:48
文章转自 https://www.imooc.com/course/programdetail/pid/37 c语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。 hello,world #include<stdio.h> int main() { /*在双引号中间输入Hello World*/ printf("Hello World"); return 0; } 注:在最新的C标准中,main函数前的类型为 int 而不是 void c语言的具体结构 简单来说,一个C程序就是由若干 头文件 和 函数 组成。 #include <stdio.h> 就是一条预处理命令, 它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。 函数 就是实现代码逻辑的一个小的 单元 。 必不可少之主函数 一个C程序有且只有一个主函数,即 main 函数。 C程序就是执行主函数里的代码,也可以说这个 主函数 就是C语言中的 唯一入口 。 而 main 前面的 int 就是主函数的类型. printf() 是 格式输出 函数,这里就记住它的功能就是在 屏幕上输出指定的信息 return

C语言综合运用-------------编写 < 通讯录 >

半城伤御伤魂 提交于 2020-04-07 13:29:18
// // main.c // 通讯录项目 // // Created by Elkins.Zhao on 15/3/24. // Copyright (c) 2015年 elkins. All rights reserved. // #include <stdio.h> // 导入头文件 #include <string.h> // 定义宏(联系人数组的长度,姓名长度,电话号码长度) #define LEN 100 #define NAME_LEN 22 #define TELNUM_LEN 16 // 定义联系人结构体 typedef struct { // 定义联系人姓名 char name[NAME_LEN]; // 定义联系人电话号码 char telNum[TELNUM_LEN]; } Person; // 给结构体起别名 // 定义联系人数组 Person contacts[LEN]; // 定义变量保存联系人数量 int totalContactCount = 0; // 初始化为0,表示通讯录没有人 // 定义变量保存文件名称 char *filePath = "telbook.data"; // 定义函数并声明 void doAdd(); // 添加联系人 void doDelete(); // 删除联系人 void doUpdate(); // 更新联系人

线程之线程终止

ε祈祈猫儿з 提交于 2020-04-07 10:18:19
如果进程中的任一线程调用了exit、_Exit或者_exit,那么整个进程就会终止。与此类似,如果信号的默认动作是终止进程,那么,把该信号发送到线程会终止整个进程。 单个线程可以通过下列三种方式退出,在不终止整个进程的情况下停止它的控制流。 (1)线程只是从启动例程中返回,返回值是线程的退出码。 (2)线程可以被同一进程中的其他线程取消。 (3)线程调用pthread_exit。 #include <pthread.h> void pthread_exit(void *rval_ptr); rval_ptr是一个无类型指针,与传给启动例程的单个参数类似。进程中的其他线程可以通过调用pthread_join函数访问到这个指针。 #include <pthread.h> int pthread_join(pthread_t thread, void **rval_ptr); 返回值:若成功则返回0,否则返回错误编号 调用线程将一直阻塞,直到指定的线程调用pthread_exit、从启动例程中返回或者被取消。如果线程只是从它的启动例程返回,rval_ptr将包含返回码。如果线程被取消,由rval_ptr指定的内存单元就置为PTHREAD_CANCELED。 可以通过调用pthread_join自动把线程置于分离状态,这样资源就可以恢复。如果线程已经处于分离状态,pthread

C:学习笔记(一)

雨燕双飞 提交于 2020-04-07 05:37:27
1. 数组越界 在C语言中,如果数组越界,编译器无法辨识。但是输出值未可知。所以最好用for循环来确定一个数组的边界,例如: void main() { int a[3]={1,2,3}; printf("%d", a[4]); /*编译器无法辨别数组a[4]已经越界*/ } 正确的是: void main() { int i, a[3]={1,2,3}; for (i=0,i<3;i++) { printf("%d", a[i]); } } 2. 二维数组与for循环 二维数组就像是一个平面的长宽。一维是列,二维是行,例如: a[3][2]。C语言中,都是 通过for循环遍历二维数组 。 3. 数组和 static static int a[3][4]={{1}, {0,6}, {0,0,11}}; 如果没有static,则a[0][1] ~ a[0][3]的值是不确定的,如果加上static, 缺省的值会用0补充。例如:int a[2][3]={{1,2}, {4}}。 4. 对所有元素赋初值,一维长度可以省略,但二维长度不能省略。 对所有元素都赋初值(即没有一位元素是省略的,像例3一样),则数组的一维长度可以省略,但二维长度不能省略。 例如:static int a[3][4] ={1,2,3,4,5,6,7,8,9,10,11,12}; 可以写成 static int a[

String.format()用法

懵懂的女人 提交于 2020-04-07 02:12:08
名称 说明 Format(String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。 Format(String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。 Format(IFormatProvider, String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。指定的参数提供区域性特定的格式设置信息。 Format(String, Object, Object) 将指定的 String 中的格式项替换为两个指定的 Object 实例的值的文本等效项。 Format(String, Object, Object, Object) 将指定的 String 中的格式项替换为三个指定的 Object 实例的值的文本等效项。 多个参数 int m[]=new int{a,b,c,d}; string.format("{0}{1}{2}",m); 一个参数 private const string _extraClause = " AND C_INTERNSHIPORG_INTERNSHIPID = {0}"; //将MyCrypt.Decrypt(Request["id"]

线性代数方程组的求解

若如初见. 提交于 2020-04-06 23:51:39
#include "stdafx.h" #include <stdlib.h> #include <math.h> #include <stdio.h> #include "LinearEquation.h" #include "MatrixAlgo.h" //求解三对角线方程组的追赶法 int atrde(double b[],int n, int m, double d[]) { int k,j; double s; if(m != (3*n-2)) { printf("err\n"); return(-2); } for(k = 0;k <= n-2;k++) { j = 3*k; s = b[j]; if(fabs(s)+1.0 == 1.0) { printf("fail\n"); return(0); } b[j+1] = b[j+1]/s; d[k] = d[k]/s; b[j+3] = b[j+3]-b[j+2]*b[j+1]; d[k+1] = d[k+1]-b[j+2]*d[k]; } s = b[3*n-3]; if(fabs(s)+1.0 == 1.0) { printf("fail\n"); return(0); } d[n-1] = d[n-1]/s; for(k = n-2;k>=0;k--) d[k] = d[k]-b[3*k+1]*d[k+1];

php设计模式(三):结构模式

二次信任 提交于 2020-04-06 21:30:06
一、什么是结构型模式? 结构型模式是解析类和对象的内部结构和外部组合,通过优化程序结构解决模块之间的耦合问题。 二、结构型模式的种类: 适配器模式 桥接模式 装饰模式 组合模式 外观模式 享元模式 代理模式 1、 适配器模式(Adapter) 将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本的由于接口不兼容而不能一起工作的那些类可以一起工作。 应用场景:老代码接口不适应新的接口需求,或者代码很多很乱不便于继续修改,或者使用第三方类库。 代码实现 /** * 适配器模式 */ //老的代码 class User { private $name; function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } //新代码,开放平台标准接口 interface UserInterface { function getUserName(); } class UserInfo implements UserInterface { protected $user; function __construct($user) { $this->user = $user; } public function getUserName() {

银行ATM机工作流程模拟编程(代码)

依然范特西╮ 提交于 2020-04-06 18:34:59
#include<stdio.h> #include<stdlib.h> #include <conio.h> #include <string.h> void denglu(struct people *head,struct people *p); void jiemian(struct people *head,struct people *p); void chaxun(struct people *head,struct people *p); void qukuan(struct people *head,struct people *p); void cunkuan(struct people *head,struct people *p); void xiugai(struct people *head,struct people *p); void tuika(struct people *head,struct people *p); void xinxi(struct people *head,struct people *p); struct people { char name[10]; char account[20]; char password[10]; float money; struct people*next; }; void main()

1.个人项目 Individual Project

ぃ、小莉子 提交于 2020-04-06 18:26:36
https://github.com/sunlitao 一. 实验1通讯录管理系统 通讯录中的联系人包含以下信息项:姓名、手机、办公电话、家庭电话、电子邮箱、所在省市、工作单位、家庭住址,群组分类 ( 亲属、同事、同学、朋友、其他 ) 。 系统的主要功能包括: 1. 输入联系人的信息,要求:至少输入 10 个联系人的数据,且注意数据的多样性。 2. 按姓名对联系人信息进行排序,并将排序后信息存放到一个文本文件中。 3. 添加联系人的信息,在已经存在的通讯录文件中添加若干个联系人。要求:添加后仍按联系人的姓名排序,并保存至原文件。 4. 删除联系人的信息,输入一个姓名,若通讯录中有该联系人的信息,则删除该联系人,否则输出提示信息,并提示用户选择是否继续进行删除操作。 5. 修改联系人的信息,输入一个姓名,根据具体需要修改该联系人的某一项信息,将修改后的信息重新保存到通讯录文件中,并提示用户选择是否继续进行修改操作。 6. 按不同条件对通讯录进行查询操作,输出满足条件的联系人的信息。 (1) 按姓名查询,包括精确查询 ( 输入全名 ) ,模糊查询 ( 输入姓 ) ; (2) 按手机号码查询,输入全部号码或号码位段(如输入 130 、 133 、 139 等); (3) 按群组分类查询,输入分类名称,输出该群组的全部联系人信息。 7. 输出联系人的信息,按一定格式输出信息