c++-做一个电话号码本,进行查找,添加等操作,不知道自己的代码哪里错了,求助~

问题描述

做一个电话号码本,进行查找,添加等操作,不知道自己的代码哪里错了,求助~

#include
#include
#define max 40
using namespace std;

struct User/*电话薄结构*/
{
char name[8];
char tel[11];
char add[20];
User next;
}user;
struct Node/
哈希表结构*/
{
User user;
Node *next;
};

int user_num;
Node *hashtable1[max];
Node *hashtable2[max];

int hashname(char *name)//按名字建立哈希表
{
int sum = 0;
for (int i = 0; i < 8; i++)
{
sum = sum + name[i];
}
return sum % 17;
}

int hashtel(char *tel)//按号码建立哈希表
{
int sum = 0;
for (int i = 0; i < 11; i++)
{
sum = sum + tel[i];
}
return sum % 17;
}

void add_record(char *name, char *tel,char *add )//添加一个记录
{
int key1 = hashname(name);
Node *node1 = new Node;
strcpy_s(node1->user.name, name);
strcpy_s(node1->user.tel, tel);
strcpy_s(node1->user.add, add);
node1->next = hashtable1[key1];
hashtable1[key1] = node1;
int key2 = hashname(tel);
Node *node2 = new Node;
strcpy_s(node2->user.name, name);
strcpy_s(node2->user.tel, tel);
strcpy_s(node2->user.add, add);
node2->next = hashtable2[key2];
hashtable2[key2] = node2;
}

void QueryByName(char *name)//按姓名查找
{
int key1 = hashname(name);
Node *p = hashtable1[key1];
while (p != NULL)
{
if (strcmp(name, p->user.name)==0);
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
break;
}
p = p->next;
}
cout << "NULL" << endl;
}

void QueryByTel(char *tel)//按电话号码查找
{
int key2 = hashtel(tel);
Node *p = hashtable1[key2];
while (p != NULL)
{
if (strcmp(tel, p->user.tel) == 0);
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
break;
}
p = p->next;
}
cout << "NULL" << endl;
}

int main()
{
int opt;
char name[8], tel[11], add[20];
memset(hashtable1, 0, sizeof(hashtable1));
memset(hashtable2, 0, sizeof(hashtable2));
cout << "系统初始化:请输入用户的个数" << endl;
cin >> user_num;
cout << "请输入用户的姓名、地址、电话号码:" << endl;
for (int i = 0; i < user_num; i++)
{
cin >> name >> add >> tel;
add_record(name, tel, add);
}
cout << "系统初始化完毕!" << endl;
while (1)
{
cout << "请选择要进行的操作:" << endl;
cout << "0:增加一条记录" << endl;
cout << "1:根据输入的姓名搜索记录并输出" << endl;
cout << "2:根据输入的电话搜索记录并输出" << endl;
cout << "3:根据姓名查找表输出全部记录" << endl;
cout << "4:根据电话查找表输出全部记录" << endl;
cout << "5:退出" << endl;
cin >> opt;
switch (opt)
{
case 0:
cin >> name >> add >> tel;
add_record(name, tel, add);
break;
case 1:
cin >> name;
QueryByName(name);
break;
case 2:
cin >> tel;
QueryByTel(tel);
break;
case 3:
{
int key1 = 0;
Node *p = hashtable1[key1];
while (p != NULL)
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
p = p->next;
}
break;
}

    case 4:
    {
          int key2 = 0;
          Node *p2 = hashtable2[key2];
          while (p2 != NULL)
          {
              cout << p2->user.name << "_" << p2->user.add << "_" << p2->user.tel << endl;
              p2 = p2->next;
          }
          break;
    }
    case 5:
        break;
    default:
        cout << "请输入0-5之间的数字!" << endl;
        break;
    }
}
return 0;

}

编译过了,但不能继续运行下去。

解决方案

