當前位置:首頁 » 編程軟體 » pta編譯電話簿排序

pta編譯電話簿排序

發布時間: 2022-04-30 03:17:47

① 求c語言編寫電話薄實現添加刪除修改就可以 最好有圖形菜單,沒有也可以

聲明: 非原創

#include "stdio.h" /*標准輸入輸出函數庫*/
#include "stdlib.h" /*標准函數庫*/
#include "string.h" /*字元串函數庫*/
#include "conio.h" /*屏幕操作函數庫*/
#define HEADER1 " ---------------------------TELEPHONE BOOK---------------------------\n"
#define HEADER2 " | num | name | phonenumber | address | \n"
#define HEADER3 " |--------------|------------|-----------------|---------------------| \n"
#define FORMAT " | %-10s| %-10s| %-15s |%-20s | \n"
#define DATA p->num,p->name,p->phonenum,p->address
#define END " ---------------------------------------------------------------------\n"
#define N 100
int saveflag=0; /*是否需要存檔的標志變數*/
/*定義與電話簿有關的數據結構*/
typedef struct telebook /*標記為telebook*/
{
char num[4]; /*編號*/
char name[10]; /*姓名*/
char phonenum[15]; /*電話號碼*/
char address[20]; /*地址*/
}TELEBOOK;

void menu() /*主菜單*/
{
system("cls"); /*調用DOS命令,清屏.與clrscr()功能相同*/
textcolor(13); /*在文本模式中選擇新的字元顏色*/
gotoxy(10,5); /*在文本窗口中設置游標*/
cprintf(" The telephone-book Management System \n");
gotoxy(10,8);
cprintf(" *************************Menu********************************\n");
gotoxy(10,9);
cprintf(" * 1 input record 2 display record *\n");
gotoxy(10,10);
cprintf(" * 3 delete record 4 search record *\n");
gotoxy(10,11);
cprintf(" * 5 modify record 6 insert record *\n");
gotoxy(10,12);
cprintf(" * 7 sort record 8 save record *\n");
gotoxy(10,13);
cprintf(" * 0 quit system *\n");
gotoxy(10,14);
cprintf(" *************************************************************\n");
/*cprintf()送格式化輸出至文本窗口屏幕中*/
}
/*格式化輸出表頭*/
void printheader()
{
printf(HEADER1);
printf(HEADER2);
printf(HEADER3);
}
/*格式化輸出表中數據*/
void printdata(TELEBOOK pp)
{
TELEBOOK* p;
p=&pp;
printf(FORMAT,DATA);

}

/*顯示數組temp[]中存儲的電話簿記錄,內容為telebook結構中定義的內容*/
void Disp(TELEBOOK temp[],int n)
{
int i;
if(n==0) /*表示沒有電話簿記錄*/
{
printf("\n=====>Not telephone record!\n");
getchar();
return;
}

printf("\n\n");
printheader(); /*輸出表格頭部*/
i=0;
while(i<n) /*逐條輸出數組中存儲的電話簿記錄*/
{
printdata(temp[i]);
i++;
printf(HEADER3);
}
getchar();
}

void Wrong() /*輸出按鍵錯誤信息*/
{
printf("\n\n\n\n\n***********Error:input has wrong! press any key to continue**********\n");
getchar();
}

void Nofind() /*輸出未查找此記錄的信息*/
{
printf("\n=====>Not find this telephone record!\n");
}

/*************************************************************
作用:用於定位數組中符合要求的記錄,並返回保存該記錄的數組元素下標值
參數:findmess[]保存要查找的具體內容; nameorphonenum[]保存按什麼在數組中查找;
**************************************************************/
int Locate(TELEBOOK temp[],int n,char findmess[],char nameorphonenum[])
{
int i=0;
if(strcmp(nameorphonenum,"phonenum")==0) /*按電話號碼查詢*/
{
while(i<n)
{
if(strcmp(temp[i].phonenum,findmess)==0) /*若找到findmess值的電話號碼*/
return i;
i++;
}
}
else if(strcmp(nameorphonenum,"name")==0) /*按姓名查詢*/
{
while(i<n)
{
if(strcmp(temp[i].name,findmess)==0) /*若找到findmess值的姓名*/
return i;
i++;
}
}
return -1; /*若未找到,返回一個整數-1*/
}

/*輸入字元串,並進行長度驗證(長度<lens)*/
void stringinput(char *t,int lens,char *notice)
{
char n[255];
do{
printf(notice); /*顯示提示信息*/
scanf("%s",n); /*輸入字元串*/
if(strlen(n)>lens) printf("\n exceed the required length! \n");
/*進行長度校驗,超過lens值重新輸入*/
}while(strlen(n)>lens);
strcpy(t,n); /*將輸入的字元串拷貝到字元串t中*/

}

/*增加電話簿記錄*/
int Add(TELEBOOK temp[],int n)
{
char ch,num[10];
int i,flag=0;
system("cls");
Disp(temp,n); /*先列印出已有的電話簿信息*/

while(1) /*一次可輸入多條記錄,直至輸入編號為0的記錄才結束添加操作*/
{
while(1) /*輸入記錄編號,保證該編號沒有被使用,若輸入編號為0,則退出添加記錄操作*/
{
stringinput(num,10,"input number(press '0'return menu):"); /*格式化輸入編號並檢驗*/
flag=0;
if(strcmp(num,"0")==0) /*輸入為0,則退出添加操作,返回主界面*/
{return n;}
i=0;
while(i<n) /*查詢該編號是否已經存在,若存在則要求重新輸入一個未被佔用的編號*/
{
if(strcmp(temp[i].num,num)==0)
{
flag=1;
break;
}
i++;
}

if(flag==1) /*提示用戶是否重新輸入*/
{ getchar();
printf("==>The number %s is existing,try again?(y/n):",num);
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
continue;
else
return n;
}
else
{break;}
}
strcpy(temp[n].num,num); /*將字元串num拷貝到temp[n].num中*/
stringinput(temp[n].name,15,"Name:");
stringinput(temp[n].phonenum,15,"Telephone:");
stringinput(temp[n].address,15,"Adress:");
saveflag=1;
n++;
}
return n;
}

/*按編號或姓名,查詢電話簿記錄*/
void Qur(TELEBOOK temp[],int n)
{
int select; /*1:按姓名查,2:按電話號碼查,其他:返回主界面(菜單)*/
char searchinput[20]; /*保存用戶輸入的查詢內容*/
int p=0;
if(n<=0) /*若數組為空*/
{
system("cls");
printf("\n=====>No telephone record!\n");
getchar();
return;
}
system("cls");
printf("\n =====>1 Search by name =====>2 Search by telephone number\n");
printf(" please choice[1,2]:");
scanf("%d",&select);
if(select==1) /*按姓名查詢*/
{

stringinput(searchinput,10,"input the existing name:");
p=Locate(temp,n,searchinput,"name");
/*在數組temp中查找編號為searchinput值的元素,並返回該數組元素的下標值*/
if(p!=-1) /*若找到該記錄*/
{
printheader();
printdata(temp[p]);
printf(END);
printf("press any key to return");
getchar();
}
else
Nofind();
getchar();
}
else if(select==2) /*按電話號碼查詢*/
{
stringinput(searchinput,15,"input the existing telephone number:");
p=Locate(temp,n,searchinput,"phonenum");
if(p!=-1)
{
printheader();
printdata(temp[p]);
printf(END);
printf("press any key to return");
getchar();
}
else
Nofind();
getchar();
}
else
Wrong();
getchar();

}

/*刪除電話簿記錄:先找到保存該記錄的數組元素的下標值,然後在數組中刪除該數組元素*/
int Del(TELEBOOK temp[],int n)
{
int sel;
char findmess[20];
int p=0,i=0;
if(n<=0)
{ system("cls");
printf("\n=====>No telephone record!\n");
getchar();
return n;
}
system("cls");
Disp(temp,n);
printf("\n =====>1 Delete by name =====>2 Delete by telephone number\n");
printf(" please choice[1,2]:");
scanf("%d",&sel);
if(sel==1)
{
stringinput(findmess,10,"input the existing name:");
p=Locate(temp,n,findmess,"name");
getchar();
if(p!=-1)
{
for(i=p+1;i<n;i++) /*刪除此記錄,後面記錄向前移*/
{
strcpy(temp[i-1].num,temp[i].num);
strcpy(temp[i-1].name,temp[i].name);
strcpy(temp[i-1].phonenum,temp[i].phonenum);
strcpy(temp[i-1].address,temp[i].address);

}
printf("\n==>delete success!\n");
n--;
getchar();
saveflag=1;
}
else
Nofind();
getchar();
}
else if(sel==2) /*先按電話號碼查詢到該記錄所在的數組元素的下標值*/
{
stringinput(findmess,15,"input the existing telephone number:");
p=Locate(temp,n,findmess,"phonenum");
getchar();
if(p!=-1)
{
for(i=p+1;i<n;i++) /*刪除此記錄,後面記錄向前移*/
{
strcpy(temp[i-1].num,temp[i].num);
strcpy(temp[i-1].name,temp[i].name);
strcpy(temp[i-1].phonenum,temp[i].phonenum);
strcpy(temp[i-1].address,temp[i].address);
}
printf("\n=====>delete success!\n");
n--;
getchar();
saveflag=1;
}
else
Nofind();
getchar();
}
return n;
}

