首先感谢之前访问的17人次。我那第一条没有营养的博文。废话不多说,正文开始,这是我自己写的电话溥管理系统,还望各位给出指导意见。我会在接下来49天内,
坚持不懈的写程序。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node{
char name[10];
char num[11];
char information[20];
struct node *next;
};// I will try to write English note, this is a user`s information and phone number
node *head = NULL;
node *zimu[26];
void creat_zimu(){
for(int i = 0; i<26; i++){
zimu[i] = 0;
}
}//This is something that is overall situation. I will set A to Z in zimu[26] for people name and sort<pre class="cpp" name="code">int Strcmp(char *s1,char *s2){
for(;*s1==*s2;++s1,++s2)
if(*s1=='\0')
return(0);
return((*(char*)s1<*(char*)s2)?-1:+1);
}//It`s strcmp string A and B,s1 biger is +1
int zifu(char n){
int m = n - 97;
return m;
}//It`s mean a == 0;b == 1
<pre class="cpp" name="code">void paixucore(node *&head,node *temp,int n){
if(Strcmp(head->name,temp->name) != -1){
temp->next = head;
zimu[n] = temp;
return ;
}
if(head->next == NULL){
head->next = temp;
return ;
}
node *p = head->next;
node *q = head;
while(p && Strcmp(temp->name,p->name) == 1){
p = p->next;
q = q->next;
}
q->next = temp;
temp->next = p;
}
//The first if is mean temp < head
//The second if is mean only head so head->temp
//The last if is mean q < temp < p
void paixu(node *p){
int n = zifu(p->name[0]);
printf("首字母是%d\n",n);
if(zimu[n] == 0){
zimu[n] = p;
printf("字母是空位已存入%d\n",n);
}
else{
printf("字母不是空位\n");
paixucore(zimu[n],p,n);
printf("已完成\n");
}
printf("完成排序\n");
}
void newdata(node *&head){node *p = (node*)malloc(sizeof(node));if(head == NULL){head = p;}static node *r = head;printf("请输入姓名:\n");scanf("%s",p->name);printf("请输入电话号码:\n");scanf("%s",p->num);printf("请输入备注信息:\n");scanf("%s",p->information);//r->next = p;p->next = NULL;//r = p;paixu(p);}void newdata(node *&head){
node *p = (node*)malloc(sizeof(node));
if(head == NULL){
head = p;
}
static node *r = head;
printf("请输入姓名:\n");
scanf("%s",p->name);
printf("请输入电话号码:\n");
scanf("%s",p->num);
printf("请输入备注信息:\n");
scanf("%s",p->information);
//r->next = p;
p->next = NULL;
//r = p;
paixu(p);
}
void newdata(node *&head){
node *p = (node*)malloc(sizeof(node));
if(head == NULL){
head = p;
}
static node *r = head;
printf("请输入姓名:\n");
scanf("%s",p->name);
printf("请输入电话号码:\n");
scanf("%s",p->num);
printf("请输入备注信息:\n");
scanf("%s",p->information);
//r->next = p;
p->next = NULL;
//r = p;
paixu(p);
}
void newdata(node *&head){node *p = (node*)malloc(sizeof(node));if(head == NULL){head = p;}static node *r = head;printf("请输入姓名:\n");scanf("%s",p->name);printf("请输入电话号码:\n");scanf("%s",p->num);printf("请输入备注信息:\n");scanf("%s",p->information);//r->next = p;p->next = NULL;//r = p;paixu(p);}