本文目录一览:
- 1、c语言程序设计,通信录管理系统中的拔号功能怎么写?
- 2、求用C语言编写手机通讯录系统的程序
- 3、AT89c51单片机实现4*4拨号输入,并用6位数码管显示,从右往左依次显示,求大神c语言指教,如
- 4、如何用批处理或者c语言 创建pppoe拨号连接
- 5、急!!求一个用电话上网拨号的程序 用C语言做!!!!
- 6、请强人帮忙分析下这段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