Linux C和MySQL数据库写的一个“电话本管理程序”
Linux C和MySQL数据库写的一个“电话本管理程序”,模拟手机平台写一个”电话本管理程序“
1.显示操作菜单
2.根据菜单可以做出如下操作
a.显示出所有联系人电话号码
b.根据姓名查找电话号码
c.支持按照姓氏查找电话号码
d.允许修改已经查找到联系人的号码
e.允许删除一个联系人
f.允许增加一个联系人的号码,如果联系人已经存在,一个联系人最多保存三个号码
3.退出程序
- #include<stdio.h>
- #include<stdlib.h>
- #include<mysql.h>
- #include<string.h>
- void createTable(MYSQL * conn)//建立数据库和表
- {
- mysql_query(conn,"drop database if exists phonebook;");
- mysql_query(conn,"create database phonebook;");
- mysql_query(conn,"use phonebook;");
- mysql_query(conn,"create table contacts(Name varchar(20) default 'no name',Telnum varchar(20));");
- mysql_query(conn,"insert into contacts values('gw','15974165855');");
- mysql_query(conn,"insert into contacts values('zp','13420995347');");
- }
- void show_menuAll()
- {
- printf("==========欢迎来到手机数据库===========\n");
- printf("\ta.显示所有联系人\n\tb.根据姓名查找号码\n\tc.添加联系人及号码\n\td.删除联系人\n\te.修改联系人号码\n\tf.退出电话簿\n");
- printf("请选择\t");
- }
- void show_menuName()
- {
- printf("\t1.安姓名精确查找\n\t2.按姓氏模糊查找\n\t3.返回\n");
- printf("请选择查找方式:\n");
- }
- void display_select(MYSQL * conn)//屏幕显示select查询出来的信息
- {
- MYSQL_RES *res;//声明存储结构
- res=mysql_store_result(conn);
- int row1=mysql_num_rows(res);
- int col=mysql_num_fields(res);
- // printf("row=%d\tcol=%d\n",row1,col);
- MYSQL_ROW row;//成名取数据的结构,不是指针
- int i;
- while((row=mysql_fetch_row(res))!=NULL)
- {//判断是否数据全部去完,函数返回NULL表示数据取完
- for(i=0;i<col;i++)
- {
- // printf("%s\t%s\n",row[0],row[1]);
- printf("%s\t",row[i]);
- }
- printf("\n");
- }
- mysql_free_result(res);
- }
- void select_By_name(MYSQL *conn)//按姓名查询联系人
- {
- char name[20];
- scanf("%s",name);
- char sql1[64]="select Telnum from contacts where Name='";
- char sql2[4]="';";
- strcat(sql1,name);
- strcat(sql1,sql2);
- mysql_query(conn,sql1);
- display_select(conn);
- }
- void select_By_firstname(MYSQL *conn)//按姓氏查询联系人
- {
- char name[20];
- scanf("%s",name);
- char sql1[64]="select Telnum from contacts where Name like '";
- char sql2[4]="%';";
- strcat(sql1,name);
- strcat(sql1,sql2);
- mysql_query(conn,sql1);
- display_select(conn);
- }
- void insert_Contacts(MYSQL *conn)//插入联系人信息
- {
- char tel[20];
- char name[20];
- scanf("%s%s",&name,&tel);
- //insert into contacts values('gw','123213');
- char sql1[64]="insert into contacts values('";
- char sql2[4]="','";
- char sql3[4]="');";
- strcat(sql1,name);
- strcat(sql1,sql2);
- strcat(sql1,tel);
- strcat(sql1,sql3);
- mysql_query(conn,sql1);
- }
- void delete_by_name(MYSQL *conn)//按姓名删除联系人
- {
- char name[20];
- scanf("%s",name);
- char sql1[64]="delete from Telnum where Name='";
- char sql2[4]="';";
- strcat(sql1,name);
- strcat(sql1,sql2);
- mysql_query(conn,sql1);
- printf("删除成功!\n");
- }
- void alter_by_name(MYSQL *conn)//修改联系人号码
- {
- char name[20];
- char tel[20];
- scanf("%s%s",name,tel);
- char sql1[64]="update student3 set Telnum='";
- char sql2[64]="'where Name='";
- char sql3[4]="';";
- strcat(sql1,tel);
- strcat(sql1,sql2);
- strcat(sql1,sql3);
- mysql_query(conn,sql1);
- printf("修改成功!\n");
- }
- //主函数
- int main(int argc,char *argv[])
- {
- MYSQL * conn=NULL;
- conn=mysql_init(NULL);
- if(mysql_real_connect(conn,"localhost","root","root","test",3306,NULL,0)==NULL)
- {
- printf("connect error %s\n",mysql_error(conn));
- return -1;
- }
- createTable(conn);
- while(1)
- {
- show_menuAll();
- char ch1;//接收屏幕选择;
- scanf("%c",&ch1);
- if(ch1 == 'a')//显示所有联系人信息
- {
- mysql_query(conn,"select * from contacts;");
- display_select(conn);
- printf("\t1.返回\n\t2.退出\n");
- getchar();
- char i;
- scanf("%c",&i);
- if(i=='1')
- continue;
- else
- break;
- }
- if(ch1 == 'b')//根据姓名查找号码
- {
- show_menuName();
- getchar();
- char ch2;//
- scanf("%c",&ch2);
- if(ch2 == '1')//按姓名全称查找
- {
- while(1)
- {
- printf("\t青输入联系人全称:\n");
- select_By_name(conn);
- printf("\t1.继续查找\n\t2.退出\n");
- getchar();
- char l;
- scanf("%c",&l);
- if(l=='1')
- continue;
- else
- break;
- }
- }
- else if(ch2 == '2')//按姓氏模糊查找
- {
- while(1)
- {
- printf("\t清输入联系人姓氏:\n");
- select_By_firstname(conn);
- printf("\t1.继续查找\n\t2.退出\n");
- getchar();
- char m;
- scanf("%c",&m);
- if(m=='1')
- continue;
- else
- break;
- }
- }
- else if(ch2 == '3')
- {
- continue;
- }
- }
- if(ch1 == 'c')//添加联系人及号码
- {
- while(1)
- {
- insert_Contacts(conn);
- printf("是否继续添加y/n\n");
- getchar();
- char j;
- scanf("%c",&j);
- if(j == 'y')
- continue;
- else
- break;
- }
- continue;
- }
- if(ch1 == 'd')//删除联系人
- {
- while(1)
- {
- printf("\t请输入需要删除的联系人姓名:\n");
- delete_by_name(conn);
- printf("是否继续删除y/n\n");
- getchar();
- char n;
- scanf("%c",&n);
- if(n == 'y')
- continue;
- else
- break;
- }
- continue;
- }
- if(ch1 == 'e')//修改联系人号码
- {
- while(1)
- {
- printf("\t请输入需要修改的联系人姓名:\n");
- alter_by_name(conn);
- printf("是否继续删除y/n\n");
- getchar();
- char k;
- scanf("%c",&k);
- if(k == 'y')
- continue;
- else
- break;
- }
- continue;
- }
- if(ch1 == 'f')
- {
- printf("退出成功\n");
- break;
- }
- }
- mysql_close(conn);
- return 0;
- }
相关推荐
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25
冰蝶 2020-04-20