环境设置:
安装完mysql
vs中 vc++目录 中 包含目录 D:\DevSoft\MySQL\MySQL Server 5.5\include 这个文件夹
vc++目录 中 引用目录 D:\DevSoft\MySQL\MySQL Server 5.5\lib 这个文件夹。
记得把 mysql 安装目录中的include目录下的libmysql.lib 复制到工程文件夹下。
如果是32位的mysql 可以直接连。 如果是 64,需要 配置 vs x64平台,在配置管理其中,然后连。
#include "stdafx.h"
#include <Windows.h>
#include <string.h>
#include <mysql.h>
#include <iostream>
using namespace std;
int main()
{
const char user[] = "花花的数据库账号"; //username
const char pswd[] = "花花的数据库密码"; //password
const char host[] = "localhost"; //or"127.0.0.1"
const char table[] = "画画的数据库空间"; //database
unsigned int port = 3306; //server port
MYSQL myCont;
MYSQL_RES *result;
MYSQL_ROW sql_row;
MYSQL_FIELD *fd;
char column[32][32];
int res;
mysql_init(&myCont);
if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0))
{
cout<<"connect succeed!"<<endl;
mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文
res=mysql_query(&myCont,"select * from student");//查询
if(!res)
{
result=mysql_store_result(&myCont);//保存查询到的数据到result
if(result)
{
int i,j;
cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;
for(i=0;fd=mysql_fetch_field(result);i++)//获取列名
{
strcpy_s(column[i],fd->name);
}
j=mysql_num_fields(result);
for(i=0;i<j;i++)
{
printf("%s\t",column[i]);
}
printf("\n");
while(sql_row=mysql_fetch_row(result))//获取具体的数据
{
for(i=0;i<j;i++)
{
printf("%s\n",sql_row[i]);
}
printf("\n");
}
}
}
else
{
cout<<"query sql failed!"<<endl;
}
}
else
{
cout<<"connect failed!"<<endl;
}
if(result!=NULL) mysql_free_result(result);//释放结果资源
mysql_close(&myCont);//断开连接
system("pause");
return 0;
}
1 #include<iostream> 2 #include<stack> 3 using std::cin; 4 using std::cout; 5 class STACK 6 { 7 public: 8 int *a; 9 int number; 10 public: 11 STACK():number(0){a=new int[0];}; 12 STACK(int n):number(n){a=new int[n];}; 13 int&operator[](int key){return a[key];}; 14 int&operator*(){return a[0];} 15 int * operator+(int i){return (a+i);} 16 int&at(int n){return a[n];}; 17 int&front(){return a[0];}; 18 int&back(){return a[number-1];}; 19 int* begin()const{return a;}; 20 int* end()const{return (a+number-1);}; 21 int size()const{return number;}; 22 bool empty(){return !number;}; 23 void clear(){delete[]a;}; 24 void top(){resize(number-1);}; 25 ~STACK(){delete[]a;}; 26 void resize(int); 27 void push_back(int); 28 void erase(int); 29 void insert(int*,int); 30 void reserve(); 31 }; 32 void STACK::resize(int size) 33 { 34 int *b=new int[size]; 35 for(int i=0;i<number&&i<size;i++) 36 b[i]=a[i]; 37 delete[]a; 38 number=size; 39 a=b; 40 } 41 void STACK::push_back(int integer) 42 { 43 resize(number+1); 44 a[number-1]=integer; 45 } 46 void STACK::erase(int n) 47 { 48 for(int i=n;i<number-1;i++) 49 a[n]=a[n+1]; 50 resize(number-1); 51 } 52 void STACK::insert(int *p,int n) 53 { 54 int m=p-a; 55 resize(number+1); 56 for(int i=number-1;i>m;i--) 57 a[i]=a[i-1]; 58 a[m]=n; 59 } 60 void STACK::reserve () 61 { 62 for(int i=0;i<number/2;i++) 63 { 64 int temp=a[i]; 65 a[i]=a[number-i-1]; 66 a[number-i-1]=temp; 67 } 68 } 69 int main() 70 { 71 /* int i; 72 STACK stack(5); 73 for(i=0;i<5;i++) 74 cin>>stack[i]; 75 for(i=0;i<5;i++) 76 cout<<*(stack+i)<<" "; 77 cout<<'\n'; 78 stack.insert (stack.begin()+3,10); 79 for(i=0;i<6;i++) 80 cout<<*(stack+i)<<" "; 81 cout<<'\n';*/ 82 83 STACK stack; 84 stack.push_back (10); 85 stack.push_back (12); 86 stack.push_back (14); 87 cout<<stack.back()<<'\n'; 88 stack.top(); 89 cout<<stack.back()<<'\n'; 90 return 0; 91 }
1 #include <stdio.h> 2 #include <stdlib.h> 3 #define N 41 4 #define M 3 5 #define START 0 6 struct stu 7 { 8 int data; 9 struct stu *next; 10 } LNode[N]; 11 12 int main(void) 13 { 14 int i; 15 16 struct stu *next,*p, *r; 17 for (i = 0; i < N; i++) 18 { 19 LNode[i].data = i + 1; 20 if (i < N - 1) 21 LNode[i].next = &LNode[i + 1]; 22 else 23 LNode[i].next = LNode; 24 } 25 p = &LNode[START]; 26 while(p -> next != p) 27 { 28 for (i = 1; i < M ; i++) 29 { 30 r = p; 31 p = p ->next; 32 } 33 r ->next = p -> next; 34 printf("编号为%d的人出列\n", p -> data); 35 p = r ->next; 36 37 } 38 39 40 getchar(); 41 return 0; 42 }