導航:首頁 > 編程知識 > 用什麼編程語言能找到別人手機號

用什麼編程語言能找到別人手機號

發布時間:2023-05-29 04:12:06

安卓app主要用什麼編程語言的

安卓Android系統版本,開發語言是Java;

其他系統開發使用語言:

1、蘋果ios系統版本,開發語言是Objective-C;

2、微軟Windows phone系統版本,開發語言是C#;

3、塞班symbian系統版本,開發語言是C++。

App開發,是指專注於手機應用軟體開發與服務。App是application的縮寫,通常專指手機上的應用軟體,或稱手機客戶端。另外目前有很多在線app開發平台。

當然移動互聯網時代是全民的移動互聯網時代,是每個人的時代,也是每個企業的時代。APP便捷了每個人的生活,APP開發讓每個企業都開始了移動信息化進程。

(1)用什麼編程語言能找到別人手機號擴展閱讀:

APP開發工具

MOTODEV Studio for Android

MOTODEV Studio for Android,這是基於Android的開發環境,為開發者們提供新的MOTODEV App Accelerator Program使他們可以開發出更適合摩托羅拉Android手機的應用程序

J2ME開發插件 Mobile Tools for Java

Mobile Tools for Java (MTJ) 是Nokia公司開發的一款 Eclipse插件,用於支持 Java 手機應用程序開發。其前身就是大名鼎鼎的 EclipseME。

NOKIA手機開發包 gnokii

gnokii 是一個NOKIA手機開發包,可支持大多數NOKIA手機的型號。功能無比強大可以修改LOGO,收發簡訊,撥打/接聽電話,編輯鈴聲。甚至還可以取到對方手機的蜂窩號(Cell ID),從而起到定位的作用。

apk文件修改工具 Root Tools

RootTools是一個新的工具軟體,Android開發者可以在這一工具軟體的支持下,對.apk格式的文件進行再次修改,讓程序表現更加出色,滿足用戶的需求。Root Tools裡面自帶有很多工具,比如BusyBox,它裡面集成壓縮了很多Linux的工具和命令,這樣軟體開發者在對....

IDEA的Android開發插件 idea-android

idea-android 是在 IDEA 集成開發環境中開發 Android 應用程序的插件。

Android開發工具 MOTODEV Studio

MOTODEV Studio是摩托羅拉公司開發的 Android 應用開發工具。這是一個 Eclipse 的插件。 該插件同時也提供了 JavaME 應用的開發和 WebUI 的開發功能。

參考資料:網路---app開發

Ⅱ c語言程序設計——編一個通訊錄管理程序:序號 姓名 電話 地址

(晚了)這是我以前的一個作業,你可以借鑒一下

