您的位置:

c语言拨号功能代码,c语言拨号功能代码大全

本文目录一览:

c语言程序设计,通信录管理系统中的拔号功能怎么写?

printf("%c",CH); 后面用 \a 发出声音或者用

#includestdio.h

#includewindows.h

int main()

{

Beep(523,500);

Beep(587,500);

}

求用C语言编写手机通讯录系统的程序

以前写了一个简单的:

#include stdio.h

#include stdlib.h /*与malloc.h差不多*/

#include string.h

#include iostream

using namespace std;

#define maxlen 15

struct persons

{int num; /*定义结构体数组用于缓存数据*/

char name[20];

char e_addr[20];

char tel_no[15];

char sim_no;

char arch;

}persons[maxlen];

typedef struct lnode

{ /*通讯录结构中结点的定义*/

int num;

char name[20];

char e_addr[20];

char tel_no[15];

char sim_no;

char arch;

struct lnode *next;

}listnode,*linklist;

linklist head=NULL,r=NULL; /*定义头指针和尾指针*/

listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7,*p8,*p9;

int i;

char name1[10],ch;

char tel_no1[15];

char arch1;

char sim_no1;

char e_addr1[20];

char s1[20];

FILE *fp; /*定义文件指针*/

void creat() /*将文件的信息读入结构体数组在转存入链表中*/

{ int j;

long k;

fp=fopen("数据文件.txt","r t"); /*打开文件*/

if(fp!=NULL)

{for(i=0;i=maxlen;i++ )

{ j=fgetc(fp);

if(j==EOF)

return;

k=i;

fseek(fp,k*sizeof(struct persons),0); /*读取一个人的信息*/

fread(persons[i],sizeof(struct persons),1,fp);

s=(linklist)malloc(sizeof(listnode)); /*装存入链表中*/

s-num=persons[i].num;

strcpy(s-name,persons[i].name);

strcpy(s-e_addr,persons[i].e_addr);

strcpy(s-tel_no,persons[i].tel_no);

s-sim_no=persons[i].sim_no;

s-arch=persons[i].arch;

if(head==NULL) /*用尾插法将其插入链表中*/

else

{r-next=s;

r=s;r-next=NULL;

}

}fclose(fp);

}

else

{ fp=fopen("数据文件.txt","w"); /*不能打开另开辟一个文件*/

i=1;

}

}

void Show()

void Delete()

void Input() /*向.通讯录中输入一个人的信息*/

{ s=(linklist)malloc(sizeof(listnode));

printf("\n\n\t请输入该用户的信息:");

printf("姓名:");

scanf("%s",s-name);

printf("电话号码:");

scanf("%s",s-tel_no);

printf("单键拨号:");

scanf("%s",s-sim_no);

printf("E-mail地址:");

scanf("%s",s-e_addr);

printf("类别:");

scanf("%s",s-arch);

if(head==NULL)printf("\n\n");

else

{p8=head;

while(p8!=NULLstrcmp(s-name,p8-name)!=0strcmp(s-tel_no,p8-tel_no)!=0)

p8=p8-next;

if(p8!=NULL)

{printf("您添加的用户已存在!");

free(s);}}

if(head==NULL)

{

s-next = 0;

head=s;

r = s;

}

else

{

s-next = 0;

r-next = s;

r = s;

}

}

void Alter()

int main()

{

system("color a");

creat();

do

{

printf("\n\n\t\t请选择操作:");

printf("\n\t\t1.显示通讯录");

printf("\n\t\t2.删除通讯录");

printf("\n\t\t3.添加通讯录");

printf("\n\t\t4.编辑通讯录");

printf("\n\n\n");

printf("\t请选择:");

cinch;

switch(ch)

{ case '1': Show(); /*用单条件多选择语句实现调用与循环*/

break;

case '2': Delete();

break;

case '3': Input();

break;

case '4': Alter();

break;

fclose(fp);

exit(0);

break;

default:

printf("\n\t The num should 1-6!!! \n");

break;

}

}

while(1);

}

AT89c51单片机实现4*4拨号输入,并用6位数码管显示,从右往左依次显示,求大神c语言指教,如

/

#include reg51.h

#include intrins.h

#define uchar unsigned char

#define uint unsigned int

/************* 12864LCD引脚定义 *************/

#define LCD_data P0 //数据口

sbit LCD_RS = P2^6; //寄存器选择输入

sbit LCD_RW = P2^5; //液晶读/写控制

sbit LCD_EN = P2^7; //液晶使能控制

sbit LCD_PSB = P3^2; //串/并方式控制

sbit LCD_RST = P3^7; //液晶复位端口

#define NOP(); {_nop_();_nop_();_nop_();_nop_();};