/*修改電話簿記錄。先按輸入的聯系人姓名查詢到該記錄,
然後提示用戶修改該記錄編號之外的值,編號不能修改*/
void Modify(TELEBOOK temp[],int n)
{
char findmess[20];
int p=0;
if(n<=0)
{ system("cls");
printf("\n=====>No telephone number record!\n");
getchar();
return ;
}
system("cls");
printf("modify telephone book recorder");
Disp(temp,n);
stringinput(findmess,10,"input the existing name:"); /*輸入並檢驗該姓名*/
p=Locate(temp,n,findmess,"name"); /*查詢到該數組元素,並返回下標值*/
if(p!=-1) /*若p!=-1,表明已經找到該數組元素*/
{
printf("Number:%s,\n",temp[p].num);
printf("Name:%s,",temp[p].name);
stringinput(temp[p].name,15,"input new name:");

printf("Name:%s,",temp[p].phonenum);
stringinput(temp[p].phonenum,15,"input new telephone:");

printf("Name:%s,",temp[p].address);
stringinput(temp[p].address,30,"input new address:");

printf("\n=====>modify success!\n");
getchar();
Disp(temp,n);
getchar();
saveflag=1;
}
else
{Nofind();
getchar();
}
return ;
}

/*插入記錄:按編號查詢到要插入的數組元素的位置,然後在該記錄編號之後插入一個新數組元素。*/
int Insert(TELEBOOK temp[],int n)
{
char ch,num[10],s[10]; /*s[]保存插入點位置之前的記錄編號,num[]保存輸入的新記錄的編號*/
TELEBOOK newinfo;
int flag=0,i=0,kkk=0;
system("cls");
Disp(temp,n);
while(1)
{ stringinput(s,10,"please input insert location after the Number:");
flag=0;i=0;
while(i<n) /*查詢該編號是否存在,flag=1表示該編號存在*/
{
if(strcmp(temp[i].num,s)==0) {kkk=i;flag=1;break;}
i++;
}
if(flag==1)
break; /*若編號存在,則進行插入之前的新記錄輸入操作*/
else
{ getchar();
printf("\n=====>The number %s is not existing,try again?(y/n):",s);
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
{continue;}
else
{return n;}
}
}
/*以下新記錄的輸入操作與Add()相同*/

while(1)
{ stringinput(num,10,"input new Number:");
i=0;flag=0;
while(i<n) /*查詢該編號是否存在,flag=1表示該編號存在*/
{
if(strcmp(temp[i].num,num)==0) {flag=1;break;}
i++;
}
if(flag==1)
{
getchar();
printf("\n=====>Sorry,The number %s is existing,try again?(y/n):",num);
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
{continue;}
else
{return n;}
}
else
break;
}

strcpy(newinfo.num,num); /*將字元串num拷貝到newinfo.num中*/
stringinput(newinfo.name,15,"Name:");
stringinput(newinfo.phonenum,15,"Telephone:");
stringinput(newinfo.address,15,"Adress:");

saveflag=1; /*在main()有對該全局變數的判斷,若為1,則進行存檔操作*/

for(i=n-1;i>kkk;i--) /*從最後一個組織元素開始往向移一個元素位置*/
{
strcpy(temp[i+1].num,temp[i].num);
strcpy(temp[i+1].name,temp[i].name);
strcpy(temp[i+1].phonenum,temp[i].phonenum);
strcpy(temp[i+1].address,temp[i].address);
}
strcpy(temp[kkk+1].num,newinfo.num); /*在kkk的元素位置後插入新記錄*/
strcpy(temp[kkk+1].name,newinfo.name);
strcpy(temp[kkk+1].phonenum,newinfo.phonenum);
strcpy(temp[kkk+1].address,newinfo.address);
n++;
Disp(temp,n);
printf("\n\n");
getchar();
return n;
}

/*利用選擇排序法實現數組的按記錄編號或姓名的升序排序*/
void SelectSort(TELEBOOK temp[],int n)
{
int i=0,j=0,flag=0,indexmin,select;
char charflag[10];
TELEBOOK newinfo;
if(n<=0)
{ system("cls");
printf("\n=====>Not telephone record!\n");
getchar();
return ;
}
system("cls");
Disp(temp,n); /*顯示排序前的所有記錄*/
printf(" ==>1 SORT BY NUMBER ==>2 SORT BY NAME\n");
printf(" please choice[1,2]:");
scanf("%d",&select);
if(select==1) /*按記錄編號排序*/
{
for(i=0;i<n-1;i++)
{
flag=32767;indexmin=0;
for(j=i;j<n;j++)
{ if(atoi(temp[j].num)<flag)
{ flag=atoi(temp[j].num);
indexmin=j;
}
}
strcpy(newinfo.num,temp[i].num); /*利用結構變數newinfo實現數組元素的交換*/
strcpy(newinfo.name,temp[i].name);
strcpy(newinfo.phonenum,temp[i].phonenum);
strcpy(newinfo.address,temp[i].address);

strcpy(temp[i].num,temp[indexmin].num);
strcpy(temp[i].name,temp[indexmin].name);
strcpy(temp[i].phonenum,temp[indexmin].phonenum);
strcpy(temp[i].address,temp[indexmin].address);

strcpy(temp[indexmin].num,newinfo.num);
strcpy(temp[indexmin].name,newinfo.name);
strcpy(temp[indexmin].phonenum,newinfo.phonenum);
strcpy(temp[indexmin].address,newinfo.address);
}
Disp(temp,n); /*顯示排序後的所有記錄*/
saveflag=1;
printf("\n =====>sort complete!\n");
getchar();
return;
}
else if(select==2)
{
for(i=0;i<n-1;i++)
{
charflag[0]=255;indexmin=0;
for(j=i;j<n;j++)
{ if(strcmp(temp[j].name,charflag)>0)
{ charflag[0]=temp[j].name;
indexmin=j;
}
}
strcpy(newinfo.num,temp[i].num); /*利用結構變數newinfo實現數組元素的交換*/
strcpy(newinfo.name,temp[i].name);
strcpy(newinfo.phonenum,temp[i].phonenum);
strcpy(newinfo.address,temp[i].address);

strcpy(temp[i].num,temp[indexmin].num);
strcpy(temp[i].name,temp[indexmin].name);
strcpy(temp[i].phonenum,temp[indexmin].phonenum);
strcpy(temp[i].address,temp[indexmin].address);

strcpy(temp[indexmin].num,newinfo.num);
strcpy(temp[indexmin].name,newinfo.name);
strcpy(temp[indexmin].phonenum,newinfo.phonenum);
strcpy(temp[indexmin].address,newinfo.address);
}
Disp(temp,n); /*顯示排序後的所有記錄*/
saveflag=1;
printf("\n =====>sort complete!\n");
getchar();
return;
}
else
{Wrong();
getchar();
getchar();
return;}

}

/*數據存檔,若用戶沒有專門進行此操作且對數據有修改,在退出系統時, 會提示用戶存檔*/
void Save(TELEBOOK temp[],int n)
{
FILE* fp;
int i=0;
fp=fopen("c:\\telephon","w");/*以只寫方式打開文本文件*/
if(fp==NULL) /*打開文件失敗*/
{
printf("\n=====>open file error!\n");
getchar();
return ;
}
for(i=0;i<n;i++)
{
if(fwrite(&temp[i],sizeof(TELEBOOK),1,fp)==1)/*每次寫一條記錄或一個結構數組元素至文件*/
{
continue;
}
else
{
break;
}
}
if(i>0)
{
getchar();
printf("\n\n=====>save file complete,total saved's record number is:%d\n",i);
getchar();
saveflag=0;
}
else
{system("cls");
printf("the current link is empty,no telephone record is saved!\n");
getchar();
}
fclose(fp); /*關閉此文件*/
}