没严格测试:

 #include<fstream>
#include <iostream>
using namespace std;
#define max 40
using namespace std;
struct User/*电话薄结构*/
{
    char name[8];
    char tel[11];
    char add[20];
    User *next; //cgl修改
}user;
struct Node/*哈希表结构*/
{
    User user;
    Node *next;
};
int user_num;
Node *hashtable1[max];
Node *hashtable2[max];
int hashname(char *name)//按名字建立哈希表
{
    int sum = 0;
    for (int i = 0; i < 8; i++)
    {
        sum = sum + name[i];
    }
    return sum % 17;
}
int hashtel(char *tel)//按号码建立哈希表
{
    int sum = 0;
    for (int i = 0; i < 11; i++)
    {
        sum = sum + tel[i];
    }
    return sum % 17;
}
void add_record(char *name, char *tel,char *add )//添加一个记录
{
    int key1 = hashname(name);
    Node *node1 = new Node;
    strcpy_s(node1->user.name, name);
    strcpy_s(node1->user.tel, tel);
    strcpy_s(node1->user.add, add);
    node1->next = hashtable1[key1];
    hashtable1[key1] = node1;
    int key2 = hashname(tel);
    Node *node2 = new Node;
    strcpy_s(node2->user.name, name);
    strcpy_s(node2->user.tel, tel);
    strcpy_s(node2->user.add, add);
    node2->next = hashtable2[key2];
    hashtable2[key2] = node2;
}
void QueryByName(char *name)//按姓名查找
{
    int key1 = hashname(name);
    Node *p = hashtable1[key1];
    while (p != NULL)
    {
        if (strcmp(name, p->user.name)==0)//去掉一个;分号
        {
            cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
            break;
        }
        p = p->next;
    }
    cout << "NULL" << endl;
}
void QueryByTel(char *tel)//按电话号码查找
{
    int key2 = hashtel(tel);
    Node *p = hashtable1[key2];
    while (p != NULL)
    {
        if (strcmp(tel, p->user.tel) == 0)//去掉一个;分号
        {
            cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
            break;
        }
        p = p->next;
    }
    cout << "NULL" << endl;
}
int main()
{
    int opt;
    char name[8], tel[11], add[20];
    memset(hashtable1, 0, sizeof(hashtable1));
    memset(hashtable2, 0, sizeof(hashtable2));
    cout << "系统初始化:请输入用户的个数" << endl;
    cin >> user_num;
    cout << "请输入用户的姓名、地址、电话号码:" << endl;
    for (int i = 0; i < user_num; i++)
    {
        cin >> name >> add >> tel;
        add_record(name, tel, add);
    }
    cout << "系统初始化完毕!" << endl;
    opt=0;
    while (opt!=5)  //修改
    {
        cout << "请选择要进行的操作:" << endl;
        cout << "0:增加一条记录" << endl;
        cout << "1:根据输入的姓名搜索记录并输出" << endl;
        cout << "2:根据输入的电话搜索记录并输出" << endl;
        cout << "3:根据姓名查找表输出全部记录" << endl;
        cout << "4:根据电话查找表输出全部记录" << endl;
        cout << "5:退出" << endl;
        cin >> opt;
        switch (opt)
        {
        case 0:
            cin >> name >> add >> tel;
            add_record(name, tel, add);
            break;
        case 1:
            cin >> name;
            QueryByName(name);
            break;
        case 2:
            cin >> tel;
            QueryByTel(tel);
            break;
        case 3:
            {
                int key1 = 0;
                Node *p = hashtable1[key1];
                while (p != NULL)
                {
                    cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
                    p = p->next;
                }
            }
            break;
        case 4:
            {
                int key2 = 0;
                Node *p2 = hashtable2[key2];
                while (p2 != NULL)
                {
                    cout << p2->user.name << "_" << p2->user.add << "_" << p2->user.tel << endl;
                    p2 = p2->next;
                }
            }
        break;
        case 5:
            break;
        default:
            cout << "请输入0-5之间的数字!" << endl;
            break;
        }
    }
    return 0;
}