/*********************************************************/

uchar xdata DIS1[] ={"机组及装架号 "};

uchar xdata DIS2[] ={"输入及存储成功 "};

uchar a;

uchar asc2[]={"123A456B789C*0#D"};//asc2码4*4键盘显示专用

uchar keydat[6]=0;

uchar keycache;

uchar keycache1;

/* 延时函数 */

void delay(int ms)

{unsigned int i;

while( ms-- != 0)

{

for(i = 0; i 600; i++);

}

}

/*******************************************************************/

/* */

/*检查LCD忙状态 */

/*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */

/* */

/*******************************************************************/

bit lcd_busy()

{ bit result;

LCD_RS = 0;

LCD_RW = 1;

LCD_EN = 1;

NOP();

result = (bit)(P00x80);

LCD_EN = 0;

return(result);

}

/*******************************************************************/

/* */

/*写指令数据到LCD */

/*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */

/* */

/*******************************************************************/

void lcd_wcmd(uchar cmd)

{

while(lcd_busy());

LCD_RS = 0;

LCD_RW = 0;

LCD_EN = 0;

_nop_();

_nop_();

P0 = cmd;

NOP();

LCD_EN = 1;

NOP();

LCD_EN = 0;

}

/*******************************************************************/

/* */

/*写显示数据到LCD */

/*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */

/* */

/*******************************************************************/

void lcd_wdat(uchar dat)

{

while(lcd_busy());

LCD_RS = 1;

LCD_RW = 0;

LCD_EN = 0;

P0 = dat;

NOP();

LCD_EN = 1;

NOP();

LCD_EN = 0;

}

/*******************************************************************/

/* */

/* LCD初始化设定 */

/* */

/*******************************************************************/

void lcd_init()

{

LCD_PSB = 1; //并口方式

LCD_RST = 0; //液晶复位

delay(3);

LCD_RST = 1;

delay(3);

lcd_wcmd(0x34); //扩充指令操作

delay(5);

lcd_wcmd(0x30); //基本指令操作

delay(5);

lcd_wcmd(0x0C); //显示开,关光标

delay(5);

lcd_wcmd(0x01); //清除LCD的显示内容

delay(5);

}

/*********************************************************/

/* */

/* 设定显示位置 */

/* */

/*********************************************************/

void lcd_pos(uchar X,uchar Y)

{

uchar pos;

if (X==1)

{X=0x80;}

else if (X==2)

{X=0x90;}

else if (X==3)

{X=0x88;}

else if (X==4)

{X=0x98;}

pos = X+Y ;

lcd_wcmd(pos); //显示地址

}

/*********************************************************

* *

* 清屏函数 *

* *

*********************************************************/

void clr_screen()

{

lcd_wcmd(0x34); //扩充指令操作

delay(5);

lcd_wcmd(0x30); //基本指令操作

delay(5);

lcd_wcmd(0x01); //清屏

delay(5);

}

/**************************************************************

* 名称:KeyRvs()

* 功能:P2外接4×4按键, 按照反转法读出键值

* 输出:按键值0~15/如无键按下, 返回16

***************************************************************/

uchar KeyRvs(void)

{

uchar temH, temL, key;

P1 = 0xf0; //低四位先输出0

temH = P1;//读入,高四位含有按键信息

P1 = 0x0f; //然后反转输出0

temL = P1;//读入,低四位含有按键信息

switch(temH)

{

case 0xe0: key = 0; break;

case 0xd0: key = 1; break;

case 0xb0: key = 2; break;

case 0x70: key = 3; break;

default: return 16;//按下的不是上述按键,就当是没有按键

}

switch(temL) {

case 0x0e: return key;

case 0x0d: return key + 4;

case 0x0b: return key + 8;

case 0x07: return key + 12;

default: return 16;//按下的不是上述按键,就当是没有按键

}

}

/***************************************************************************************

函数名:UART串口初始化函数

调 用:UART_init();

结 果:启动UART串口接收中断,允许串口接收,启动T/C1产生波特率(占用)

备 注:振荡晶体为12MHz,PC串口端设置 [ 4800,8,无,1,无 ]

/**********************************************************************************************/

void UART_init (void){

//EA = 1; //允许总中断(如不使用中断,可用//屏蔽)

//ES = 1; //允许UART串口的中断

TMOD = 0x20; //定时器T/C1工作方式2

SCON = 0x40; //串口工作方式1,允许串口接收(SCON = 0x40 时禁止串口接收)

TH1 = 0xF3; //定时器初值高8位设置

TL1 = 0xF3; //定时器初值低8位设置

PCON = 0x80; //波特率倍频(屏蔽本句波特率为2400)

TR1 = 1; //定时器启动

}