#include <string.h>
#include<iostream>
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
#define LEN sizeof(struct friends)
#define CODE_SIZE 10
struct friends
{

char num[20];//編塌坦滾號
char name[100];//用戶姓名
char phone[20];//電話號碼
char home[100];//通訊地址
char email[100]; //email
char occupation[100];//工作
char birthday[20];//出生日期
struct friends *next;
};
int password()
{
FILE *fp;
char s1[CODE_SIZE], s2[CODE_SIZE], s3[CODE_SIZE], fun;
while (1)
{
fp = fopen("password.txt", "r");
if (fp == NULL)
{
printf("第一次運行,請輸入初始密碼(最多8位):\n");
scanf("%s", s1);
printf("請再次輸入初始密碼:\n");
scanf("%s", s2);
if (strcmp(s1, s2) == 0)
{
fp = fopen("password.txt", "w+");
if (fp == NULL)
{
printf("創建文件失敗退出\n");
getch();
exit(1);
}
else
{
//對s1加密
for (int i = 0; i<CODE_SIZE&&s1[i] != ' '; i++)
{
s1[i] = s1[i] + i;
}

fputs(s1, fp);
printf("初始信塌密碼創建完成.\團余n");
}
}
else
{
printf("兩次輸入的密碼不一致!\n");
}
fclose(fp);
}
else
{
fgets(s1, CODE_SIZE, fp);
fclose(fp);

printf("輸入密碼:\n");
scanf("%s", s2);
//對s1解密
for (int i = 0; i<CODE_SIZE&&s1[i] != ' '; i++)
{
s1[i] = s1[i] - i;
}
loop:
if (strcmp(s1, s2) == 0)
{

printf("-----密碼正確-----\n");
printf("-----請選擇功能-----\n");
printf("-----1:修改密碼-----\n");
printf("-----2:進入通訊錄-----\n");
scanf("%d", &fun);
switch (fun)
{
case 1: printf("請輸入新密碼\n");
scanf("%s", s1);
printf("請再次輸入新密碼\n");
scanf("%s", s2);
if (strcmp(s1, s2) == 0)
{
fp = fopen("password.txt", "w+");
if (fp == NULL)
{
printf("文件錯誤!\n");
}
else
{ //對s1加密
for (int i = 0; i<CODE_SIZE&&s1[i] != ' '; i++)
{
s1[i] = s1[i] + i;
}
fputs(s1, fp);
fclose(fp);
printf("密碼修改成功\n");
}
}
else
{
printf("兩次輸入的密碼不一致,修改失敗\n");
}

break;
case 2: return 1;
default: printf("無效指令\n");
}

}
else
{
printf("密碼錯誤\n請重新輸入\n");
scanf("%s", s2);
goto loop;

}
}
printf("------------------\n\n\n\n");
}
}
void face(void)//功能選擇面板
{
cout << "********************************************************************" << endl;
cout << "\t\t\t☆★歡迎使用***通訊錄☆★" << endl;
cout << "\n\n\t☆★選擇你需要操作的功能:★☆" << endl;
cout << "\t\t\t1.增加通訊錄信息" << endl;
cout << "\t\t\t2.顯示通訊錄中所有記錄" << endl;
cout << "\t\t\t3.刪除需要刪除的信息" << endl;
cout << "\t\t\t4.以名字查詢所需的信息" << endl;
cout << "\t\t\t5.保存並退出" << endl;
cout << "\t\t\t6.退出不保存!!" << endl;

cout << "********************************************************************" << endl;
}
void print(struct friends *head)
{
struct friends *p;
p = head;
system("CLS");
cout << "*************************************************************" << endl;
cout << "==================== → 用戶信息記錄表 ← ===================" << endl;
cout << "*************************************************************" << endl;
if (head != NULL)
do
{
cout << "聯系人編號:" << p->num << endl;
cout << "聯系人姓名:" << p->name << endl;
cout << "聯系人電話號碼:" << p->phone << endl;
cout << "聯系人地址:" << p->home << endl;
cout << "聯系人電子郵箱:" << p->email << endl;
cout << "聯系人職業" << p->occupation << endl;
cout << "聯系人出生日期:" << p->birthday << endl;
cout << "********************************************************" << endl;
p = p->next;
} while (p != NULL);
else
{
cout << "對不起!!沒有任何聯系人記錄!!" << endl;
cout << "=============================================================\n" << endl;
}
}
//增添電子通訊錄中的內容,即創建連表過程
struct friends *append(struct friends *head)
{
struct friends *p0 = NULL, *p1, *p2;
p1 = head;
p2 = head;
system("CLS");
cout << "********************************************************************" << endl;
cout << "\t\t你能在此目錄下創建並添加聯系人信息" << endl;
cout << "********************************************************************" << endl;
p0 = (struct friends *)malloc(LEN);
cout << "請輸入聯系人編號:" << endl;
gets(p0->num);
cout << "請輸入聯系人姓名:" << endl;
gets(p0->name);
cout << "請輸入聯系人電話號碼:" << endl;
gets(p0->phone);

cout << "請輸入聯系人地址:" << endl;
gets(p0->home);
cout << "請輸入聯系人Email:" << endl;
gets(p0->email);
cout << "請輸入聯系人職位:" << endl;
gets(p0->occupation);
cout << "請輸入聯系人出生日期:" << endl;
gets(p0->birthday);
//對插入的節點排序,按姓名的拼音順序
if (head == NULL)
{
head = p0; p0->next = NULL;
}
else
{
while ((strcmp(p0->name, p1->name)>0) && (p1->next != NULL))
{
p2 = p1; p1 = p1->next;
}
if ((strcmp(p0->name, p1->name)) <= 0)
{
if (head == p1)
head = p0;
else
p2->next = p0;
p0->next = p1;
}
else
{
p1->next = p0; p0->next = NULL;
}

cout << "恭喜你!!成功添加了聯系人信息!!" << endl;
cout << "********************************************************************" << endl;
}
return(head);

}

//電子通訊錄的維護(刪除),通過輸入聯系人ID號碼刪除聯系人數據
struct friends *del(struct friends *head)
{
struct friends *p1, *p2;
char num[12];
system("CLS");
cout << "********************************************************************" << endl;
cout << "================= → 用戶信息記錄刪除功能 ← ===============" << endl;
cout << "********************************************************************" << endl;
printf("輸入要刪除的聯系人編號:");
gets(num);
p1 = head;
if (head == NULL)
{
cout << "很抱歉!!沒有任何聯系人紀錄!!" << endl;
cout << "*******************************************************" << endl;
return(head);
}
while (p1 != NULL)
{
if (strcmp(p1->num, num) == 0)
{
if (p1 == head)
head = p1->next;
else p2->next = p1->next;
free(p1);
cout << "刪除記錄成功!!" << endl;
return(head);
}
p2 = p1;
p1 = p1->next;
}
cout << "對不起!!沒有要刪除的聯系人紀錄!!\n" << endl;
return(head);
}