解决方案二:

#if 1
#include
#include
#define max 40
using namespace std;

****_//struct User/*电话薄结构*/

//{

// char name[8];

// char tel[11];

// char add[20];

// /*问题①:C语言基础不牢固,在结构题没有完整定义之前不能用此类型名声明对象,指针和引用可以, 可以看看c与指针这本书*/

// //User next;

//}user;

//这是我的代码

typedef struct _User

{

char name[8];

char tel[11];

char add[20];

struct _User *next;

}User;

//struct Node / 哈希表结构* /

//{

// User user;

// Node next;/问题②:编程规范很重要,此处尽量用typedef*/

//};

//这是我的代码

typedef struct _Node

{

User user;

struct _Node *next;

}Node;

****_

int user_num;
Node hashtable1[max];
Node *hashtable2[max];
int hashname(char *name)//按名字建立哈希表
{
int sum = 0;
for (int i = 0; i < 8; i++)
{
sum = sum + name[i];
}
return sum % 17;
}
int hashtel(char *tel)//按号码建立哈希表
{
int sum = 0;
for (int i = 0; i < 11; i++)
{
sum = sum + tel[i];
}
return sum % 17;
}
void add_record(char *name, char *tel, char *add)//添加一个记录
{
int key1 = hashname(name);
Node *node1 = new Node;
strcpy_s(node1->user.name, name);
strcpy_s(node1->user.tel, tel);
strcpy_s(node1->user.add, add);
node1->next = hashtable1[key1];
hashtable1[key1] = node1;
int key2 = hashname(tel);
Node *node2 = new Node;
strcpy_s(node2->user.name, name);
strcpy_s(node2->user.tel, tel);
strcpy_s(node2->user.add, add);
node2->next = hashtable2[key2];
hashtable2[key2] = node2;
}
void QueryByName(char *name)//按姓名查找
{
int key1 = hashname(name);
Node *p = hashtable1[key1];
while (p != NULL)
{
//if (strcmp(name, p->user.name) == 0); /
问题③:此处的分号是有意的吗? /
if (strcmp(name, p->user.name) == 0)
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
break;
}
p = p->next;
}
cout << "NULL" << endl;
}
void QueryByTel(char *tel)//按电话号码查找
{
int key2 = hashtel(tel);
Node *p = hashtable1[key2];
while (p != NULL)
{
//if (strcmp(tel, p->user.tel) == 0); /
问题③:此处的分号是有意的吗? */
if (strcmp(tel, p->user.tel) == 0)
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
break;
}
p = p->next;
}
cout << "NULL" << endl;
}
int main()
{
int opt;
char name[8], tel[11], add[20];
memset(hashtable1, 0, sizeof(hashtable1));
memset(hashtable2, 0, sizeof(hashtable2));
cout << "系统初始化:请输入用户的个数" << endl;
cin >> user_num;
cout << "请输入用户的姓名、地址、电话号码:" << endl;
for (int i = 0; i < user_num; i++)
{
cin >> name >> add >> tel;
add_record(name, tel, add);
}
cout << "系统初始化完毕!" << endl;
while (1)
{
cout << "请选择要进行的操作:" << endl;
cout << "0:增加一条记录" << endl;
cout << "1:根据输入的姓名搜索记录并输出" << endl;
cout << "2:根据输入的电话搜索记录并输出" << endl;
cout << "3:根据姓名查找表输出全部记录" << endl;
cout << "4:根据电话查找表输出全部记录" << endl;
cout << "5:退出" << endl;
cin >> opt;
switch (opt)
{
case 0:
cin >> name >> add >> tel;
add_record(name, tel, add);
break;
case 1:
cin >> name;
QueryByName(name);
break;
case 2:
cin >> tel;
QueryByTel(tel);
break;
case 3:
{
int key1 = 0;
Node *p = hashtable1[key1];
while (p != NULL)
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
p = p->next;
}
break;
}
case 4:
{
int key2 = 0;
Node *p2 = hashtable2[key2];
while (p2 != NULL)
{
cout << p2->user.name << "_" << p2->user.add << "_" << p2->user.tel << endl;
p2 = p2->next;
}
break;
}
case 5:
break;
default:
cout << "请输入0-5之间的数字!" << endl;
break;
}
}
return 0;
}
#endif