void main()
{
TELEBOOK tele[N]; /*定義TELEBOOK結構體*/
FILE *fp; /*文件指針*/
int select; /*保存選擇結果變數*/
char ch; /*保存(y,Y,n,N)*/
int count=0; /*保存文件中的記錄條數(或元素個數)*/

fp=fopen("C:\\telephon","a+");
/*以追加方式打開文本文件c:\telephon,可讀可寫,若此文件不存在,會創建此文件*/
if(fp==NULL)
{
printf("\n=====>can not open file!\n");
exit(0);
}

while(!feof(fp))
{
if(fread(&tele[count],sizeof(TELEBOOK),1,fp)==1) /*一次從文件中讀取一條電話簿記錄*/
count++;
}
fclose(fp); /*關閉文件*/
printf("\n==>open file sucess,the total records number is : %d.\n",count);
getchar();
menu();
while(1)
{
system("cls");
menu();
printf("\n Please Enter your choice(0~8):"); /*顯示提示信息*/
scanf("%d",&select);

if(select==0)
{
if(saveflag==1) /*若對數組的數據有修改且未進行存檔操作,則此標志為1*/
{ getchar();
printf("\n==>Whether save the modified record to file?(y/n):");
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
Save(tele,count);
}
printf("\n===>thank you for useness!");
getchar();
break;
}

switch(select)
{
case 1:count=Add(tele,count);break; /*增加電話簿記錄*/
case 2:system("cls");Disp(tele,count);break; /*顯示電話簿記錄*/
case 3:count=Del(tele,count);break; /*刪除電話簿記錄*/
case 4:Qur(tele,count);break; /*查詢電話簿記錄*/
case 5:Modify(tele,count);break; /*修改電話簿記錄*/
case 6:count=Insert(tele,count);break; /*插入電話簿記錄*/
case 7:SelectSort(tele,count);break; /*排序電話簿記錄*/
case 8:Save(tele,count);break; /*保存電話簿記錄*/
default: Wrong();getchar();break; /*按鍵有誤,必須為數值0-9*/
}
}
}

② 九,電話簿管理系統 存儲的數據包括:姓名、班級、電話號碼和E-mail地址等。程序要求具有如下功能:

#我曾經份實驗報告想要前三功能都需改提示信息行
#include <stdio.h>
#define NUM 50
typedef struct _stu //定義結構體類型
{
char no[11]; //號
char name[10]; //姓名
char birthday[11]; //期
char sex[3]; //性別
char nation[10]; //民族
char department[20]; //院系
char major[20]; //專業
char province[20]; //省份
int score; //卷面績
int add; //加
int total; //總=卷面績+加
}STU;

int menu();
int enter(STU s[]);
void print(STU s[], int n);
void search(STU s[], int n);
int insert(STU s[], int n);
int del(STU s[], int n);
void save(STU s[], int n);
int load(STU s[]);
void sort(STU s[], int n);
void modify(STU st[], int n);

void printone(STU s);
void back();
void reinput();
void enterone(STU *s);
void stu(const STU *a, STU *b);

int main(){
STU stu[NUM];
int num=0;
while(1){
switch(menu()){
case 1: num += enter(stu); break;
case 2: search(stu,num); break;
case 3: num += insert(stu,num); break;
case 4: num -= del(stu, num); break;
case 5: save(stu, num); break;
case 6: num=load(stu); break;
case 7: sort(stu, num); break;
case 8: modify(stu, num); break;
case 9: print(stu, num); break;
case 10: return 0;
default: printf(" >>> Unknown Command!!!\n");
}
}
return 0;
}

int menu(){
int in = -1;
printf("\n\n*****************************************************************\n\n"
" 檔案庫\n\n"
"菜單:\n\n"
" 1.輸入記錄 2.查找記錄 3.插入記錄 4.刪除記錄\n\n"
" 5.保存數據 6.載入數據 7.排序記錄 8.修改記錄\n\n"
" 9.列印數據 10.退程序\n\n"
"*****************************************************************\n"
"Please input command: ");
scanf("%2d",&in);
while(getchar()!='\n');
return in;
}

int enter(STU s[]){
int n, f, ok=0, i;
printf("輸入要添加記錄數目: ");
do{
f=scanf("%2d", &n);
if(f==0 || n>=NUM){
if(n>=NUM) printf("能存儲%d條記錄",NUM);
reinput();
}else ok=1;
}while(!ok);
for(i=0; i<n; i++){
printf("始輸入第%d位信息\n\n",i+1);
enterone(s+i);
printf("第%d位信息輸入完畢\n\n");
}
printf("全部輸入完畢\n\n");
return n;
}

void print(STU s[], int n){
int i;
printf("\n所檔案\n");
for(i=0; i<n; i++){
printf("\n序號 %d :\n",i+1);
printone(s[i]);
printf(">>> 按Enter鍵顯示\n");
getchar();
}
printf("已列印所條目\n");
back();
}
void search(STU s[],int n){
char name[10];
int i,j=0;
printf("輸入要查找姓名(目前僅提供姓名檢索)\n ");
while(scanf("%9s",name)==0) reinput();
while(getchar()!='\n');
for(i=0;i<n;i++){
if(!strcmp(s[i].name, name)){
printone(s[i]);
j++;
}
}
if(!j) printf("未找相關記錄\n");
back();
}
int insert(STU s[], int n){
STU in,temp;
int i,j;
char no[11];
if(n>=NUM){
printf("容量足插入新記錄\n");
back();
return 0;
}
enterone(&in);
printf("輸入完畢\n現輸入某記錄號新記錄插指定記錄前:\n");
while(scanf("%10s", no)==0) reinput();
for(i=0;i<n;i++){
if(!strcmp(s[i].no, no)){
for(j=n-1;j>=i;j--){
stu(s+j,s+j+1);
}
stu(&in,s+i);
printf("新記錄已插入指定位置\n");
back();
return 1;
}
}
printf("沒找與指定號匹配記錄已自新記錄添加末尾\n");
stu(&in,s+n);
back();
return 1;
}
int del(STU s[], int n){
char no[11];
int i,j;
printf("輸入要刪除記錄號:\n");
while(scanf("%10s",&no)==0) reinput();
for(i=0;i<n;i++){
if(!strcmp(s[i].no, no)){
for(j=i;j<n;j++){
stu(s+j+1,s+j);
}
printf("記錄已刪除\n");
back();
return 1;
}
}
printf("沒找指定記錄\n");
back();
return 0;
}
void save(STU s[], int n){
char nm[50];
FILE* f;
int i;
printf("輸入文件路徑名稱: \n");
while(scanf("%49s",nm)==0) reinput();
if((f=fopen(nm,"a"))==NULL){
if((f=fopen(nm,"w"))==NULL){
printf("文件打或創建失敗");
back();
return;
}
}
fprintf(f,"%d\n",n);
for(i=0; i<n; i++){
fprintf(f,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%d\n%d\n%d\n",
s[i].no, s[i].name, s[i].birthday, s[i].sex, s[i].nation,
s[i].department,s[i].major,s[i].province,s[i].score,s[i].add,s[i].total);
}
fclose(f);
printf("文件已保存: %s\n",nm);
}
int load(STU s[]){
char nm[50];
FILE* f;
int i, n=0;
printf("輸入文件路徑名稱: \n");
while(scanf("%49s",nm)==0) reinput();
if((f=fopen(nm,"r"))==NULL){
printf("文件打失敗");
back();
return 0;
}
fscanf(f,"%d",&n);
if(n>NUM) n=NUM;
for(i=0; i<n; i++){
fscanf(f,"%s %s %s %s %s %s %s %s %d %d %d",
&s[i].no, &s[i].name, &s[i].birthday, &s[i].sex, &s[i].nation,
&s[i].department,&s[i].major,&s[i].province,&s[i].score,&s[i].add,&s[i].total);
}
fclose(f);
printf("記錄載入完畢\n");
back();
return n;
}
void sort(STU s[], int n){
STU temp;
int i, j;
for(i=0; i<n-1; i++)
for(j=0;j<n-1-i;j++)
if(s[j].total<s[j+1].total){
stu(s+j+1,&temp);
stu(s+j,s+j+1);
stu(&temp,s+j);
}
printf("已按總高低進行排序\n");
back();
}
void modify(STU st[], int n){
STU *s=NULL;
char no[11];
int i,j, c;
char item[10][10]={"號","姓名","期","性別","民族","院系",
"專業","省份","卷面績","加"};
printf("輸入要修改記錄號:\n");
while(scanf("%10s",&no)==0) reinput();
while(getchar()!='\n');
for(i=0;i<n;i++){
if(!strcmp(st[i].no, no)){
s=st+i;
for(j=0;j<10;j++){
printf("修改 %s ?(確定輸入』y『)\n",item[j]);
if((c=getchar())=='y' || c=='Y')
switch(j){
case 0:
while(scanf("%10s",s->no)==0) reinput(); break;
case 1:
while(scanf("%9s",s->name)==0) reinput(); break;
case 2:
while(scanf("%10s",s->birthday)==0) reinput(); break;
case 3:
while(scanf("%2s",s->sex)==0) reinput(); break;
case 4:
while(scanf("%9s",s->nation)==0) reinput(); break;
case 5:
while(scanf("%19s",s->department)==0) reinput(); break;
case 6:
while(scanf("%19s",s->major)==0) reinput(); break;
case 7:
while(scanf("%19s",s->province)==0) reinput(); break;
case 8:
while(scanf("%d",&(s->score))==0 || s->score<0) reinput(); break;
case 9:
while(scanf("%d",&(s->add))==0 ) reinput(); break;
}
while(getchar()!='\n');
}
s->total=s->score+s->add;
printf("修改完\n");
back();
return;
}
}
printf("沒找指定記錄\n");
back();
}