//電子通訊錄的查找,關鍵字為用戶姓名;
void search(struct friends *head)
{
struct friends *p1, *p2;
char name[20];
p1 = head;
p2 = p1;
system("CLS");
cout << "***************************************************************" << endl;
cout << "================ → 用戶信息記錄查詢功能 ← ==================\n" << endl;
cout << "***************************************************************" << endl;
cout << "輸入要查找聯系人的姓名:" << endl;
gets(name);
while (p1 != NULL)
{
if (strcmp(p1->name, name) == 0)
{
cout << "聯系人編號:" << endl;
puts(p1->num);
cout << "聯系人姓名:" << endl;
puts(p1->name);
cout << "聯系人電話號碼:" << endl;
puts(p1->phone);
cout << "聯系人地址:" << endl;
puts(p1->home);
cout << "聯系人電子郵箱:" << p1->email << endl;
puts(p1->email);
cout << "聯系人職業" << p1->occupation << endl;
puts(p1 ->occupation);
cout << "聯系人出生日期:" << endl;
puts(p1->birthday);
cout << "=============================================================" << endl;
break;
}
p2 = p1;
p1 = p1->next;
}
if (p1 == NULL)
cout << "對不起!!沒有該聯系人的紀錄!!" << endl;

}
void save(struct friends *head)
{
FILE *fp, *fp1;
struct friends *p;
p = head;
fp = fopen("record.txt", "w");
fp1 = fopen("record.txt", "w");
fprintf(fp1, "=============== → 用戶信息記錄表 ← =================\n");

while (p != NULL)
{

fprintf(fp1, "====================================================\n");
fprintf(fp1, "聯系人編號:%s\n", p->num);
fprintf(fp1, "聯系人姓名:%s\n", p->name);
fprintf(fp1, "聯系人電話:%s\n", p->phone);
fprintf(fp1, "聯系人家庭地址:%s\n", p->home);
fprintf(fp1, "聯系人電子郵箱:%s\n", p->email);
fprintf(fp1, "聯系人職業:%s\n", p->occupation);
fprintf(fp1, "聯系人出生日期:%s\n", p->birthday);
p = p->next;
}
fprintf(fp1, "*************************************************************\n");
fclose(fp1);
fclose(fp);
cout << "成功儲存,你能在record.txt找到相應紀錄" << endl;
cout << "**************************************************************" << endl;
cout << "PRESS ANY KEY TO EXIT." << endl;
getchar();
exit(1);
}
//電子通訊錄的記錄讀盤操作,使用文件指針;
struct friends *load(void)
{
FILE *fp;
struct friends *head = NULL, *p1 = NULL, *p2 = NULL;
char c;
int i;
fp = fopen("record.txt", "r");
for (i = 1; (c = fgetc(fp)) != -1; i++)
{
p1 = (struct friends *)malloc(LEN);
//fscanf(fp,"%s %s %s %s %s %s",p1->num,p1->name,p1->phone,p1->email,p1->home,p1->birthday);
if (i == 1)
{
head = p1; p2 = p1;
}
else
{
p2->next = p1; p2 = p1;
}
}
if (p1 == NULL)
{
fclose(fp); return(head);
}
p2->next = NULL;
fclose(fp);
return(head);
}

int main()
{
FILE *fp1, *fp2;
int a;//功能選擇需要的號碼
system("cls");
system("cls");
struct friends *head = NULL;
if ((fp1 = fopen("record.txt", "r")) == NULL)
{
fp2 = fopen("record.txt", "w");//如果不存在record.txt就創建一個
fclose(fp2);
}
head = load();

password();
system("cls");
while (1)
{
face();
printf("選擇你需要操作的功能號碼:");
cin >> a;
getchar();
switch (a)
{
case 1:head = append(head); break;
case 2:print(head); break;
case 3:head = del(head); break;
case 4:search(head); break;
case 5:save(head); break;
case 6:exit(0); break;
default:cout << "Enter error!!" << endl;
}

cout << "◇◆請按ENTER返回功能操作菜單◇◆" << endl;

getchar();
system("cls");

}

}

Ⅲ 編寫建立同學通訊錄包括姓名和電話號碼的c 語言程序

#include<stdio.h>
#include<string.h>
#include<windows.h>

#defineM500

structMan//定義信友碰結構體
{
charName[8];//名字
charDepart[20];//工作單位
charqq[10];//QQ號碼
charEmail[30];//郵箱
};

voidtext();//相當於主函數
void告冊text1();//菜單輸出
chartext2();//開始的版權信息輸出
intDelete(ManMan[],intSize);//刪除信息
voidDisplay(Manman[]);//顯示所有記錄
voidgetch();
intInsert(ManMan[],intSize);//插入模塊
voidModify(ManMan[],intSize);//修改模塊
intS_asname(ManMan[],intSize,intn);//查找信息
voidS_asqq(ManMan[],intSize);//按QQ查找模塊
intSave(ManMan[],intSize);//把數據寫入文件
intScan(ManMan[]);//從文本中讀取數據

voidmain()//主函數
{
text();//(這邊純屬蛋疼,最多加長系統運行時間)
}