解决方案三:

case输出能否进行呢?
具体是到哪一步执行不了?

解决方案四:

改了3个较明显的错误,你自己测试一下看看。

 struct User/*电话薄结构*/
{
    char name[8];
    char tel[11];
    char add[20];
    User *next; //修改
}user;
        if (strcmp(name, p->user.name)==0)//去掉一个;分号
        {
            cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
            break;
        }
        if (strcmp(tel, p->user.tel) == 0)//去掉一个;分号
        {
            cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
            break;
        }

解决方案五:

括号使用错误去掉。

        case 3:
            //{
                int key1 = 0;
                Node *p = hashtable1[key1];
                while (p != NULL)
                {
                    cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
                    p = p->next;
                }
                break;
        //  }
        case 4:
        //  {
                int key2 = 0;
                Node *p2 = hashtable2[key2];
                while (p2 != NULL)
                {
                    cout << p2->user.name << "_" << p2->user.add << "_" << p2->user.tel << endl;
                    p2 = p2->next;
                }
                break;
        //  }

解决方案六:


运行到这一步的时候就有问题了,必须终止

解决方案七:


运行到这一步的时候就有问题了,必须终止

解决方案八:


#if 1
#include
#include
#define max 40
using namespace std;

//struct User/*电话薄结构*/
//{
// char name[8];
// char tel[11];
// char add[20];
// /*问题①:C语言基础不牢固,在结构题没有完整定义之前不能用此类型名声明对象,指针和引用可以, 可以看看c与指针这本书*/
// //User next;
//}user;

//这是我的代码
typedef struct _User
{
char name[8];
char tel[11];
char add[20];
struct _User *next;
}User;

//struct Node / 哈希表结构* /
//{
// User user;
// Node next;/问题②:编程规范很重要,此处尽量用typedef*/
//};

//这是我的代码
typedef struct _Node
{
User user;
struct _Node *next;
}Node;

