本文目錄一覽:
- 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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/300580.html