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

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/300580.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 12:51
下一篇 2024-12-29 12:52

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29

發表回復

登錄後才能評論