int user_num;
Node hashtable1[max];
Node *hashtable2[max];
int hashname(char *name)//按名字建立哈希表
{
int sum = 0;
for (int i = 0; i < 8; i++)
{
sum = sum + name[i];
}
return sum % 17;
}
int hashtel(char *tel)//按号码建立哈希表
{
int sum = 0;
for (int i = 0; i < 11; i++)
{
sum = sum + tel[i];
}
return sum % 17;
}
void add_record(char *name, char *tel, char *add)//添加一个记录
{
int key1 = hashname(name);
Node *node1 = new Node;
strcpy_s(node1->user.name, name);
strcpy_s(node1->user.tel, tel);
strcpy_s(node1->user.add, add);
node1->next = hashtable1[key1];
hashtable1[key1] = node1;
int key2 = hashname(tel);
Node *node2 = new Node;
strcpy_s(node2->user.name, name);
strcpy_s(node2->user.tel, tel);
strcpy_s(node2->user.add, add);
node2->next = hashtable2[key2];
hashtable2[key2] = node2;
}
void QueryByName(char *name)//按姓名查找
{
int key1 = hashname(name);
Node *p = hashtable1[key1];
while (p != NULL)
{
//if (strcmp(name, p->user.name) == 0); /
问题③:此处的分号是有意的吗? /
if (strcmp(name, p->user.name) == 0)
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
break;
}
p = p->next;
}
cout << "NULL" << endl;
}
void QueryByTel(char *tel)//按电话号码查找
{
int key2 = hashtel(tel);
Node *p = hashtable1[key2];
while (p != NULL)
{
//if (strcmp(tel, p->user.tel) == 0); /
问题③:此处的分号是有意的吗? */
if (strcmp(tel, p->user.tel) == 0)
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
break;
}
p = p->next;
}
cout << "NULL" << endl;
}
int main()
{
int opt;
char name[8], tel[11], add[20];
memset(hashtable1, 0, sizeof(hashtable1));
memset(hashtable2, 0, sizeof(hashtable2));
cout << "系统初始化:请输入用户的个数" << endl;
cin >> user_num;
cout << "请输入用户的姓名、地址、电话号码:" << endl;
for (int i = 0; i < user_num; i++)
{
cin >> name >> add >> tel;
add_record(name, tel, add);
}
cout << "系统初始化完毕!" << endl;
while (1)
{
cout << "请选择要进行的操作:" << endl;
cout << "0:增加一条记录" << endl;
cout << "1:根据输入的姓名搜索记录并输出" << endl;
cout << "2:根据输入的电话搜索记录并输出" << endl;
cout << "3:根据姓名查找表输出全部记录" << endl;
cout << "4:根据电话查找表输出全部记录" << endl;
cout << "5:退出" << endl;
cin >> opt;
switch (opt)
{
case 0:
cin >> name >> add >> tel;
add_record(name, tel, add);
break;
case 1:
cin >> name;
QueryByName(name);
break;
case 2:
cin >> tel;
QueryByTel(tel);
break;
case 3:
{
int key1 = 0;
Node *p = hashtable1[key1];
while (p != NULL)
{
cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
p = p->next;
}
break;
}
case 4:
{
int key2 = 0;
Node *p2 = hashtable2[key2];
while (p2 != NULL)
{
cout << p2->user.name << "_" << p2->user.add << "_" << p2->user.tel << endl;
p2 = p2->next;
}
break;
}
case 5:
break;
default:
cout << "请输入0-5之间的数字!" << endl;
break;
}
}
return 0;
}
#endif

我的运行没有崩,先看看我的代码,里面有你的错误,还有你的代码逻辑有问题,我没有细看...

解决方案九:

把tel改为tel[12],即电话号码11位加一个结束标志