voidtext()//相當於主函數
{
Manman[M];//500人的結構體數組
charcontrol=0;//菜單選擇控制變數
intsize=0;//保存當前已有的記錄
if(text2())//這邊可不要if,直接調用text2,顯示版權信息。
{
size=Scan(man);滑談//判斷文件是否存在
while(1)//菜單生成
{
text1();//菜單顯示
scanf(

Ⅳ 如何提郵箱中的手機號碼

提取郵箱中的手機號碼的方法是在郵箱的所有郵件中進行搜索查找。因為有些人用郵箱來注冊各種賬號,同時賬號中也會需要填寫手機號碼。所以,郵箱裡面鋒告可能會有一些關於手機號碼的注冊驗證郵件或者賬號注冊成功的郵件,這些郵件中就會銀毀明包含手機號碼。具體做法是,在郵箱中余好搜索包含「手機」、「手機號」、「注冊」、「驗證」等關鍵詞的郵件,這樣可以篩選出可能包含手機號碼的郵件。另外,有些郵件中會對手機號碼進行脫敏處理,比如用星號代替一部分手機號碼,但是仍然可以通過郵件中的其他信息來推斷出手機號碼。最後,為了保護個人隱私,對於找到的手機號碼,我們需要經過對方同意之後再使用或者轉發。

Ⅳ 用c語言用對方qq查對方電話號碼違法嗎

結論:用c語言通過對方qq查對方知渣電話號碼是違法的。

原因:通過對方qq查找對方電話號碼,涉及到個人隱私的泄露,這是非法的行為。
另外,任何未經授權、未經同意的信息查找都是不合法的。

內容延伸:虛正在進行任何信息查詢時,需要尊重個人隱私權,不得擅自獲取他人的差猛悔個人信息。
如果需要獲取他人的個人信息,則必須經過對方的同意並按照相關法規操作。
如果發現了任何侵犯個人隱私權的行為,可以向有關部門舉報。

Ⅵ c語言手機通訊錄程序啊~小弟初來,分數不高,望各位高手給指點指點吧!!!

這也要求貌似太多了
我這剛做了個簡單的一點的通訊錄
希望對LZ又點幫助
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
typedef struct//表示數據類型,可類比int
{
char name[15];
char city[15];
char telenub[15];//固定電話號碼
char email[20];
char qq[13];
char youbian[10];//表示郵編
}DataType;

FILE *fp;
typedef struct node{//結類型定義
DataType data;//節點數據域
struct node * next;//節點指針域
}ListNode;
typedef ListNode * LinkList;
LinkList head;
ListNode *p;
//函數說明
void myprint();
LinkList CreateList();
void InsertNode(LinkList head,ListNode *p);
ListNode * ListFind(LinkList head);
void DelNode(LinkList head);
void PrintList(LinkList head);

//用尾插法建立通訊錄鏈表函數
LinkList CreateList()
{
LinkList head=(ListNode *)malloc(sizeof(ListNode));//申請頭結點 分配存儲空間
ListNode *p,*rear;
int flag=0;//結束標志置0
rear=head;//尾指針初始指向頭結點
if((fp=fopen("record.txt","w+"))==NULL) //打開文件,並判斷打開是否正常
{
printf("打開文件失敗!!\n");//沒打開
exit(0); //退出
}
fprintf(fp,"%-15s%-20s%-15s%-20s%-10s%-12s\n","姓名","城市","電話","郵箱","QQ","郵編" );
while(flag==0)
{
p=(ListNode *)malloc(sizeof(ListNode));//申請新結點
printf(" 姓名 地址(城市) 電話 郵箱 QQ 郵編 \n");
scanf("%s%s%s%s%s%s",p->data.name ,p->data.city ,p->data.telenub ,p->data.email,p->data.qq,p->data.youbian );
fprintf(fp,"%-15s%-20s%-15s%-20s%-10s%-12s\n",p->data.name ,p->data.city ,p->data.telenub ,p->data.email,p->data.qq,p->data.youbian );
// fclose(fp);
rear->next=p;//新結點連接到尾結點之後
rear=p;//尾指針指向新結點

printf("是否結束建表?(1/0):");
scanf("%d",&flag);//讀入一個標志數據

}
rear->next=NULL;//終端結點指針域置空
return head;//返回鏈表頭指針
}

//在通訊錄鏈表head中插入節點
void InsertNode(LinkList head,ListNode *p)
{
ListNode *p1,*p2;
p1=head;
p2=p1->next;

while(p2!=NULL&&strcmp(p2->data.name,p->data.name)<0)
{
p1=p2;//p1指向剛訪問過的結點
p2=p2->next;//p2指向表的下一個結點
}
p1->next=p;//插入p所指向的的結點
p->next=p2;//連接表中剩餘部分
}

//有序通訊錄鏈上的查找

ListNode *ListFind(LinkList head)
{
ListNode *p;
char telenub[13];
char name[15];
int temp;
printf("請選擇按姓名或電話查詢(1/2):\n");
p=head->next;//假定通訊錄表帶頭結點
scanf("%d",&temp);
if(temp==1)
{
printf("請輸入要查找者的姓名");
scanf("%s",name);
while(p&&strcmp(p->data.name,name)!=0)
p=p->next;
if(p==NULL||strcmp(p->data.name,name)>0)
p=NULL;//沒有查到要查找的姓名
}
else
if(temp==2){
printf("請輸入要查找的電話號碼:\n");
scanf("%s",telenub);
while(p&&strcmp(p->data.telenub,telenub)<0)
p=p->next;
if(p==NULL||strcmp(p->data.telenub,telenub)>0)
p=NULL;
}
return p;
}

//通訊錄鏈表上結點的刪除
//先調用查詢函數,查詢到要刪除的結點,刪除結點即可。
void DelNode(LinkList head)
{
char temp;
ListNode *p,*q;
p=ListFind(head);//調用查找函數
if(p==NULL)
{
printf("沒有查到要刪除的通訊者!\n");
return;
}
printf("真的要刪除改結點嗎?(y/n):\n");
scanf("%s",&temp);
if(temp=='y'||temp=='Y')
{
q=head;
while(q!=NULL && q->next!=p)//此循環的含義是將q的指針域賦給p
q=q->next;
q->next=p->next;//刪除結點 這里為什麼不能用p=p->next
free(p);//釋放被刪除的節點空間
printf("通訊者已被刪除!\n");
}
}
//通訊錄鏈表的輸出函數
void PrintList(LinkList head)
{
ListNode *p;
p=head->next;//因為鏈表帶頭結點,使p指向鏈表開始結點

printf(" 姓名 地址 電話 郵 箱 QQ 郵編 \n");
printf("-------------------------------------------------------------------------\n");
/*if((fp=fopen("d://record.txt","r+"))==NULL) //打開文件,並判斷打開是否正常
{
printf("打開文件失敗!!\n");//沒打開
exit(0); //退出
}
while(feof(fp)==0)
{
fscanf(fp,"%15s%20s%15s%30s%10s%10s",p->data.telenub, p->data.name ,p->data.city ,p->data.email,p->data.qq,p->data.youbian);
printf("%15s,%20s,%15s,%30s,%10s,%10s",p->data.telenub, p->data.name ,p->data.city ,p->data.email,p->data.qq,p->data.youbian);
}
fclose(fp);*/
while(p!=NULL)
{
printf("%10s%10s%13s%15s%13s%12s\n",p->data.name,p->data.city,p->data.telenub,p->data.email,p->data.qq,p->data.youbian);
printf("-------------------------------------------------------------------------\n");
p=p->next;//後移一個結點
}
}
void myprint() /* 顯示菜單界面 */
{
printf("\n\n");
printf(" |--------------------------------|\n");
printf(" |★☆歡迎進入通訊錄管路系統☆★ |\n");
printf(" |--------------------------------|\n");
printf(" | 請輸入選項編號(0-5): |\n");
printf(" |--------------------------------|\n");
printf(" | 1--創建通訊錄鏈表 |\n");
printf(" | 2--好友結點的添加 |\n");
printf(" | 3--好友結點的查詢 |\n");
printf(" | 4--好友結點的刪除 |——————\n");
printf(" | 5--輸出通訊錄鏈表 |08信工一班 |\n");
printf(" | 0--退出 | 譚鵬 |\n");
printf(" |--------------------------------|——————\n");
printf("\n\n\n");
}
void main()
{
char choose,yes_no;

do
{
myprint(); /* 顯示主菜單 */
printf("\t");
choose=getch();
switch(choose)
{
case '1':printf("********************************************************************\n");
printf("\t\t* 通 訊 錄 鏈 表 的 建 立 *\n ");
printf("\t********************************************************************\n");
head=CreateList(); break; /* 創建 */
case '2':
printf("****************************************************************\n");
printf("\t\t* 通 訊 錄 鏈 表 的 添 加 *\n ");
printf("\t ****************************************************************\n");
printf("\t姓名 地址 電話 郵 箱 QQ 郵編 \n");
printf("\t*******************************************************************\n");
p=(ListNode *)malloc(sizeof(ListNode));//申請新結點
scanf("%s%s%s%s%s%s",p->data.name ,p->data.city ,p->data.telenub ,p->data.email,p->data.qq,p->data.youbian );
if((fp=fopen("tianjia.txt","w+"))==NULL) //打開文件,並判斷打開是否正常
{
printf("打開文件失敗!!\n");//沒打開
exit(0); //退出
}
fprintf(fp,"%-15s%-20s%-15s%-20s%-10s%-12s\n","姓名","城市","電話","郵箱","QQ","郵編" );
InsertNode(head,p);
fprintf(fp,"%-15s%-20s%-15s%-20s%-10s%-12s\n",p->data.name ,p->data.city ,p->data.telenub ,p->data.email,p->data.qq,p->data.youbian );
fclose(fp);

printf("\t\t\t結點添加完畢!");
break; /* 添加 */
case '3':
printf("************************************************************\n");
printf("\t* 好 友 信 息 的 查 詢 *\n ");

p=ListFind(head);
if(p!=NULL){
printf(" 姓名 地址 電話 郵 箱 QQ 郵編 \n");
printf("*************************************************************************\n");
printf("%10s%10s%13s%15s%13s%10s\n",p->data.name,p->data.city,p->data.telenub,p->data.email,p->data.qq,p->data.youbian);
printf("*************************************************************************\n");
}
else
printf("沒有查到要查詢的好友!");
break; /* 查詢 */
case '4':
printf("************************************************************\n");
printf("* 好 友 信 息 的 刪 除 *\n ");
printf("************************************************************\n");

DelNode(head);//刪除結點
break; /* 刪除 */
case '5':
printf("************************************************************\n");
printf("\t\t* 顯 示 所 有 好 友 信 息 *\n ");
printf("\t ************************************************************\n");
PrintList(head); break; /* 顯示 */
case '0': break;
default:printf("\n %c為非法選項!\n",choose);
}
if(choose=='0')
break;
printf("\n 按Y鍵回主目錄:\n\n\n");
do
{
yes_no=getch();
}while(yes_no!='Y'&&yes_no!='y');

}while(yes_no!='Y'||yes_no!='y');

}

Ⅶ 怎樣用匯編實現簡單電話簿程序設計

沒人幫我出點子,不過我的課程設計已棗李經做純岩嘩玩了。我自己把答案附上來,給需要的朋友一點幫助。
stack segment stack
dw 512 p(?)
stack ends

data segment
titlestr db 'Welcome to telephone directory!',0dh,0ah,'Enter your choice please!',0dh,0ah,'$'
menustr db '1:Select',0dh,0ah,'2:Insert',0dh,0ah,'3:Modify',0dh,0ah,'4:Delete',0dh,0ah,'5:Show all record',0dh,0ah,'8:Esc',0dh,0ah,'$'

namelist db 20 p(20 p(0))
telelist db 20 p(20 p(0))
newname db 20 p(0)
newtele db 20 p(0)
cnt db 1 p(0)
cntselect db 1 p(0)
choice db 1 p(0)

enter db 0dh,0ah,'$'

disname db 'Name:$'
distele db 'Tele:$'

backstr db 'Key 6 to main menu!'做行,0dh,0ah,'$'

disstr db 'All record!',0dh,0ah,'$'

selstr1 db '1:Select by name',0dh,0ah,'2:Select by telephone',0dh,0ah,'$'
selstr2 db 'The imformation!',0dh,0ah,'$'
selstr3 db 'Name is not exist!',0dh,0ah,'$'
selstr4 db 'Telephone is not exist!',0dh,0ah,'$'
selstr5 db 'Telephone directory is empty!',0dh,0ah,'$'

addstr1 db 'Input the newname and newtele!',0dh,0ah,'$'
addstr2 db 'Telephone directory is full!',0dh,0ah,'$'
addstr3 db 'Add successfully!',0dh,0ah,'$'

modstr1 db 'Newname:$'
modstr2 db 'Newtele:$'
modstr3 db 'Input new record!',0dh,0ah,'$'
modstr4 db 'Modified successfully!',0dh,0ah,'$'

delstr1 db 'Telephone directory is empty!',0d,0ah,'$'
delstr2 db 'Deleted successfully!',0dh,0ah,'$'

name1 db 'aaaaaaaaa$'
name2 db 'bbbbbbbbb$'
name3 db 'ccccccccc$'
name4 db 'ddddddddd$'
name5 db 'eeeeeeeee$'

telephone1 db '11111111111$'
telephone2 db '22222222222$'
telephone3 db '33333333333$'
telephone4 db '44444444444$'
telephone5 db '55555555555$'

data ends
code segment
main proc far
assume cs:code,ds:data

displaytitle proc near
lea dx,titlestr
mov ah,9
int 21h
lea dx,menustr
int 21h
ret
displaytitle endp

cshdata proc near
mov bx,0

lea si,name1
lea di,namelist
add di,bx
mov cx,20
cshname11:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshname12
loop cshname11
cshname12:
add bx,20

lea si,name2
lea di,namelist
add di,bx
mov cx,20
cshname21:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshname22
loop cshname21
cshname22:
add bx,20

lea si,name3
lea di,namelist
add di,bx
mov cx,20
cshname31:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshname32
loop cshname31
cshname32:
add bx,20

lea si,name4
lea di,namelist
add di,bx
mov cx,20
cshname41:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshname42
loop cshname41
cshname42:
add bx,20

lea si,name5
lea di,namelist
add di,bx
mov cx,20
cshname51:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshname52
loop cshname51
cshname52:
add bx,20

mov ax,bx ;初始化計數器cnt
mov bl,20
div bl
lea si,cnt
mov [si],al

mov bx,0

lea si,telephone1
lea di,telelist
add di,bx
mov cx,20
cshtele11:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshtele12
loop cshtele11
cshtele12:
add bx,20

lea si,telephone2
lea di,telelist
add di,bx
mov cx,20
cshtele21:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshtele22
loop cshtele21
cshtele22:
add bx,20

lea si,telephone3
lea di,telelist
add di,bx
mov cx,20
cshtele31:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshtele32
loop cshtele31
cshtele32:
add bx,20

lea si,telephone4
lea di,telelist
add di,bx
mov cx,20
cshtele41:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshtele42
loop cshtele41
cshtele42:
add bx,20

lea si,telephone5
lea di,telelist
add di,bx
mov cx,20
cshtele51:
mov al,[si]
mov [di],al
inc si
inc di
cmp al,'$'
jz cshtele52
loop cshtele51
cshtele52:
add bx,20
ret
cshdata endp

disdata proc near

lea dx,disstr
mov ah,09h
int 21h

lea si,cnt
mov cl,[si]
mov bx,0

disdata1:
lea dx,disname
mov ah,09h
int 21h

lea dx,namelist
add dx,bx
mov ah,09h
int 21h

lea dx,enter
mov ah,09h
int 21h

lea dx,distele
mov ah,09h
int 21h

lea dx,telelist
add dx,bx
mov ah,09h
int 21h

lea dx,enter
mov ah,09h
int 21h

add bx,20
loop disdata1

ret
disdata endp

adder proc near

lea si,cnt ;判斷電話簿是否已滿
mov al,[si]
cmp al,20
jb adder5

lea dx,addstr2
mov ah,09h
int 21h
jmp adder6

adder5: lea dx,addstr1
mov ah,09h
int 21h

lea dx,disname
mov ah,09h
int 21h

mov cl,19
lea si,newname
adder1: mov ah,01h
int 21h

cmp al,0dh
je adder2

mov [si],al
inc si
loop adder1

adder2: mov al,24h
mov [si],al

lea si,cnt ;計算目的地址的偏移量
mov bl,[si]
xor ax,ax
mov al,20
mul bl

lea si,newname
lea di,namelist
add di,ax
mov cx,20
cld
rep movsb

lea dx,enter
mov ah,09h
int 21h

lea dx,distele
mov ah,09h
int 21h

mov cl,19
lea si,newtele
adder3: mov ah,01h
int 21h

cmp al,0dh
je adder4

mov [si],al
inc si
loop adder3

adder4: mov al,24h
mov [si],al

lea si,cnt
mov bl,[si]
xor ax,ax
mov al,20
mul bl

lea si,newtele
lea di,telelist
add di,ax
mov cx,20
cld
rep movsb

lea dx,enter
mov ah,09h
int 21h

lea si,cnt ;計數器加1
mov al,[si]
inc al
mov [si],al

lea dx,addstr3
mov ah,09h
int 21h

lea si,newname
mov cx,20
adder7:
mov al,0
mov [si],al
inc si
loop adder7

lea si,newtele
mov cx,20
adder8:
mov al,0
mov [si],al
inc si
loop adder8

adder6: ret
adder endp

selbyname proc near

lea si,cnt
mov al,[si]
cmp al,0
ja selname6

lea dx,selstr5
mov ah,09h
int 21h
jmp selname5

selname6:
lea dx,disname
mov ah,09h
int 21h

lea si,newname
mov cx,19
selname1:
mov ah,01h
int 21h

cmp al,0dh
je selname2
mov [si],al
inc si
loop selname1

selname2:
mov al,24h
mov [si],al

lea dx,enter
mov ah,09h
int 21h

lea si,cnt ;設置循環次數
mov dx,[si]

mov bx,0

selname3:
lea si,newname
lea di,namelist
add di,bx
mov cx,20
cld
repe cmpsb
jz selname4

add bx,20
dec dx
cmp dx,0
jnz selname3

lea dx,selstr3 ;記錄不存在
mov ah,09h
int 21h

jmp selname5

selname4:
lea dx,selstr2 ;存在
mov ah,09h
int 21h

lea dx,disname
mov ah,09h
int 21h

lea dx,namelist
add dx,bx
mov ah,09h
int 21h

lea dx,enter
mov ah,09h
int 21h

lea dx,distele
mov ah,09h
int 21h

lea dx,telelist
add dx,bx
mov ah,09h
int 21h

lea dx,enter
mov ah,09h
int 21h

mov ax,bx ;計算器記錄查詢到的是第幾個
mov bl,20
div bl
inc al
lea si,cntselect
mov [si],al

selname5:

lea si,newname
mov cx,20
selname7:
mov al,0
mov [si],al
inc si
loop selname7
ret
selbyname endp

selbytele proc near

lea si,cnt
mov al,[si]
cmp al,0
ja seltele6

lea dx,selstr5
mov ah,09h
int 21h
jmp seltele5

seltele6:

lea dx,distele
mov ah,09h
int 21h

lea si,newtele
mov cx,19
seltele1:
mov ah,01h
int 21h

cmp al,0dh
je seltele2
mov [si],al
inc si
loop seltele1

seltele2:
mov al,24h
mov [si],al

lea dx,enter
mov ah,09h
int 21h

lea si,cnt ;設置循環次數
mov dx,[si]

mov bx,0

seltele3:
lea si,newtele
lea di,telelist
add di,bx
mov cx,20
cld
repe cmpsb
jz seltele4

add bx,20
dec dx
cmp dx,0
jnz seltele3

lea dx,selstr4 ;記錄不存在
mov ah,09h
int 21h

jmp seltele5

seltele4:
lea dx,selstr2 ;存在
mov ah,09h
int 21h

lea dx,disname
mov ah,09h
int 21h

lea dx,namelist
add dx,bx
mov ah,09h
int 21h

lea dx,enter
mov ah,09h
int 21h

lea dx,distele
mov ah,09h
int 21h

lea dx,telelist
add dx,bx
mov ah,09h
int 21h

lea dx,enter
mov ah,09h
int 21h

seltele5:

lea si,newname
mov cx,20
seltele7:
mov al,0
mov [si],al
inc si
loop seltele7
ret
selbytele endp

select proc near
select1:
lea dx,selstr1
mov ah,09h
int 21h

mov ah,01h
int 21h
cmp al,'1'
jz select2
cmp al,'2'
jz select3
jmp select1

select2:
call clear
call selbyname
jmp select4

select3:
call clear
call selbytele
select4: ret
select endp

modify proc near

call selbyname

lea si,cntselect
mov al,[si]
cmp al,0
jz modify5

lea dx,modstr3
mov ah,09h
int 21h

lea dx,modstr1
mov ah,09h
int 21h

lea si,newname
mov cx,20

modify1:
mov ah,01h
int 21h

cmp al,0dh
jz modify2
mov [si],al
inc si
loop modify1

modify2:
mov al,24h
mov [si],al

lea dx,enter
mov ah,09h
int 21h
jmp modify6
modify5:
jmp modify7
modify6:
lea dx,modstr2
mov ah,09h
int 21h

lea si,newtele
mov cx,20

modify3:
mov ah,01h
int 21h

cmp al,0dh
jz modify4
mov [si],al
inc si
loop modify3

modify4:
mov al,24h
mov [si],al

lea dx,enter
mov ah,09h
int 21h

lea si,cntselect ;計算被修改數據的偏移量ax
mov al,[si]
dec al
mov bl,20
mul bl

lea si,newname ;把新名字拷入
lea di,namelist
add di,ax
mov cx,20
cld
rep movsb

lea si,newtele ;把新號碼拷入
lea di,telelist
add di,ax
mov cx,20
cld
rep movsb

lea si,cntselect ;計數器清0
mov ax,0
mov [si],ax

lea dx,modstr4
mov ah,09h
int 21h

modify7:
lea si,newname
mov cx,20
modify8:
mov al,0
mov [si],al
inc si
loop modify8

lea si,newname
mov cx,20
modify9:
mov al,0
mov [si],al
inc si
loop modify9
ret
modify endp

delete proc near

lea si,cnt
mov al,[si]
cmp al,0
ja delete1

lea dx,delstr1
mov ah,09h
int 21h
jmp delete2

delete1:
call selbyname
lea si,cntselect
mov al,[si]
cmp al,0
jz delete1

lea si,cntselect ;計算要刪除數據的偏移量bx
mov cl,[si]
dec cl
mov al,20
mul cl
mov bx,ax

lea si,cnt ;計算最後一個數據的偏移量dx
mov cl,[si]
dec cl
mov al,20
mul cl
mov dx,ax

lea si,namelist
lea di,namelist
add si,dx
add di,bx
mov cx,20
cld
rep movsb

lea si,telelist
lea di,telelist
add si,dx
add di,bx
mov cx,20
cld
rep movsb

lea si,cnt ;計數器減1
mov al,[si]
dec al
mov [si],al

lea si,cntselect ;cntselect清零
mov al,0
mov [si],al

lea dx,delstr2
mov ah,09h
int 21h

delete2: ret
delete endp

clear proc near
mov ah,0fh
int 10h
mov ah,0
int 10h
ret
clear endp

start:
mov ax,data
mov ds,ax
mov es,ax
call cshdata
menu1:
call clear
call displaytitle

mov ah,01h
int 21h

cmp al,'1'
jz sel
cmp al,'2'
jz adde
cmp al,'3'
jz modi
cmp al,'4'
jz del
cmp al,'5'
jz dis
cmp al,'8'
jz out1
jmp menu1
sel:
call clear
call select
jmp back
adde:
call clear
call adder
jmp back
modi:
call clear
call modify
jmp back
del:
call clear
call delete
jmp back
dis:
call clear
call disdata
back:
lea dx,backstr ;返回主菜單提示語「Please enter 6 to bace main menu!」
mov ah,09h
int 21h

mov ah,01h
int 21h

lea si,choice
mov [si],al

cmp al,'6'
jz menu1 ;輸入6,返回主菜單
call clear
jmp back
out1:
main endp ;主函數結束
code ends
end start

閱讀全文

與用什麼編程語言能找到別人手機號相關的資料

熱點內容
51單片機ds1302程序 瀏覽:973
學編程方面需要哪些優勢 瀏覽:675
電腦太大的文件怎麼上傳微信 瀏覽:514
索尼lt26ixperias刷機教程 瀏覽:246
win10uefi文件下載 瀏覽:713
顯示文件大小的軟體 瀏覽:194
最早的soul聊天app是怎麼樣的 瀏覽:489
網路雲盤大小 瀏覽:420
去美國准備什麼app 瀏覽:461
米8如何復制u盤文件 瀏覽:523
導航的o文件是什麼 瀏覽:435
Re舊版本下載 瀏覽:416
電子血壓表怎麼讀數據 瀏覽:610
軟體開發和編程哪個前景好 瀏覽:30
手機保存圖片在相冊里找不到文件 瀏覽:42
xp桌面圖案保存哪個文件夾 瀏覽:136
dnf70版本紅眼 瀏覽:484
越來越不懂兩個版本 瀏覽:258
javabigdecimal位數 瀏覽:316
學好編程需要學哪些東西 瀏覽:186

友情鏈接