void printone(STU s){
printf(" 號: %s\n"
" 姓名: %s\n"
" 期: %s\n"
" 性別: %s\n"
" 民族: %s\n"
" 院系: %s\n"
" 專業: %s\n"
" 省份: %s\n"
" 卷面績: %d\n"
" 加: %d\n"
" 總: %d\n",
s.no, s.name,s.birthday,s.sex,s.nation,
s.department,s.major,s.province,s.score,s.add,s.total);
}
void back(){
printf("\n按Enter鍵返主菜單\n");
getchar();
}
void reinput(){
printf("輸入合重新輸入:\n ");
while(getchar()!='\n');
}
void enterone(STU *s){
printf("號:\n ");
while(scanf("%10s",s->no)==0) reinput();
while(getchar()!='\n');
printf("姓名:\n ");
while(scanf("%9s",s->name)==0) reinput();
while(getchar()!='\n');
printf("期(.月.):\n ");
while(scanf("%10s",s->birthday)==0) reinput();
while(getchar()!='\n');
printf("性別:\n ");
while(scanf("%2s",s->sex)==0) reinput();
while(getchar()!='\n');
printf("民族:\n ");
while(scanf("%9s",s->nation)==0) reinput();
while(getchar()!='\n');
printf("院系:\n ");
while(scanf("%19s",s->department)==0) reinput();
while(getchar()!='\n');
printf("專業:\n ");
while(scanf("%19s",s->major)==0) reinput();
while(getchar()!='\n');
printf("省份:\n ");
while(scanf("%19s",s->province)==0) reinput();
while(getchar()!='\n');
printf("卷面績:\n ");
while(scanf("%d",&(s->score))==0 || s->score<0) reinput();
while(getchar()!='\n');
printf("加:\n ");
while(scanf("%d",&(s->add))==0 ) reinput();
while(getchar()!='\n');
s->total=s->score+s->add;
}
void stu(const STU *a, STU *b){
strcpy(b->no, a->no);
strcpy(b->name, a->name);
strcpy(b->birthday, a->birthday);
strcpy(b->sex, a->sex);
strcpy(b->nation, a->nation);
strcpy(b->department, a->department);
strcpy(b->major, a->major);
strcpy(b->province, a->province);
b->score=a->score;
b->add=a->add;
b->total=a->total;
}

③ iPhone電話簿備份還原後無法按開頭英文排序

電話簿不要用91備份那麼麻煩了,刷完機後直接把在這個文件復制出來就可以了,以後刷完直接再放回去,就可以了
文件路徑 privata/var/mobile/library/addressbook
這樣子就沒有那麼多麻煩的問題了,91用了會直接導致手機死機,老麻煩的

④ WPS表格 做了個電話簿 要按姓氏首字母排序 怎麼弄 ps後面的電話號碼也要一起動才行啊 不能只動姓那列

數據——排序——選a列——排序依據選"數值"——升序——確定 這種排序結果都是按照漢語拼音第一個字母的英文順序,「尹」是一定在「王」後面的。原理是小寫的a在excel中的數值是97,b是98,類推。。w是119,y是121 。 如果你想要按照筆畫甚至筆順等特殊要求排...

⑤ 求一C語言編寫的程序要求如下: 1.電話簿管理系統(用到結構體和指針) 2.結構體內包括姓名和電話