#include<fstream>
#include <iostream>
using namespace std;
#define max 40
using namespace std;
struct User/*电话薄结构*/
{
    char name[8];
    char tel[11];
    char add[20];
    User *next; //cgl修改
}user;
struct Node/*哈希表结构*/
{
    User user;
    Node *next;
};
int user_num;
Node *hashtable1[max];
Node *hashtable2[max];
int hashname(char *name)//按名字建立哈希表
{
    int sum = 0;
    for (int i = 0; i < 8; i++)
    {
        sum = sum + name[i];
    }
    return sum % 17;
}
int hashtel(char *tel)//按号码建立哈希表
{
    int sum = 0;
    for (int i = 0; i < 11; i++)
    {
        sum = sum + tel[i];
    }
    return sum % 17;
}
void add_record(char *name, char *tel,char *add )//添加一个记录
{
    int key1 = hashname(name);
    Node *node1 = new Node;
    strcpy_s(node1->user.name, name);
    strcpy_s(node1->user.tel, tel);
    strcpy_s(node1->user.add, add);
    node1->next = hashtable1[key1];
    hashtable1[key1] = node1;
    int key2 = hashname(tel);
    Node *node2 = new Node;
    strcpy_s(node2->user.name, name);
    strcpy_s(node2->user.tel, tel);
    strcpy_s(node2->user.add, add);
    node2->next = hashtable2[key2];
    hashtable2[key2] = node2;
}
void QueryByName(char *name)//按姓名查找
{
    int key1 = hashname(name);
    Node *p = hashtable1[key1];
    while (p != NULL)
    {
        if (strcmp(name, p->user.name)==0)//去掉一个;分号
        {
            cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
            break;
        }
        p = p->next;
    }
    cout << "NULL" << endl;
}
void QueryByTel(char *tel)//按电话号码查找
{
    int key2 = hashtel(tel);
    Node *p = hashtable1[key2];
    while (p != NULL)
    {
        if (strcmp(tel, p->user.tel) == 0)//去掉一个;分号
        {
            cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
            break;
        }
        p = p->next;
    }
    cout << "NULL" << endl;
}
int main()
{
    int opt;
    char name[8], tel[12], add[20];
    memset(hashtable1, 0, sizeof(hashtable1));
    memset(hashtable2, 0, sizeof(hashtable2));
    cout << "系统初始化:请输入用户的个数" << endl;
    cin >> user_num;
    cout << "请输入用户的姓名、地址、电话号码:" << endl;
    for (int i = 0; i < user_num; i++)
    {
        cin >> name >> add >> tel;
        add_record(name, tel, add);
    }
    cout << "系统初始化完毕!" << endl;
    opt=0;
    while (opt!=5)  //修改
    {
        cout << "请选择要进行的操作:" << endl;
        cout << "0:增加一条记录" << endl;
        cout << "1:根据输入的姓名搜索记录并输出" << endl;
        cout << "2:根据输入的电话搜索记录并输出" << endl;
        cout << "3:根据姓名查找表输出全部记录" << endl;
        cout << "4:根据电话查找表输出全部记录" << endl;
        cout << "5:退出" << endl;
        cin >> opt;
        switch (opt)
        {
        case 0:
            cin >> name >> add >> tel;
            add_record(name, tel, add);
            break;
        case 1:
            cin >> name;
            QueryByName(name);
            break;
        case 2:
            cin >> tel;
            QueryByTel(tel);
            break;
        case 3:
            {
                int key1 = 0;
                Node *p = hashtable1[key1];
                while (p != NULL)
                {
                    cout << p->user.name << "_" << p->user.add << "_" << p->user.tel << endl;
                    p = p->next;
                }
            }
            break;
        case 4:
            {
                int key2 = 0;
                Node *p2 = hashtable2[key2];
                while (p2 != NULL)
                {
                    cout << p2->user.name << "_" << p2->user.add << "_" << p2->user.tel << endl;
                    p2 = p2->next;
                }
            }
        break;
        case 5:
            break;
        default:
            cout << "请输入0-5之间的数字!" << endl;
            break;
        }
    }
    return 0;
}
时间: 2024-12-03 04:49:09

c++-做一个电话号码本,进行查找,添加等操作,不知道自己的代码哪里错了,求助~的相关文章

jsp 网站开发-想要做一个网站上的图片下载的链接,有一行代码看不懂,求指导