/***************************************************************************************

函数名:UART串口发送函数

调 用:UART_T (?);

参 数:需要UART串口发送的数据(8位/1字节)

结 果:将参数中的数据发送给UART串口,确认发送完成后退出

/**********************************************************************************************/

void UART_T (unsigned char UART_data){ //定义串口发送数据变量

SBUF = UART_data; //将接收的数据发送回去

while(TI == 0); //检查发送中断标志位

TI = 0; //令发送中断标志位为0(软件清零)

}

uchar i;

/*********************************************************

*

* 主函数 好难!!!!!!!!基本功能实现

功能1键盘输入6个值,显示在12864上

功能2 *键修改

* 功能3 #键串口输出对应6个asc2码 并退出

*********************************************************/

void main()

{

delay(100); //上电,等待稳定

lcd_init(); //初始化LCD

UART_init ();

a=0;

lcd_pos(1,1); //设置显示位置为第一行

for(i=0;i16;i++)

{

lcd_wdat(DIS1[i]);

while(lcd_busy());

}

while(1)

{

uchar kkey;

do{keycache=KeyRvs(); }

while(keycache==16);

delay(20);

do{keycache1=KeyRvs(); }

while(keycache1==16);

if(keycache1==keycache){kkey=keycache1;}

do{keycache=KeyRvs();}

while(keycache!=16);

if(a=5(kkey!=14kkey!=12))

{ keydat[a]=keycache1;

lcd_pos(2,(a+1));

while(lcd_busy());

lcd_wdat(asc2[keydat[a]]);

a++;

}

if(a=1kkey==12)

{ lcd_pos(2,a);

while(lcd_busy());

lcd_wdat(asc2[0x20]);

keydat[a]=0;

a--;

continue;

}

if(a5kkey==14)

{

UART_T (asc2[keydat[0]]);

UART_T (asc2[keydat[1]]);

UART_T (asc2[keydat[2]]);

UART_T (asc2[keydat[3]]);

UART_T (asc2[keydat[4]]);

UART_T (asc2[keydat[5]]);

lcd_pos(2,0);

for(i=0;i16;i++)

{

lcd_wdat(DIS2[i]);

while(lcd_busy());

}

delay(1000);

break;

}

}

}

如何用批处理或者c语言 创建pppoe拨号连接

打开桌面“网络”图标之后,鼠标右键点击“属性”。

点击网络属性之后,可以进入网络和共享中心。或者通过任务栏右下角打开“打开网络和共享中心”。

然后在网络和共享中心中,打开找到“设置新的连接或网络”。

弹出的设置连接或网络中,点击选择“连接到internet”第一项,然后下一步。

如当前有宽带连接就会提示信息(如桌面没有宽带连接图标,可直接把宽带连图标发送到桌面)。

如没有宽带拨号连接的话,可点击宽带(PPPOE)进行设置添加拨号连接。

点击之后,列出宽带连接拨号向导。

设置宽带拨号账号后,系统会自动连接宽带拨号服务商进行身份验证。

如新建好宽带连接后,打开网络和共享中心找到“更改适配器设置”。

打开之后能看到当前电脑主机的网卡连接,其中有一个宽带连接。

找到宽带连接后,鼠标右击选择“连接”即可进行连接,如之前没有设置密码,需要重新输入。

点击链接之后,进行ISP身份验。

急!!求一个用电话上网拨号的程序 用C语言做!!!!

VC++6.0拨号代码

DWORD dwCb = sizeof(RASENTRYNAME);

DWORD dwEntries = 0;

RASENTRYNAME ren = {0};

ren.dwSize = dwCb;

hConn=NULL;

if (ERROR_SUCCESS == RasEnumEntries(NULL,NULL,ren,dwCb,dwEntries))

{

RASDIALPARAMS rp = {0};

rp.dwSize = sizeof(RASDIALPARAMS);

lstrcpy(rp.szEntryName, ren.szEntryName);

BOOL fPass;

RasGetEntryDialParams(NULL, rp, fPass);

if (ERROR_SUCCESS == RasDial(NULL, NULL, rp, 0, NULL, hConn))

{

OutputDebugString("OK");

SetTimer(NULL,1000,NULL);

}

}//自动拨号

请强人帮忙分析下这段C语言程序

c语言中字符串不能直接用“==”来比较。有两种方法解决这个问题:

一:使用string.h头文件中的strcmp()函数来比较两个字符串。

二:使用int来接收输入的参数,这样,int值就可以直接用==比较了。

bwt:scanf处有问题,如果是读入字符串应该用%s, 且字符串前面不应该加"*"。

如果读入int值,请使用%d