請根據需要進行適當修改

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
structrecord
{
charid[10];
charname[20];
charphone[20];
}Contacts[500];
intnum=0;//外部變數num為文件中的紀錄數
FILE*fp;
voidmainmenu();//主菜單
voidnewrecord();//新添紀錄
voidsearchmenu();//查詢菜單
voidsearchbyid();//按編號查詢
voidsearchbyname();//按姓名查詢
voidsearchbyphone();//按電話查詢
voiddeletemenu();//刪除菜單
voiddeleteall();//刪除所有
voiddeleteone();//刪除單個
voidshowall();//顯示所有
voidreadfromfile();//讀取文件
voidwritetofile();//寫入文件
voiddeletebyid();//按編號刪除
voiddeletebyname();//按姓名刪除
voidlistbyid();//按編號排序
voidlistbyname();//按姓名排序
voidlistmenu();//排序菜單
voidmain()
{
readfromfile();
while(1)
{
mainmenu();
}
}
voidreadfromfile()//從文件導入
{
if((fp=fopen(".\Contacts.dat","rb"))==NULL)
{
printf(" 通訊錄文件不存在");
if((fp=fopen(".\Contacts.dat","wb"))==NULL)
{
printf(" 建立失敗");
exit(0);
}
else
{
printf(" 通訊錄文件已建立");
printf(" 按任意鍵進入主菜單");
getch();
return;
}
exit(0);
}
fseek(fp,0,2);/*文件位置指針移動到文件末尾*/
if(ftell(fp)>0)/*文件不為空*/
{
rewind(fp);/*文件位置指針移動到文件開始位置*/
for(num=0;!feof(fp)&&fread(&Contacts[num],sizeof(structrecord),1,fp);num++);
printf(" 文件導入成功");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
printf(" 文件導入成功");
printf(" 通訊錄文件中無任何紀錄");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
voidmainmenu()//主菜單
{
charchoic;
system("cls");
printf(" ********************主菜單********************");
printf(" ***********1-新添紀錄2-查詢菜單************");
printf(" ***********3-刪除菜單4-記錄排序************");
printf(" ***********5-保存退出6-不保存退出***********");
printf(" ************************************************");
printf(" 請選擇:");
choic=getch();
switch(choic)
{
case'1':newrecord();break;
case'2':searchmenu();break;
case'3':deletemenu();break;
case'4':listmenu();break;
case'5':writetofile();break;
case'6':exit(0);
default:mainmenu();
}
}
voidsearchmenu()//查詢菜單
{
charchoic;
system("cls");
printf(" *******************查詢菜單*******************");
printf(" **********1-顯示所有2-按編號查詢************");
printf(" **********3-按姓名查詢4-按電話查詢************");
printf(" **********5-返回主菜單************");
printf(" ************************************************");
printf(" 請選擇:");
choic=getch();
switch(choic)
{
case'1':showall();break;
case'2':searchbyid();break;
case'3':searchbyname();break;
case'4':searchbyphone();break;
case'5':mainmenu();break;
}
}
voiddeletemenu()//刪除菜單
{
charchoic;
if(num==0)
{
printf(" 對不起,文件中無任何紀錄");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
system("cls");
printf(" *******************刪除菜單*******************");
printf(" ***********1-刪除所有2-刪除單個***********");
printf(" ***********3-返回主菜單***********");
printf(" ************************************************");
printf(" 請選擇:");
choic=getch();
switch(choic)
{
case'1':deleteall();break;
case'2':deleteone();break;
case'3':mainmenu();break;
default:mainmenu();break;
}
}
voiddeleteall()//刪除所有
{
printf(" 確認刪除?(y/n)");
if(getch()=='y')
{
fclose(fp);
if((fp=fopen("Contacts.bin","wb"))==NULL)
{
printf(" 不能打開文件,刪除失敗");
readfromfile();
}
num=0;
printf(" 紀錄已刪除,按任意鍵返回主菜單");
getch();
return;
}
else
return;
}
voiddeletebyname()//按姓名刪除
{
inta=0;
intfindmark=0;
intj;
intdeletemark=0;
inti;
charname[20];
printf(" 請輸入要刪除聯系人的姓名:");
scanf("%s",name);
for(i=a;i<num;i++)
{
if(strcmp(Contacts[i].name,name)==NULL)
{
printf(" 以下是您要刪除的聯系人紀錄:");
findmark++;
printf(" ________________________________");
printf(" 編號:%s",Contacts[i].id);
printf(" 姓名:%s",Contacts[i].name);
printf(" 電話:%s",Contacts[i].phone);
printf(" ________________________________");
printf(" 是否刪除?(y/n)");
if(getch()=='y')
{
for(j=i;j<num-1;j++)/*紀錄移動,從Contacts數組中刪除之*/
Contacts[j]=Contacts[j+1];
num--;
deletemark++;
printf(" 刪除成功");
if((i+1)<num)
{
printf(" 是否繼續刪除相同姓名的聯系人信息?(y/n)");
if(getch()=='y')
{
a=i;
continue;
}
}
printf(" 是否繼續刪除?(y/n)");
if(getch()=='y')
deletebyname();
return;
}
if((i+1)<num)
{
printf(" 是否繼續刪除相同姓名的聯系人信息?(y/n)");
if(getch()=='y')
{
a=i;
continue;
}
}
}
else
continue;
}
if((deletemark==0)&&(findmark==0))
{
printf(" 沒有該聯系人的紀錄");
printf(" 是否繼續刪除?(y/n)");
if(getch()=='y')
deletebyid();
return;
return;
}
elseif(findmark!=0)
{
printf(" 沒有重名信息");
printf(" 沒有該聯系人的紀錄");
printf(" 是否繼續刪除?(y/n)");
if(getch()=='y')
deletebyid();
return;
return;
}
}
voiddeletebyid()//按編號刪除
{
inti,j;
intdeletemark=0;
charid[20];
printf(" 請輸入要刪除聯系人編號:");
scanf("%s",id);
if(num==0)
{
printf(" 對不起,文件中無任何紀錄");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
for(i=0;i<num;i++)
{
if(strcmp(Contacts[i].id,id)==NULL)
{
printf(" 以下是您要刪除的聯系人紀錄:");
printf(" 編號:%s",Contacts[i].id);
printf(" 姓名:%s",Contacts[i].name);
printf(" 電話:%s",Contacts[i].phone);
printf(" 是否刪除?(y/n)");
if(getch()=='y')
{
for(j=i;j<num-1;j++)/*紀錄移動,從Contacts數組中刪除之*/
Contacts[j]=Contacts[j+1];
num--;
deletemark++;
printf(" 刪除成功");
printf(" 是否繼續刪除?(y/n)");
if(getch()=='y')
deletebyid();
return;
}
else
return;
}
continue;

}
if(deletemark==0)
{
printf(" 沒有該聯系人的紀錄");
printf(" 是否繼續刪除?(y/n)");
if(getch()=='y')
deletebyid();
return;
}
}
voidnewrecord()//添加紀錄
{
printf(" ****************請輸入聯系人信息**************** ");
printf(" 輸入編號:");
scanf("%s",&Contacts[num].id);
printf(" 輸入姓名:");
scanf("%s",&Contacts[num].name);
printf(" 輸入電話號碼:");
scanf("%s",&Contacts[num].phone);
num++;
printf(" 是否繼續添加?(Y/N):");
if(getch()=='y')
newrecord();
return;
}
voidshowall()//顯示所有
{
inti;
system("cls");
if(num!=0)
{
printf(" ***************以下為通訊錄所有信息************");
for(i=0;i<num;i++)
{
printf(" 編號:%s",Contacts[i].id);
printf(" 姓名:%s",Contacts[i].name);
printf(" 電話:%s",Contacts[i].phone);
printf(" ");
if(i+1<num)
{
printf(" __________________________");
system("pause");
}
}
printf(" ************************************************");
}
else
printf(" 通訊錄中無任何紀錄");
printf(" 按任意鍵返回主菜單:");
getch();
return;
}

//按電話查詢
voidsearchbyphone()
{
intmark=0;
inti;
inta=0;
printf(" ******************按電話查找******************");
charphone[10];
printf(" 請輸入編號:");
scanf("%s",phone);
for(i=0;i<num;i++)
{
if(strcmp(Contacts[i].phone,phone)==0)
{
printf(" **************以下是您查找的聯系人信息**********");
printf(" 編號:%s",Contacts[i].id);
printf(" 姓名:%s",Contacts[i].name);
printf(" 電話:%s",Contacts[i].phone);
printf(" ************************************************");
printf(" 按任意鍵返回主菜單:");
mark++;
getch();
return;
}
}
if(mark==0)
{
printf(" 沒有改聯系人的信息");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
}
voidsearchbyname()//按姓名查詢
{
intmark=0;
inti;
inta=0;
printf(" *****************按姓名查找*******************");
charname[20];
printf(" 請輸入姓名:");
scanf("%s",name);
for(i=a;i<num;i++)
{
if(strcmp(Contacts[i].name,name)==0)
{
printf(" *************以下是您查找的聯系人信息***********");
printf(" 編號:%s",Contacts[i].id);
printf(" 姓名:%s",Contacts[i].name);
printf(" 電話:%s",Contacts[i].phone);
printf(" ************************************************");
mark++;
if((i+1)<num)
{
printf(" 是否繼續查找相同名字的聯系人信息:(y/n)");
if(getch()=='y')
{
a=i;
continue;
}
else
return;
}
else
{
printf(" 按任意鍵返回主菜單");
getch();
return;
}
}
}
if(mark!=0)
{
printf(" 沒有相同姓名的聯系人紀錄");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
else
{
printf(" 沒有相同姓名的聯系人紀錄");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
}
voidsearchbyid()//按編號查詢
{
intmark=0;
inti;
inta=0;
printf(" ******************按編號查找****************** ");
charid[10];
printf(" 請輸入編號:");
scanf("%s",id);
for(i=0;i<num;i++)
{
if(strcmp(Contacts[i].id,id)==0)
{
printf(" **************以下是您查找的聯系人信息**********");
printf(" 編號:%s",Contacts[i].id);
printf(" 姓名:%s",Contacts[i].name);
printf(" 電話:%s",Contacts[i].phone);
printf(" ************************************************");
printf(" 按任意鍵返回主菜單:");
mark++;
getch();
return;
}

}
if(mark==0)
{
printf(" 沒有改聯系人的信息");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
}
voidwritetofile()//寫入文件
{
inti;
if((fp=fopen(".\Contacts.dat","wb"))==NULL)
{
printf(" 文件打開失敗");
}
for(i=0;i<num;i++)
{
if(fwrite(&Contacts[i],sizeof(structrecord),1,fp)!=1)
{
printf(" 寫入文件錯誤! ");
}
}
fclose(fp);
printf(" 通訊錄文件已保存");
printf(" 按任意鍵退出程序 ");
exit(0);

}
voiddeleteone()//刪除單個
{
charchoic;
printf(" 1-按編號刪除2-按姓名刪除");
printf(" 請選擇:");
choic=getch();
switch(choic)
{
case'1':deletebyid();break;
case'2':deletebyname();break;
}
}
voidlistbyname()//按姓名排序
{
inti,j;
structrecordtmp;
for(i=1;i<num;i++)
{
if(strcmp(Contacts[i].name,Contacts[i-1].name)<0)
{
tmp=Contacts[i];
j=i-1;
do
{
Contacts[j+1]=Contacts[j];
j--;
}while((strcmp(tmp.name,Contacts[j].name)<0&&j>=0));
Contacts[j+1]=tmp;
}
}
printf(" 排序成功,是否顯示?(y/n)");
if(getch()=='y')
showall();
return;
}
voidlistbyid()//按編號排序
{
inti,j;
structrecordtmp;
for(i=1;i<num;i++)
{
if(strcmp(Contacts[i].id,Contacts[i-1].id)<0)
{
tmp=Contacts[i];
j=i-1;
do
{
Contacts[j+1]=Contacts[j];
j--;
}while((strcmp(tmp.id,Contacts[j].id)<0)&&j>=0);
Contacts[j+1]=tmp;
}
}
printf(" 排序成功,是否顯示?(y/n)");
if(getch()=='y')
showall();
return;
}
voidlistmenu()//排序菜單
{
charchoic;
if(num==0)
{
printf(" 對不起,文件中無任何紀錄");
printf(" 按任意鍵返回主菜單");
getch();
return;
}
system("cls");
printf(" *******************排序菜單*******************");
printf(" **********1-按編號排序2-按姓名排序**********");
printf(" **********3-返回主菜單**********");
printf(" ************************************************");
printf(" 請選擇:");
choic=getch();
switch(choic)
{
case'1':listbyid();break;
case'2':listbyname();break;
case'3':mainmenu();break;
default:mainmenu();break;
}
}

⑥ PTA中C語言編程問題(答案沒有給我滿分,請幫我指出一下我程序的錯誤)

#include<stdio.h>
intmain()
{
intn,a[11],i,temp,j;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(j=0;j<n;j++)
for(i=0;i<n-j-1;i++)//改了下這里當i=n-1時i+1就越界了,所以i<n-j-1
if(a[i]<a[i+1])
{temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
for(i=0;i<n-1;i++)
printf("%d",a[i]);
printf("%d",a[i]);
return0;
}

⑦ 奧迪Q2L電話簿怎樣使用

以下內容適用於奧迪Q2L第一代車型。

調出電話簿

適用於:裝有電話的汽車

在行動電話配對後,將把行動電話的聯系人自動輸入到MMI的電話簿中。

⑧ c++編程,電話簿,要求以雙向鏈表儲存

#include<cstdio>
#include<cstdlib>
#include<cstring>
/************************************************************************/
/**通訊錄系統*/
/************************************************************************/
#definename256///名字
#definetele32///手機號
#definebirt32///生日
#definestID32///學號
typedefstructdirectory
{
charName[name];
charTele[tele];
charBirt[birt];
charStID[stID];
structdirectory*next,*prior;
}CONTACTS;
boolJ_T(charp[])///電話號碼
{
intlen=strlen(p);
if(len!=11||p[0]!='1')return0;
for(inti=1;i<len;i++)
{
if(!(p[i]>='0'&&p[i]<='9'))
return0;
}
return1;
}
boolJ_L(intyear)///平/潤年
{
return(year%4==0&&year%100!=0||year%400==0);
}
boolJ_B(charp[])///生日
{
intlen=strlen(p);
if(!(len>=8&&len<=10))return0;/**1949/1/1(8)1949/12/31(10)**/
intsum=0,Bith[3],k=0;
for(inti=0;i<len;i++)
{
if(!(p[i]>='0'&&p[i]<='9'||p[i]=='/'))///輸入合法
return0;
}
p[len]='/';
p[len+1]='';
for(inti=0;i<=len;i++)
{
if(p[i]!='/')
sum=10*sum+p[i]-'0';
else
{
Bith[k++]=sum;
sum=0;
}
}
p[len]='';
if(!(Bith[1]>=1&&Bith[1]<=12))
return0;
switch(Bith[1])
{
case1:case3:case5:case7:case8:case10:case12:
if(!(Bith[2]>=1&&Bith[2]<=31))return0;break;
case4:case6:case9:case11:
if(!(Bith[2]>=1&&Bith[2]<=30))return0;break;
case2:
if(J_L(Bith[0])==1){if(!(Bith[2]>=1&&Bith[2]<=29))return0;}///潤年29天
else{if(!(Bith[2]>=1&&Bith[2]<=28))return0;}break;///平年28天
}
return1;
}
boolJ_I(charp[])///學號
{
intlen=strlen(p);
if(len!=11||p[0]==0)return0;
for(inti=1;i<len;i++)
{
if(!(p[i]>='0'&&p[i]<='9'))
return0;
}
return1;
}
voidInput_(CONTACTS*head,boolx)///1,新錄入;2,添加
{
printf("錄入幾個人? ");
intn;
scanf("%d",&n);
getchar();
while(n--)
{
CONTACTS*p,*pnew=newCONTACTS;
if(x==0)
p=head->next;
else
p=head->prior;
printf("名字 ");
gets(pnew->Name);
printf("手機號(11位,如果不知道,輸入10000000000) ");
while(1)
{
gets(pnew->Tele);
if(J_T(pnew->Tele)==1)
break;
else
printf("輸入手機號碼錯誤,請重輸 ");
}
printf("生日(形如,1949/1/1,1949/12/31,如果不知道,輸入0000/1/1) ");
while(1)
{
gets(pnew->Birt);
if(J_B(pnew->Birt)==1)
break;
else
printf("輸入不正確,請檢查 ");
}
printf("學號(如果不知道,輸入10000000000) ");
while(1)
{
gets(pnew->StID);
if(J_I(pnew->StID)==1)
break;
else
printf("輸入學號錯誤,請檢查後重新輸入 ");
}
p->next=pnew;
pnew->prior=p;
pnew->next=head;
head->prior=pnew;
}
return;
}
voidOutput_(CONTACTS*head)///輸出
{
CONTACTS*p=head->next;
printf("------------------------ ");
while(p!=head)
{
printf("%-8s:%s %-8s:%s %-8s:%s %-8s:%s ","|姓名",p->Name,"|學號",p->StID,"|手機號碼",p->Tele,"|生日",p->Birt);
if(p->next!=head)
putchar(' ');
p=p->next;
}
printf("------------------------ ");
return;
}
voidOpen_files(CONTACTS*pHead)///外部倒入數據
{
CONTACTS*pNew,*pNext;
FILE*fp;
charfilename[name];
puts("請輸入你要打開文件的地址");
scanf("%s",filename);
if((fp=fopen(filename,"r"))==NULL)
{
puts("無法打開文件");
fflush(stdin);
}
else
{
pNext=(CONTACTS*)malloc(sizeof(CONTACTS));
pHead->next=pNext;
pNext->prior=pHead;
fscanf(fp,"%s%s%s%s",pNext->Name,pNext->StID,pNext->Tele,pNext->Birt);
while(!feof(fp))
{
pNew=(CONTACTS*)malloc(sizeof(CONTACTS));
pNext->next=pNew;
pNew->prior=pNext;
pNext=pNew;
fscanf(fp,"%s%s%s%s",pNext->Name,pNext->StID,pNext->Tele,pNext->Birt);
}
pNext->next=pHead;
pHead->prior=pNext;
puts("導入數據成功!");
fclose(fp);
}
return;
}
voidSave_files(CONTACTS*pHead)///保存數據
{
CONTACTS*p=pHead->next;
FILE*fp;
charfilename[name];
if(p==pHead)
{
puts("無學生信息,請先錄入學生信息");
}
else
{
while(1)
{
puts("請輸入你要保存文件的地址");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
puts("無法打開文件");
else
{
while(p->next!=pHead)
{
fprintf(fp,"%s %s %s %s ",p->Name,p->StID,p->Tele,p->Birt);
p=p->next;
}
fprintf(fp,"%s %s %s %s ",p->Name,p->StID,p->Tele,p->Birt);
puts("保存文件成功!");
fclose(fp);
break;
}
}
}
return;
}
intMenu()
{
system("cls");
printf("-----------------------通訊錄----------------------- ");
printf("|******* 1.錄入| ");
printf("|******* 2.添加| ");
printf("|******* 3.查看| ");
printf("|******* 4.保存| ");
printf("|******* 5.打開| ");
printf("|******* 0.退出| ");
printf("---------------------------------------------------- ");
inti;
do
{
printf("輸入選項:_");
scanf("%d",&i);
}
while(i<0||i>5);
returni;
}
boolLoading(inttime)
{
charadmin[20]={"1"},passw[20]={"1"};
printf(" 用戶:______");
charadmi[20],pass[20];
scanf("%s",admi);
if(strcmp(admi,admin)==0)
{
printf(" 密碼:______");
scanf("%s",pass);
if(strcmp(pass,passw)==0)
return1;
else
{
printf("密碼錯誤 ");
return0;
}
}
else
{
printf("管理員錯誤 ");
return0;
}
}
intmain()
{
CONTACTS*head=(CONTACTS*)malloc(sizeof(CONTACTS));
head->next=head->prior=head;
inttimes=5;
printf(" ---------------------------------------------------------------- ");
printf(" |*******通訊錄系統*******| ");
printf(" |*******版本:2013.06.22*******| ");
printf(" |*******注意:你有%d次機會登陸本系統*******| ",times);
printf(" ---------------------------------------------------------------- ");
while(1)
{
intsign=Loading(times);
if(sign==1||times==1)
break;
times--;
printf("還有%d次機會 ",times);
}
if(times>1)
{
while(1)
{
switch(Menu())
{
case1:Input_(head,0);break;
case2:Input_(head,1);break;
case3:Output_(head);getchar();break;
case4:Save_files(head);getchar();break;
case5:Open_files(head);getchar();break;
case0:exit(0);break;
}
printf("按任意鍵繼續 ");
getchar();
}
}
else
{
printf("退出系統 ");
}
return0;
}

⑨ 確實很著急!!課程設計 銷售管理系統

我有這個光碟,你拿去參考就可以了

大致如下:
┌光碟內容列表
├企業管理

├企業管理/人事、行政管理制度

├企業管理/人事、行政管理制度/800hr職位分析(129個WORD文件)

├企業管理/人事、行政管理制度/800hr職位分析(129個WORD文件)/800hr03職位分析
├—QA主管工作說明書.doc
├—QC 主管工作說明書.doc
├—QM主管工作說明書.doc
├—XX公司職務分析計劃.doc
├—XYZ電路有限公司工作分析訪談提綱.doc
├—「中文文書崗位」工作規范.doc
├—「劃線工人」任職資格.doc
├—「招聘專員」職務資格.doc
├—「數據處理操作監督員」工作描述.doc
├—「銷售經理」任職資格.doc
├—「銷售經理」的工作描述.doc
├—一份簡單的職務說明書.doc
├—一種職位說明書格式.doc
├—產品審核員.doc
├—人事、社會、法律、管理.doc
├—人事就業助理工作描述.doc
├—人力資源部經理職務說明書.doc
├—倉庫主管.doc
├—倉庫保管員崗位職1.doc
├—倉庫保管員崗位職責.doc
├—倉庫管理員(材料).doc
├—企業工作內容描述表.doc
├—企業工作分析表.doc
├—供應運輸部門負責人工作責任制度.doc
├—信息主管.doc
├—信息管理工程師.doc
├—做一份職業生涯.doc
├—公共宣傳部經理職務說明書.doc
├—公司工作崗位輪換制度.doc
├—劃線工職位說明書.doc
├—副總裁的職位說明書.doc
├—勞資管理科科長職務說明書.doc
├—廠長(經理)工作責任制度.doc
├—敘述型的職位說明書.doc
├—品質保證部經理.doc
├—培訓科科長職務說明書.doc
├—備件開發工程師.doc
├—外銷主管.doc
├—外銷主管職位說明書.doc
├—審計部副經理職務說明書.doc
├—崗位工作說明書.doc
├—崗位技能工資結構表.doc
├—崗位職責範文.doc
├—崗位職責:人事、社會、法律.DOC
├—崗位職責:市場、銷售.DOC
├—工作豐富化診斷問卷調查表.doc
├—工作任務特性調查問卷.doc
├—工作分析中各種信息的類型與標准.doc
├—工作分析表.doc
├—工作分析調查問卷.doc
├—工作時間紀錄卡.doc
├—工作要素評價等級尺度樣本.doc
├—工作設計的小幽默.doc
├—工作評價總結表.doc
├—工作評價表.doc
├—工作說明書.doc
├—工作輪換申請表.doc
├—工作問卷.doc
├—工程主管.doc
├—市場、銷售.doc
├—市場專管.doc
├—弗萊施曼(Fleishman)工作分析系統所包含的能力.doc
├—往來核算會計職位說明書.doc
├—總工程師工作責任制度.doc
├—總師辦公室主任工作責任制度.doc
├—成本會計.doc
├—戰略管理部副總經理職務說明書.doc
├—戰略規劃組主管工作說明書.doc
├—投資分析助理員工作說明書.doc
├—投資管理業務主管工作說明書.doc
├—新品開發工程師.doc
├—新品項目組長.doc
├—機械維修專管.doc
├—機械維修工.doc
├—法定代表人身份證明書(供法人和其他組織用).doc
├—法定代表人(或主要負責人)身份證明書.doc
├—物料主管崗位職責.doc
├—生產、製造.doc
├—電氣維修工.doc
├—電腦技術服務員職位說明書.doc
├—稅務會計工作說明書.doc
├—經營管理業務主管工作說明書.doc
├—經營管理助理員工作說明書.doc
├—統計專管.doc
├—統計規劃助理員工作說明書.doc
├—綜合管理人員培訓.doc
├—職業發展與績效改進表.doc
├—職業發展咨詢案例一.doc
├—職業發展咨詢案例二.doc
├—職業發展咨詢案例四.doc
├—職業發展咨詢案例(三).doc
├—職業生涯設計方案.doc
├—職業評估測驗.doc
├—職業錨的自我評價.doc
├—職務分析範文.doc
├—職務分析調查表.doc
├—職務分析調研報告實例.doc
├—職務分析面談問題樣本(一).doc
├—職務分析面談問題樣本(二).doc
├—範文1、外派管理人員候選人面試提綱.doc
├—範文8 職業生涯發展計劃.doc
├—行政部經理.doc
├—表格式工作說明書.doc
├—表格式的職位說明書.doc
├—規劃經營部經理助理工作說明書.doc
├—規劃經營部經理崗位說明書.doc
├—規范用語的職務說明書.doc
├—計劃專管.doc
├—計劃主管.doc
├—設備庫管理員.doc
├—設備維護主管.doc
├—財務科科長職務說明書.doc
├—財務部經理.doc
├—財政金融、會計.doc
├—質量工程師.doc
├—質量監督.doc
├—較復雜的職務說明書.doc
├—過程式控制制員.doc
├—采購員崗位職責.doc
├—采購工程師.doc
├—采購計劃專管.doc
├—采購部經理.doc
├—銷售中心副主任職務說明.doc
├—銷售主管.doc
├—銷售計劃員.doc
├—隸屬部門: 製造部崗位編碼:.doc
├—餐飲業獎金制度.DOC
├—餐飲業股份有限公司人事管理.DOC

├企業管理/人事、行政管理制度/人事管理規章

├企業管理/人事、行政管理制度/人事管理規章/人事管理規則
├—事物處理准則.DOC
├—人事作業程序.doc
├—人事作業程序與管理.DOC
├—人事管理制度.DOC
├—人事管理規章.DOC
├—保密工作.doc
├—安全保衛.doc
├—晉升.doc

├企業管理/人事、行政管理制度/人事管理規章/公司職員禮儀守則
├—公司內應有的禮儀.doc
├—和客戶的業務禮儀.doc
├—日常業務中的禮儀.doc

├企業管理/人事、行政管理制度/人事管理規章/各類企業人事管理範例
├—商業企業人事管理制度.DOC
├—娛樂業股份有限公司.DOC
├—廣告業股份有限公司.doc
├—旅遊業股份有限公司.doc
├—機械工業企業人事管.doc
├—酒店業股份有限公司.doc
├—餐飲業股份有限公司.DOC

├企業管理/人事、行政管理制度/人事管理規章/成功企業獎金管理規定
├—化學原料及成品製造.doc
├—獎金管理辦法.DOC
├—家電製造業績效獎金.doc
├—餐飲業獎金制度.DOC

├企業管理/人事、行政管理制度/人事管理規章/成功企業資薪管理規定
├—報酬待遇管理規定.DOC
├—考勤管理規定.DOC

├企業管理/人事、行政管理制度/人事管理規章/提案管理制度
├—會議提案改善方案.doc
├—創意提案改善制度.doc
├—員工建議改善辦法.doc
├—提案建議效益獎的管理條例.doc
├—提案管理辦法.doc

├企業管理/人事、行政管理制度/勤務管理

├企業管理/人事、行政管理制度/勤務管理/出差管理制度
├—出差管理辦法.doc
├—出差管理規定.doc
├—員工出國辦法.doc
├—員工出差實施細則.doc
├—員工出差旅費支給辦法.doc

├企業管理/人事、行政管理制度/勤務管理/員工福利管理系統

├企業管理/人事、行政管理制度/勤務管理/員工福利管理系統/員工健康安全福利制度
├—從業人員撫恤辦法.doc
├—傷病、重大災害及喪葬補助辦法.doc
├—員工健康檢查辦法.doc
├—員工公傷補助費支給辦法.doc
├—員工醫療補貼規定.doc
├—員工撫恤辦法.doc
├—員工撫恤細則.doc
├—旅行意外保險.doc
├—特約醫院醫療貸款辦法.doc
├—門診醫葯費補助辦法.doc

├企業管理/人事、行政管理制度/勤務管理/員工福利管理系統/員工婚喪住房福利制度
├—公司暨直屬主管賀奠同仁婚喪標准.doc
├—員工婚喪喜慶應酬辦法.doc
├—員工家族生活補助費支給辦法.doc
├—員工購置住宅獎助辦法.doc
├—女員工嫁妝資助辦法.doc
├—婚喪喜慶暨福利補助給付規定.doc
├—房屋津貼給付辦法.doc

├企業管理/人事、行政管理制度/勤務管理/員工福利管理系統/員工子女教育及其他福利制度
├—下腳料處理辦法.doc
├—公司員工子女教育補助金支給辦法.doc
├—員工借書辦法.doc
├—員工福利委員會服兵役補助辦法.doc
├—對外業務人員申請貸款購買機器腳踏車辦法.doc
├—福利委員會獎金學金辦法.doc
├—營業、保養人員交通津貼支給辦法.doc

├企業管理/人事、行政管理制度/勤務管理/員工福利管理系統/員工福利組織規章與辦法
├—員工互助辦法.doc
├—員工福利委員會分期付款辦法.doc
├—員工福利委員會辦事細1.doc
├—員工福利委員會辦事細則.doc
├—員工福利委員會組織辦法草案.doc
├—員工福利委員會組織簡章.doc
├—員工福利社章程.doc
├—員工福利金辦法草案.doc
├—慈善基金設置及管理辦法.doc
├—科組基金辦法草案.doc

├企業管理/人事、行政管理制度/勤務管理/員工福利管理系統/員工退職、儲蓄福利制度
├—從業人員退職酬勞金營運小組辦事細則.doc
├—從業人員退職酬勞金運用及支配辦法.doc
├—公司福利委員會同仁福利存款借款辦法.doc
├—員工優利儲蓄辦法.doc
├—員工優利儲蓄存款作業准則.doc
├—員工儲蓄及退休福利基金計劃.doc
├—員工儲蓄存款辦法.doc
├—員工補助金給付辦法.doc
├—職工退休福利基金辦法.doc

├企業管理/人事、行政管理制度/勤務管理/員工管理
├—臨時人員管理辦法.DOC
├—員工守則(a).doc
├—員工守則(b).doc
├—員工守則(c).doc
├—員工繳存印鑒卡規定.DOC
├—員工身份保證金處理(A).DOC
├—員工身份保證金處理(B).DOC

├企業管理/人事、行政管理制度/勤務管理/考勤管理
├—企業職工患病或非因.DOC
├—值勤細則.DOC
├—值日值夜及餐費給.DOC
├—出勤及獎懲薪辦法.DOC
├—加班管理規則.DOC
├—員工出勤管理辦法.DOC
├—員工加班細則.doc
├—員工定期輪調辦法.DOC
├—員工給假實施細則.doc
├—員工給假細則.doc
├—員工考勤和休假的規定.DOC
├—員工輪休辦法.doc
├—商業企業加班管理.DOC
├—工員考勤工作注意事項.DOC
├—春節放假細則.DOC
├—派赴國內關聯公司.DOC
├—考勤管理規定.DOC
├—請假休假管理規定.DOC

├企業管理/人事、行政管理制度/勤務管理/職員退休管理
├—從業人員退休辦法.doc
├—員工離職處理原則.doc
├—員工資遣辦法.doc
├—員工退休辦法.doc
├—纖維工業股份有限公司工友退休辦法.doc
├—職員退休規則.doc
├—職員退職金給付規則.doc

├企業管理/人事、行政管理制度/勤務管理/聘用制度
├—專業技術人員職位任.doc
├—勞動合同.DOC
├—員工引薦擔保書.DOC
├—員工報到通知通知書.doc
├—員工正式聘用合同書.DOC
├—員工短期聘用合同書.DOC
├—員工聘用規定.doc
├—報酬待遇管理規定.DOC
├—新進人員任用辦法.doc
├—新進人員任用細則.doc
├—服務自願書.doc
├—聘任書.doc
├—聘約人員管理辦法.DOC

├企業管理/人事、行政管理制度/員工培訓

├企業管理/人事、行政管理制度/員工培訓/培訓制度
├—員工訓練的基本原則.doc
├—培訓准備工作要點.doc
├—教育訓練委員會組織.DOC
├—教育訓練委員會組織規程.DOC
├—新進員工指導方法.doc
├—訓練中心管理辦法.DOC

├企業管理/人事、行政管理制度/員工培訓/培訓辦法
├—公司員工教育實施辦法.DOC
├—新進人員教育訓練實施綱要.DOC

├企業管理/人事、行政管理制度/員工培訓/銷售人員培訓教材典範
├—工業品工作人員教育.DOC
├—推銷幹部的訓練手冊.doc
├—消費品工作人員培訓.DOC
├—百貨公司新進銷售員.doc

├企業管理/人事、行政管理制度/情報管理
├—個人調查實施方法.doc
├—企業部業務接洽追蹤辦法.doc
├—客戶名簿處理制度.doc
├—市場調查及預測工作管理制度.doc
├—情報管理制度.doc
├—競爭對手調查實施要點.doc
├—訂單情報處理制度.doc

├企業管理/人事、行政管理制度/行政管理
├—電腦室管理規定.doc
├—電話使用規定.doc

├企業管理/人事、行政管理制度/行政管理/會議管理制度
├—會議分類及組織.doc
├—會議的安排.doc
├—會議管理要領.doc

├企業管理/人事、行政管理制度/行政管理/宿舍食堂管理制度
├—員工食堂管理規定.doc
├—宿舍管理辦法.doc
├—職工宿舍文明守則.doc
├—鑰匙管理規定.doc
├—集體宿舍管理規定.doc

├企業管理/人事、行政管理制度/行政管理/文書管理制度
├—企業印、信管理制度.doc
├—企業打字、油印工作制度.doc
├—企業報刊、郵件、函電收發制度.doc
├—公文處理實施細則.doc
├—公文管理規定.doc
├—辦公用品領用規定.doc
├—發文程序與要求.doc
├—文件收發規定.doc
├—文件的借閱和清退.doc
├—文件的立卷與歸檔.doc
├—文件的銷毀.doc
├—文印室管理規定.doc

├企業管理/人事、行政管理制度/行政管理/檔案管理制度

├企業管理/人事、行政管理制度/行政管理/檔案管理制度/聲像檔案管理辦法
├—聲像檔案的保管.doc
├—聲像檔案的開發利用.doc
├—聲像檔案的整理.doc
├—聲像檔案資料的收集.doc
├—總則.doc
...

⑩ qtx格式用什麼軟體可以打開

可以使用Apple QuickTime Player打開。

QTX 是QuickTime擴展文件格式,QuickTime是蘋果公司提供的系統及代碼的壓縮包,它擁有C和Pascal的編程介面,更高級的軟體可以用它來控制時基信號。應用程序可以用QuickTime 來生成,顯示,編輯,拷貝,壓縮影片和影片數據,就象通常操縱文本文件和靜止圖像那樣。

除了處理視頻數據以外,諸如QuickTime3.0還能處理靜止圖像,動畫圖像,矢量圖,多音軌,MIDI音樂,三維立體,虛擬現實全景和虛擬現實的物體,當然還包括文本。它可以使任何應用程序中都充滿各種各樣的媒體。

(10)pta編譯電話簿排序擴展閱讀:

其他格式的文件

*.lnk 快捷方式

打開方式:Windows系統。

*.chm 幫助文件

打開方式:Windows系統。

*.xls Excel文件

打開方式:Microsoft Excel。

*.doc Word文檔

打開方式:Microsoft Word。

*.mp3 音頻文件

打開方式:播放器。

*.wav 音頻文件

打開方式:播放器。

*.mid 音頻文件

打開方式:播放器。

*.wma 音頻文件

打開方式:播放器。

*.rar 壓縮文件

打開方式:Winrar。

*.zip 壓縮文件

打開方式:Winzip。

*.htm 網頁文件

打開方式:Microsoft Internet Explorer。

*.pdf pdf文檔

打開方式:Acrobat Reader。

熱點內容
編程和技術 發布:2025-04-23 14:11:02 瀏覽:640
蘋果游戲部落沖突如何轉安卓 發布:2025-04-23 13:26:13 瀏覽:62
計算器的密碼多少 發布:2025-04-23 13:21:48 瀏覽:463
哪種腳本 發布:2025-04-23 13:11:48 瀏覽:76
java企業 發布:2025-04-23 13:11:04 瀏覽:85
秒拍上傳本地視頻 發布:2025-04-23 13:05:14 瀏覽:454
吃雞安卓區轉蘋果區需要休息什麼 發布:2025-04-23 13:03:12 瀏覽:907
編程速度 發布:2025-04-23 13:00:20 瀏覽:353
族譜網源碼 發布:2025-04-23 12:47:26 瀏覽:30
rsa演算法演算法c語言實現 發布:2025-04-23 12:45:14 瀏覽:936