问题描述 想要做一个网站上的图片下载的链接,有一行代码看不懂,求指导 d3.select(this).attr("href", "data:image/svg+xml;charset=utf-8;base64," + btoa(unescape(encodeURIComponent( svg.attr("version", "1.1") .attr("xmlns", "http://www.w3.

求解一下-求解用php做一个web service的相关程序??不知道哪里出问题了?谢谢!!!

问题描述 求解用php做一个web service的相关程序??不知道哪里出问题了?谢谢!!! <?php class soap { private $tel; private $num; public function Book($tel,$num) { file_put_contents("d:/mylog.log",$tel,FILE_APPEND); $this->tel=$tel; $this->num=$num;//???? $conn=mysql_con

我在做一个万年历,谁来给我解释一下这里的代码?

问题描述 varlunarInfo=newArray(0x4bd8,0x4ae0,0xa570,0x54d5,0xd260,0xd950,0x5554,0x56af,0x9ad0,0x55d2,0x4ae0,0xa5b6,0xa4d0,0xd250,0xd295,0xb54f,0xd6a0,0xada2,0x95b0,0x4977,0x497f,0xa4b0,0xb4b5,0x6a50,0x6d40,0xab54,0x2b6f,0x9570,0x52f2,0x4970,0x6566,0xd4a0

c语言-电话号码本算法问题中一人多号码问题的解决方案

问题描述 电话号码本算法问题中一人多号码问题的解决方案 设计一个电话号码本算法,要求人物有两个及以上的电话号码的情况的C语言代码实现 解决方案 如果你不考虑可扩展性和内存的浪费问题,那么下面这个基本符合你的要求,注意:这里没有进行错误检测,和内存回收,这个自己可以稍加修改 #include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct _CallBookMark{ char name[30];

做一个自动修改本机IP和mac的bat文件

原文:做一个自动修改本机IP和mac的bat文件 1.ip bat修改理论探讨       前两天我突然萌生了一个念头:能不能做一个小程序来实现自动配置或修改IP和mac,达到一键搞定的目的,这样尤其适合那些带着笔记本到处跑的商务人员,于是我首先想到了bat处理.       查阅资料后发现修改iP有现成的命令,但是修改mac相对麻烦一些,需要智能地修改注册表. 修改ip命令如下: netsh interface ip set address name="本地连接" source=st

ios-在IOS上我想做一个调用自带地图,但又不显示地图,只要定位出详细地址的APP

问题描述 在IOS上我想做一个调用自带地图,但又不显示地图,只要定位出详细地址的APP 因为我是新手,想自己做一个简单的APP,功能如下: 1.首页上,点击定位按钮(dwButton),能在一个XS(label控件)上显示我现在所在位置的详细地址,比如:中国广东省深圳市南山区登良路26号XX大厦 2.点击历史定位按钮 (lsButton),跳转到一个新的列表上,能查看过去定位过的地址(地址在10~20个),最下面有一个返回按钮(fhButton),点击跳回首页 3.过去定位过的地址会保存在本地数

做一个网站,需要从哪些方面考虑

问题描述 如题,本人菜鸟级别,想通过做一个网站让自己增长自己的水平,不知道做一个跟阿里巴巴功能近世网店系统,需要从哪些方面考虑呢?目前我想到的是,1负载均衡2容错处理3权限认证4Session控制5分布式数据库6页面美工望大牛们多多指教,另外就上面1-5的几项,有哪些比较好的解决方案?感激不尽 解决方案 解决方案二:响应速度,美工,布局解决方案三:恩,首先非常感谢!我还想知道,响应速度上有什么具体的解决方案吗?解决方案四:安全问题解决方案五:引用3楼feiyangdesky的回复: 安全问题 有

自已动手做一个最简版的Nhibernate

最近动手做一个项目,结果项目延期了,自己分析一下,大部分的时间花在了与项目中数据的持久化那一块了,觉得自己有点吃亏,原因是自己对Nhiberate不太熟,经常出错,并且,一个很小的项目,所有的东西加起来都不到1M,却因为引用了Nhibernate,加上Nhiberante必须用的几个DLLL很整个工程变得很大,觉得有点过分,所以想来想去,就决定做一个自己版的Nhiberate,这是第一个版本的代码,刚刚写出来, 其中的东西,都集中在了静态类里了,还在要类中实现自己的load,update,ins

操作-电话号码本中的按值查找问题的调用函数问题

问题描述 电话号码本中的按值查找问题的调用函数问题 写的是一个电话号码簿,我想实现按值查找功能,查找后若找不到相同的元素则将该元素补齐后插入到原数组中,所以我调用后面的插入函数:若找到相同的元素则将这个一组元素打印出来,所以我调用了输出函数.问题是,这里的调用不行,可能是我调用错了,所以想问下怎么改? include include include #define ERROR 0 #define OK 1 #define RL 200 typedef struct{ char *name[RL]