c语言校友通讯录毕业论文(用c语言程序设计一个学生通讯录系统)

1.用c语言程序设计一个学生通讯录系统

#include#include#include#include struct record { char name[20]; //姓名 char phone[12]; //电话 char adress[50]; //地址 char postcode[8]; //邮政编码 char e_mail[20]; //电子邮件。

}student[100]; //假设最大数为100.//定义全局变量num,表示已经输入的人数 。int num; //这里使用数组解决通讯录的问题,实际上使用链表更好。

int menu_select() { char s[80]; int a;/*定义整形变量*/ system("cls"); printf("\t\t***********欢迎进入通讯管理界面********\n\n"); printf("\t\t\t0. 输入记录\n"); printf("\t\t\t1. 显示记录\n"); printf("\t\t\t2. 按姓名查找\n"); printf("\t\t\t3. 按电话号码查找\n"); printf("\t\t\t4. 插入记录 \n"); printf("\t\t\t5. 按姓名排序\n"); printf("\t\t\t6. 删除记录\n"); printf("\t\t\t7. Quit\n"); printf("\t\t***********************************************\n\n"); do{ printf("Enter you choice(0~7):"); scanf("%s",s); a=atoi(s); } while (a7); return a; } int adduser() { printf("\t\t\t**************** 请输入用户信息 ****************\n"); printf("\t\t\t输入姓名:\n"); scanf("%s",student[num].name); printf("\t\t\t输入电话号码:\n"); scanf("%s",student[num].phone); printf("\t\t\t输入地址:\n"); scanf("%s",student[num].adress); printf("\t\t\t输入邮编:\n"); scanf("%s",student[num].postcode); printf("\t\t\t输入e-mail:\n"); scanf("%s",student[num].e_mail); num++; printf("\t\t\t是否继续添加?(Y/N):\n"); if(getch()=='y' || getch()=='Y') adduser(); return(0); } void list() { int i; system("cls"); if(num!=0) { printf("\t\t\t*************** 以下为通讯录所有信息************\n"); for (i=0;i { printf("\t\t\t姓名:%s\n",student[i].name); printf("\t\t\t电话:%s\n",student[i].phone); printf("\t\t\t地址:%s\n",student[i].adress); printf("\t\t\t邮编:%s\n",student[i].postcode); printf("\t\t\te-mail:%s\n",student[i].e_mail); if(i+1 { system("pause"); } } printf("\t\t\t************************************************\n"); } else printf("\t\t\t通讯录中无任何纪录\n"); printf("\t\t\t按任意键返回主菜单:\n"); getch(); //这里是无回显的输入字符,你输入的字符不会显示在屏幕上。 return; } int searchbyname() { int mark=0; int i; printf("\t\t\t***************** 按姓名查找 *******************\n"); char name[20]; printf("\t\t\t请输入姓名:\n"); scanf("%s",name); for(i=0;i { if (strcmp(student[i].name,name)==0) { printf("\t\t\t************* 以下是您查找的用户信息 ***********\n"); printf("\t\t\t姓名: %s",student[i].name); printf("\t\t\t电话: %s",student[i].phone); printf("\t\t\t地址: %s",student[i].adress); printf("\t\t\te-mail:%s",student[i].e_mail); printf("\t\t\t************************************************\n"); mark++; if((i+1) { printf("\t\t\t是否继续查找相同名字的用户信息:(y/n)\n"); if(getch()=='y' || getch()=='Y') { continue; } else return(0); } else { printf("\t\t\t按任意键返回主菜单"); getch(); return(0); } } } if(mark == 0) { printf("\t\t\t没有相同姓名的用户纪录\n"); printf("\t\t\t按任意键返回主菜单\n"); getch(); return(0); } return 0; } int searchbyphone() { int mark=0; int i; printf("\t\t\t****************** 按电话查找 ******************\n"); char phone[10]; printf("\t\t\t请输入电话号码:\n"); scanf("%s",phone); for(i=0;i { if (strcmp(student[i].phone,phone)==0) { printf("\t\t\t************** 以下是您查找的用户信息 **********\n"); printf("\t\t\t姓名: %s",student[i].name); printf("\t\t\t电话: %s",student[i].phone); printf("\t\t\t地址: %s",student[i].adress); printf("\t\t\te-mail:%s",student[i].e_mail); printf("\t\t\t************************************************\n"); printf("\t\t\t按任意键返回主菜单\n"); mark++; getch(); return(0); } } if (mark==0) { printf("\t\t\t没有改用户的信息\n"); printf("\t\t\t按任意键返回主菜单\n"); getch(); return(0); } return(0); } void deletebyphone() { int i,j; int deletemark=0; char phone[20]; printf("\t\t\t请输入要删除用户电话号码:\n"); scanf("%s",phone); if(num==0) { printf("\t\t\t对不起,文件中无任何纪录\n"); printf("\t\t\t按任意键返回主菜单\n"); getch(); return; } for (i=0;i { if (strcmp(student[i].phone,phone)==0) { printf("\t\t\t以下是您要删除的用户纪录:\n"); printf("\t\t\t姓名: %s",student[i].name); printf("\t\t\t电话: %s",student[i].phone); printf("\t\t\t地址: %s",student[i].adress); printf("\t\t\te-mail:%s",student[i].e_mail); printf("\t\t\t是否删除?(y/n)"); if (getch()=='y' || getch()=='Y') { for (j=i;j student[j]=student[j+1]; num--; deletemark++; printf("\t\t\t删除成功"); printf("\t\t\t是否继续删除?(y/n)"); if (getch()=='y' || getch()=='Y') deletebyphone(); return; } else return; } continue; } if (deletemark==0) { printf("\t\t\t没有该用户的纪录"); printf("\t\t\t是否继续删除?(y/n)"); if(getch()=='y' || getch()=='Y') deletebyphone(); return; } return; } void deletebyname() { int a=0; int findmark=0; int j; int deletemark=0; int i; char name[20]; printf("\t\t\t请输入要删除用户姓名:\n"); scanf("%s",name); for (。

2.c语言课程设计—学生通讯录管理系统设计 设计一个学生通信录,学生

/*10.3.2源程序*//******头文件(.h)***********/#include"stdio.h"/*I/O函数*/#include"stdlib.h"/*标准库函数*/#include"string.h"/*字符串函数*/#include"ctype.h"/*字符操作函数*/#defineM50/*定义常数表示记录数*/typedefstruct/*定义数据结构*/{charname[20];/*姓名*/charunits[30];/*单位*/chartele[10];/*电话*/}ADDRESS;/******以下是函数原型*******/intenter(ADDRESSt[]);/*输入记录*/voidlist(ADDRESSt[],intn);/*显示记录*/voidsearch(ADDRESSt[],intn);/*按姓名查找显示记录*/intdelete(ADDRESSt[],intn);/*删除记录*/intadd(ADDRESSt[],intn);/*插入记录*/voidsave(ADDRESSt[],intn);/*记录保存为文件*/intload(ADDRESSt[]);/*从文件中读记录*/voiddisplay(ADDRESSt[]);/*按序号查找显示记录*/voidsort(ADDRESSt[],intn);/*按姓名排序*/voidqseek(ADDRESSt[],intn);/*快速查找记录*/voidcopy();/*文件复制*/voidprint(ADDRESStemp);/*显示单条记录*/intfind(ADDRESSt[],intn,char*s);/*查找函数*/intmenu_select();/*主菜单函数*//******主函数开始*******/main(){inti;ADDRESSadr[M];/*定义结构体数组*/intlength;/*保存记录长度*/clrscr();/*清屏*/for(;;)/*无限循环*/{switch(menu_select())/*调用主菜单函数,返回值整数作开关语句的条件*/{case0:length=enter(adr);break;/*输入记录*/case1:list(adr,length);break;/*显示全部记录*/case2:search(adr,length);break;/*查找记录*/case3:length=delete(adr,length);break;/*删除记录*/case4:length=add(adr,length);break;/*插入记录*/case5:save(adr,length);break;/*保存文件*/case6:length=load(adr);break;/*读文件*/case7:display(adr);break;/*按序号显示记录*/case8:sort(adr,length);break;/*按姓名排序*/case9:qseek(adr,length);break;/*快速查找记录*/case10:copy();break;/*复制文件*/case11:exit(0);/*如返回值为11则程序结束*/}}}/*菜单函数,函数返回值为整数,代表所选的菜单项*/menu_select(){chars[80];intc;gotoxy(1,25);/*将光标定为在第25行,第1列*/printf("pressanykeyentermenu\n");/*提示压任意键继续*/getch();/*读入任意字符*/clrscr();/*清屏*/gotoxy(1,1);printf("********************MENU*********************\n\n");printf("0.Enterrecord\n");printf("1.Listthefile\n");printf("2.Searchrecordonname\n");printf("3.Deletearecord\n");printf("4.addrecord\n");printf("5.Savethefile\n");printf("6.Loadthefile\n");printf("7.displayrecordonorder\n");printf("8.sorttomakenewfile\n");printf("9.Quickseekrecord\n");printf("10.copythefiletonewfile\n");printf("11.Quit\n");printf("***********************************************\n");do{printf("\nEnteryouchoice(0~11):");/*提示输入选项*/scanf("%s",s);/*输入选择项*/c=atoi(s);/*将输入的字符串转化为整型数*/}while(c11);/*选择项不在0~11之间重输*/returnc;/*返回选择项,主程序根据该数调用相应的函数*/}/***输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/intenter(ADDRESSt[]){inti,n;char*s;clrscr();/*清屏*/printf("\npleaseinputnum\n");/*提示信息*/scanf("%d",&n);/*输入记录数*/printf("pleaseinputrecord\n");/*提示输入记录*/printf("nameunittelephone\n");printf("------------------------------------------------\n");for(i=0;in-1)/*如果整数i值大于n-1,说明没找到*/printf("notfound\n");elseprint(t[i]);/*找到,调用显示函数显示记录*/}/*显示指定的一条记录*/voidprint(ADDRESStemp){clrscr();printf("\n\n********************************************\n");printf("nameunittelephone\n");printf("------------------------------------------------\n");printf("%-20s%-30s%-10s\n",temp.name,temp.units,temp.tele);printf("**********************end***********************\n");}/*查找函数,参数为记录数组和记录条数以及姓名s*/intfind(ADDRESSt[],intn,char*s){inti;for(i=0;in-1)/*如果i>n-1超过了数组的长度*/printf("nofoundnotdeleted\n");/*显示没找到要删除的记录*/else{print(t[i]);/*调用输出函数显示该条记录信息*/printf("Areyousuredeleteit(1/0)\n");/*确认是否要删除*/scanf("%d",&ch);/*输入一个整数0或1*/if(ch==1)/*如果确认删除整数为1*/{for(j=i+1;j=i;j--)/*从最后一个结点开始向后移动一条*/{strcpy(t[j+1].name,t[j].name);/*当前记录的姓名拷贝到后一条*/strcpy(t[j+1].units,t[j].units);/*当前记录的单位拷贝到后一条*/strcpy(t[j+1].tele,t[j].tele);/*当前记录的电话拷贝到后一条*/}strcpy(t[i].name,temp.name);/*将新插入记录的姓名拷贝到第i个位置*/strcpy(t[i].units,temp.units);/*将新插入记录的单位拷贝到第i个位置*/strcpy(t[i].tele,temp.tele);/*将新插入记录的电话拷贝到第i个位置*/n++;/*记录数加1*/returnn;/*返回记录数*/}/*保存函数,参数为结构体数组和记录数*/voidsave(ADDRESSt[],intn){inti;FILE*fp;/*指向文件的指针*/if((fp=fopen("record.txt","wb"))==NULL)/*打开文件,并判断打开是否正常*/{printf("cannotopenfile\n");/*没打开*/exit(1);/*退出*/}printf("\nSavingfile\n");。

3.同学通讯录c 编程

给:#include #include #include #include struct record { char id[10]; char name[20]; char phone[20]; char adress[40]; char postcode[10]; char e_mail[30]; }student[500]; int num=0;//外部变量num为文件中的纪录数 FILE *fp; void mainmenu();//主菜单 void newrecord();//新添纪录 void searchmenu();//查询菜单 void searchbyid();//按学号查询 void searchbyname();//按姓名查询 void searchbyphone();//按电话查询 void deletemenu();//删除菜单 void deleteall();//删除所有 void deleteone();//删除单个 void showall();//显示所有 void readfromfile();//读取文件 void writetofile();//写入文件 void deletebyid();//按学号删除 void deletebyname();//按姓名删除 void listbyid();//按学号排序 void listbyname();//按姓名排序 void listmenu();//排序菜单 void main() { readfromfile(); while (1) { mainmenu(); } } void readfromfile()//从文件导入 { if((fp=fopen("student.bin","rb"))==NULL) { printf("\n\t\t通讯录文件不存在"); if ((fp=fopen("student.bin","wb"))==NULL) { printf("\n\t\t建立失败"); exit(0); } else { printf("\n\t\t通讯录文件已建立"); printf("\n\t\t按任意键进入主菜单"); getch(); return; } exit(0); } fseek(fp,0,2); /*文件位置指针移动到文件末尾*/ if (ftell(fp)>0) /*文件不为空*/ { rewind(fp); /*文件位置指针移动到文件开始位置*/ for (num=0;!feof(fp) && fread(&student[num],sizeof(struct record),1,fp);num++); printf("\n\t\t文件导入成功"); printf("\n\t\t按任意键返回主菜单"); getch(); return; } printf("\n\t\t文件导入成功"); printf("\n\t\t通讯录文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单"); getch(); return; } void mainmenu()//主菜单 { char choic; system("cls"); printf("\n\t\t******************** 主菜单 ********************"); printf("\n\t\t*********** 1-新添纪录 2-查询菜单 ************"); printf("\n\t\t*********** 3-删除菜单 4-记录排序 ************"); printf("\n\t\t*********** 5-保存退出 6-不保存退出***********"); printf("\n\t\t************************************************"); printf("\n\t\t请选择:"); 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(); } } void searchmenu()//查询菜单 { char choic; system("cls"); printf("\n\t\t******************* 查询菜单 *******************"); printf("\n\t\t********** 1-显示所有 2-按学号查询 ************"); printf("\n\t\t********** 3-按姓名查询4-按电话查询 ************"); printf("\n\t\t********** 5-返回主菜单 ************"); printf("\n\t\t************************************************"); printf("\n\t\t请选择:"); choic=getch(); switch (choic) { case '1':showall();break; case '2':searchbyid();break; case '3':searchbyname();break; case '4':searchbyphone();break; case '5':mainmenu();break; } } void deletemenu()//删除菜单 { char choic; if(num==0) { printf("\n\t\t对不起,文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单"); getch(); return; } system("cls"); printf("\n\t\t******************* 删除菜单 *******************"); printf("\n\t\t*********** 1-删除所有 2-删除单个 ***********"); printf("\n\t\t*********** 3-返回主菜单 ***********"); printf("\n\t\t************************************************"); printf("\n\t\t请选择:"); choic=getch(); switch (choic) { case '1':deleteall();break; case '2':deleteone();break; case '3':mainmenu();break; default:mainmenu();break; } } void deleteall()//删除所有 { printf("\n\t\t确认删除?(y/n)"); if (getch()=='y') { fclose(fp); if ((fp=fopen("student.bin","wb"))==NULL) { printf("\n\t\t不能打开文件,删除失败"); readfromfile(); } num=0; printf("\n\t\t纪录已删除,按任意键返回主菜单"); getch(); return; } else return; } void deletebyname()//按姓名删除 { int a=0; int findmark=0; int j; int deletemark=0; int i; char name[20]; printf("\n\t\t请输入要删除学生姓名:"); scanf("%s",name); for (i=a;i

4.C语言 通讯录

#include #include #include #include //包含system函数头文件#define LEN sizeof(struct student)struct student{ int num;//学号 char name[100];//用户姓名 char phone[20];//电话号码 char addr[100];//通讯地址 struct student *next;};void menu(void)//菜单{ printf("\t\t\t1.添加联系人信息\n"); printf("\t\t\t2.修改通讯录中记录\n"); printf("\t\t\t3.删除联系人信息\n"); printf("\t\t\t4.以学号查询信息\n"); printf("\t\t\t5.以姓名查询信息\n"); printf("\t\t\t6.以电话号码查询信息\n"); printf("\t\t\t7.以地址查询所需的信息\n"); printf("\t\t\t8.退出\n"); } //增添电子通讯录中的内容,即创建连表过程struct student *create(struct student *head){ struct student *p0=NULL,*p1,*p2;//p0为要插入的新节点 p1=head; p2=head; system("CLS"); printf("\t\t创建并添加联系人信息"); printf("\n"); p0=(struct student *)malloc(LEN); printf("请输入联系人学号:"); scanf("%d",&p0->num); printf("请输入联系人姓名:"); gets(p0->name); printf("请输入联系人电话号码:"); gets(p0->phone); printf("请输入联系人地址:"); gets(p0->addr); //对插入的节点排序,按姓名的拼音顺序 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;} printf("添加了联系人信息成功"); printf("\n\n"); } return(head); }//电子通讯录的查找,通过学号查找 void searchnum(struct student *head){ struct student *p1,*p2; int num; p1=head; p2=p1; system("CLS"); printf("输入要查找联系人的学号:"); scanf("%d",&num); while(p1!=NULL) { if(p1->num==num) { printf("联系人学号:"); printf("%d",p1->num); printf("联系人姓名:"); puts(p1->name); printf("联系人电话号码:"); puts(p1->phone); printf("联系人地址:"); puts(p1->addr); break; } p2=p1; p1=p1->next; } if(p1==NULL) printf("对不起,没有该联系人的纪录\n"); }。

5.C语言 课程设计 通讯录

#include "stdio.h" #include "stdlib.h" #include "string.h" #include "ctype.h" #define M 50 typedef struct { char name[14]; char tele[14]; char address[22]; char QQ[14]; char group[10]; }person; int enter(person t[]); int load(person t[]); void save(person t[],int n); void list(person t[],int n); void modify(person t[],int n); int delete(person t[],int n); int add(person t[],int n); void N_search(person t[],int n); void T_search(person t[],int n); void N_list(person t[],int n); void G_list(person t[],int n); void print(person temp); int find(person t[],int n,char *s); int menu_select(); main() { int i; person adr[M]; int length; clrscr(); for(;;) { switch(menu_select()) { case 1: length=enter(adr);break; case 2: length=load(adr); break; case 3: save(adr,length);break; case 4: list(adr,length);break; case 5: modify(adr,length);break; case 6: length=delete(adr,length);break; case 7: length=add(adr,length);break; case 8: N_search(adr,length);break; case 9: T_search(adr,length);break; case 10: N_list(adr,length);break; case 11: G_list(adr,length);break; case 0: exit(0); } } } menu_select() { char s[25]; int c; gotoxy(1,25); printf("Press any key to enter menu。

\n"); getch(); clrscr(); gotoxy(1,1); printf("*****************************MENU*****************************\n\n"); printf(" 1 Enter record\n"); printf(" 2 Load the file\n"); printf(" 3 Save the file\n"); printf(" 4 List the file\n"); printf(" 5 Modify a record\n"); printf(" 6 Delete a record\n"); printf(" 7 Add a record\n"); printf(" 8 Search on name\n"); printf(" 9 Search on Tel.\n"); printf(" 10 Array on name\n"); printf(" 11 Array on group\n"); printf(" 0 Quit\n"); printf("****************************************************************\n"); do{ printf("\n Enter you choice(0~11):"); gets(s); c=atoi(s); }while(c<0||c>11); return c; } 还有我QQ 传给你吧。

6.用C语言编写一个学生通讯录管理系统

运行成功~ #include "stdio.h" #include "stdlib.h" #include "string.h" int shoudsave=0; /* */ struct student { char num[10];/* 学号 */ char name[20]; char sex[4]; int cgrade; int mgrade; int egrade; int totle; int ave; char neartime[10];/* 最近更新时间 */ }; typedef struct node { struct student data; struct node *next; }Node,*Link; void menu() { printf("********************************************************************************"); printf("\t1登记学生资料\t\t\t\t\t2删除学生资料\n"); printf("\t3查询学生资料\t\t\t\t\t4修改学生资料\n"); printf("\t5保存学生资料\t\t\t\t\t6作者介绍\n");printf("\t0退出系统\n"); printf("********************************************************************************\n"); } void printstart() { printf("-----------------------------------------------------------------------\n"); } void Wrong() { printf("\n=====>提示:输入错误!\n"); } void Nofind() { printf("\n=====>提示:没有找到该学生!\n"); } void printc() /* 本函数用于输出中文 */ { printf(" 学号\t 姓名 性别 英语成绩 数学成绩 C语言成绩 总分 平均分\n"); } void printe(Node *p)/* 本函数用于输出英文 */ { printf("%-12s%s\t%s\t%d\t%d\t%d\t %d\t %d\n",p->data.num,p->data.name,p->data.sex,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave); } Node* Locate(Link l,char findmess[],char nameornum[]) /* 该函数用于定位连表中符合要求的接点,并返回该指针 */ { Node *r; if(strcmp(nameornum,"num")==0) /* 按学号查询 */ { r=l->next; while(r!=NULL) { if(strcmp(r->data.num,findmess)==0) return r; r=r->next; } } else if(strcmp(nameornum,"name")==0) /* 按姓名查询 */ { r=l->next; while(r!=NULL) { if(strcmp(r->data.name,findmess)==0) return r; r=r->next; } } return 0; } void Add(Link l) /* 增加学生 */ { Node *p,*r,*s; char num[10]; r=l; s=l->next; while(r->next!=NULL) r=r->next; /* 将指针置于最末尾 */ while(1) { printf("请你输入学号(以'0'返回上一级菜单:)"); scanf("%s",num); if(strcmp(num,"0")==0) break; while(s) { if(strcmp(s->data.num,num)==0) { printf("=====>提示:学号为'%s'的学生已经存在,若要修改请你选择'4 修改'!\n",num); printstart(); printc(); printe(s); printstart(); printf("\n"); return; } s=s->next; } p=(Node *)malloc(sizeof(Node)); strcpy(p->data.num,num); printf("请你输入姓名:"); scanf("%s",p->data.name); getchar(); printf("请你输入性别:"); scanf("%s",p->data.sex); getchar(); printf("请你输入c语言成绩:"); scanf("%d",&p->data.cgrade); getchar(); printf("请你输入数学成绩:"); scanf("%d",&p->data.mgrade); getchar(); printf("请你输入英语成绩:"); scanf("%d",&p->data.egrade); getchar(); p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; p->data.ave=p->data.totle / 3; /* 信息输入已经完成 */ p->next=NULL; r->next=p; r=p; shoudsave=1; } } void Qur(Link l) /* 查询学生 */ { int sel; char findmess[20]; Node *p; if(!l->next) { printf("\n=====>提示:没有资料可以查询!\n"); return; } printf("\n=====>1按学号查找\n=====>2按姓名查找\n"); scanf("%d",&sel); if(sel==1)/* 学号 */ { printf("请你输入要查找的学号:"); scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { printf("\t\t\t\t查找结果\n"); printstart(); printc(); printe(p); printstart(); } else Nofind(); } else if(sel==2) /* 姓名 */ { printf("请你输入要查找的姓名:"); scanf("%s",findmess); p=Locate(l,findmess,"name"); if(p) { printf("\t\t\t\t查找结果\n"); printstart(); printc(); printe(p); printstart(); } else Nofind(); } else Wrong(); } void Del(Link l) /* 删除 */ { int sel; Node *p,*r; char findmess[20]; if(!l->next) { printf("\n=====>提示:没有资料可以删除!\n"); return; } printf("\n=====>1按学号删除\n=====>2按姓名删除\n"); scanf("%d",&sel); if(sel==1) { printf("请你输入要删除的学号:"); scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { r=l; while(r->next!=p) r=r->next; r->next=p->next; free(p); printf("\n=====>提示:该学生已经成功删除!\n"); shoudsave=1; } else Nofind(); } else if(sel==2) { printf("请你输入要删除的姓名:"); scanf("%s",findmess); p=Locate(l,findmess,"name"); if(p) { r=l; while(r->next!=p) r=r->next; r->next=p->next; free(p); printf("\n=====>提示:该学生已经成功删除!\n"); shoudsave=1; } else Nofind(); } else Wrong(); } void Modify(Link l) { Node *p; char findmess[20]; if(!l->next) { printf("\n=====>提示:没有资料可以修改!\n"); return; } printf("请你输入要修改的学生学号:"); scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { printf("请你输入新学号(原来是%s):",p->data.num); scanf("%s",p->data.num); printf("请你输入新姓名(原来是%s):",p->data.name); scanf("%s",p->data.name); getchar(); printf("请你输入新性别(原来是%s):。

7.C语言编写程序:同学通信录管理系统

望采纳 #include #include#include typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person; Person pe[80]; //登陆函数 logon() {printf("\n\n\n\t\t\t 通讯录管理系统\n\n"); printf("\t\t\t 版本号:1.0\n\n"); printf("\n\n\n\n\n\t\t\t 2011年4月29日\n\n"); printf("\t\t\t 程序设计第三组\n"); system("pause"); } int menu_select() { char c; logon(); do{ system("cls"); printf("\t\t *****通讯录***** \n"); printf("\t\t┌───────┐\n"); printf("\t\t│ 1. 添加记录 │\n"); printf("\t\t│ 2. 显示记录 │\n"); printf("\t\t│ 3. 删除记录 │\n"); printf("\t\t│ 4. 查询记录 │\n"); printf("\t\t│ 5. 修改记录 │\n"); printf("\t\t│ 6. 保存记录 │\n"); printf("\t\t│ 0. 退出程序 │\n"); printf("\t\t└───────┘\n"); printf("\t\t请您选择(0-6):"); c=getchar(); }while(c<'0'||c>'6'); return(c-'0'); } int Input(Person per[],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf("\t编号:"); scanf("\t%d",&per[n+i].score); printf("\t姓名:"); scanf("\t%s",per[n+i].name); printf("\t年龄:"); scanf("\t%s",per[n+i].age); printf("\t电话号码:"); scanf("\t%s",per[n+i].num); printf("\t通讯住址:"); scanf("\t%s",per[n+i].adds); printf("\t电子邮箱:"); scanf("\t%s",per[n+i].email); gets(x); printf("\n\t是否继续添加?(Y/N)"); scanf("\t%c",&sign); i++; } return(n+i); } void Display(Person per[],int n) { int i; printf("----------------------------------------------------------------------\n"); /*格式*/ printf("编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n"); printf("----------------------------------------------------------------------\n"); for(i=1;i1&&i%10==0) { printf("\t-----------------------------------\n"); printf("\t"); system("pause"); printf("\t-----------------------------------\n"); } } printf("----------------------------------------------------------------------\n"); system("pause"); } int Delete_a_record(Person per[],int n) { char s[20]; int i=0,j; printf("\t请输入想删除记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i

8.c语言 通讯录

/*编程建立一通讯簿,存放有姓名、电话号码、住址,然后对通信簿进行查找、添加、修改及删除。

*/#includestructperson{charname[8];chartel[15];charaddr[50];};charfilename[20];FILE*fp;voidcreat();voidoutput();voidsearch();voidappend();voidmodify();voiddelete();main(){intm;creat();while(1){printf("\n\n添加,请按1");printf("\n查找,请按2");printf("\n修改,请按3");printf("\n删除,请按4");printf("\n输出,请按5");printf("\n退出,请按0\n");scanf("%d",&m);if(m>=0&&m<=5){switch(m){case1:append();break;case2:search();break;case3:modify();break;case4:delete();break;case5:output();break;case0:exit();}printf("\n\n操作完毕,请再次选择!");}elseprintf("\n\n选择错误,请再次选择!");}}voidcreat(){structpersonone;longs1;printf("\n请输入通讯簿名:");scanf("%s",filename);if((fp=fopen(filename,"w"))==NULL){printf("\n不能建立通讯簿!");exit();}fprintf(fp,"%-10s%-20s%-50s\n","姓名","电话号码","住址");printf("\n请输入姓名、电话号码及住址(以0结束)\n");scanf("%s",one.name);while(strcmp(one.name,"0")){scanf("%s%s",one.tel,one.addr);fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);scanf("%s",one.name);}fclose(fp);}voidoutput(){structpersonone;if((fp=fopen(filename,"r"))==NULL){printf("\n不能打开通讯簿!");exit();}printf("\n\n%20s\n","通讯簿");while(!feof(fp)){fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);printf("%-10s%-20s%-50s",one.name,one.tel,one.addr);}fclose(fp);}voidappend(){structpersonone;if((fp=fopen(filename,"a"))==NULL){printf("\n不能打开通讯簿!");exit();}printf("\n请输入添加的姓名、电话号码及住址\n");scanf("%s%s%s",one.name,one.tel,one.addr);fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);fclose(fp);}voidsearch(){intk=0;charnamekey[8];structpersonone;printf("\n请输入姓名:");scanf("%s",namekey);if((fp=fopen(filename,"rb"))==NULL){printf("\n不能打开通讯簿!");exit();}while(!feof(fp)){fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);if(!strcmp(namekey,one.name)){printf("\n\n已查到,记录为:");printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);k=1;}}if(!k)printf("\n\n对不起,通讯簿中没有此人的记录。");fclose(fp);}voidmodify(){intm,k=0;longoffset;charnamekey[8];structpersonone;printf("\n请输入姓名:");scanf("%s",namekey);if((fp=fopen(filename,"r+"))==NULL){printf("\n不能打开通讯簿!");exit();}while(!feof(fp)){offset=ftell(fp);fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);if(!strcmp(namekey,one.name)){k=1;break;}}if(k){printf("\n已查到,记录为:");printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);printf("\n请输入新姓名、电话号码及住址:");scanf("%s%s%s",one.name,one.tel,one.addr);fseek(fp,offset,SEEK_SET);printf("%ld",ftell(fp));fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);}elseprintf("\n对不起,通讯簿中没有此人的记录。

");fclose(fp);}voiddelete(){intm,k=0,flag;longoffset1,offset2;charnamekey[8],valid[4];structpersonone;printf("\n请输入姓名:");scanf("%s",namekey);if((fp=fopen(filename,"r+"))==NULL){printf("\n不能打开通讯簿!");exit();}while(!feof(fp)){offset1=ftell(fp);fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);if(!strcmp(namekey,one.name)){k=1;break;}}if(k){printf("\n已查到,记录为");printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);printf("\n确实要删除,按1;不删除,按0:");scanf("%d",&m);if(m){fseek(fp,offset1,SEEK_SET);fprintf(fp,"%-10s%-20s%-50s\n","","","");}}elseprintf("\n对不起,通讯簿中没有此人的记录。");fclose(fp);}。

c语言校友通讯录毕业论文

转载请注明出处众文网 » c语言校友通讯录毕业论文(用c语言程序设计一个学生通讯录系统)

资讯

大学生毕业管理类论文范文(谁找个管理学论文1500字的)

阅读(69)

本文主要为您介绍大学生毕业管理类论文范文,内容包括谁找个管理学论文1500字的,管理系的毕业论文怎么写,有关管理方面的毕业论文。浅谈管理企业的基础认识 摘要:对于初出茅庐的大学生来说,创业与就业就好比是两个不同的人生一样,直逼着每一个

资讯

物业会计管理毕业论文(物业管理毕业论文选题)

阅读(76)

本文主要为您介绍物业会计管理毕业论文,内容包括物业管理毕业论文选题,谁给介绍几篇物业管理毕业论文,谁能写二篇物业管理的论文3000字左右。摘要:从物业管理现状入手,着重了物业管理行业贯彻“以人为本”的关键所在,提出了物业管理中应重视物

资讯

的护理要点毕业论文(护士护理方面的毕业论文)

阅读(79)

本文主要为您介绍的护理要点毕业论文,内容包括护士护理方面的毕业论文,护理学毕业论文能写些什么内容,写护理毕业论文需要注意点什么。护理毕业论文 长期氧疗的护理 摘要:吸氧是治疗各种肺部疾患合并低吸氧是治疗各种肺部疾患合并低氧血症的

资讯

畜牧毕业论文怎么写(畜牧专业毕业论文怎么写)

阅读(79)

本文主要为您介绍畜牧毕业论文怎么写,内容包括畜牧专业毕业论文怎么写,畜牧行业的毕业论文怎么写呀头都大了~~啊,畜牧专业的毕业论文怎么写。可以写一些我国农业畜牧业类的文章,比如写国内畜牧业的发展中所遇到的困难和解决的办法等。摘要:畜

资讯

本科毕业论文要排重(大学本科毕业论文查重有什么要求)

阅读(71)

本文主要为您介绍本科毕业论文要排重,内容包括本科毕业论文要查重么,大学本科毕业论文查重有什么要求,本科毕业论文查重率多少合格。大学生毕业论文都是需要进行查重检测,论文查重主要是为了判断大学生重复率要求是否符合标准,论文查重软件有

资讯

关于英语毕业论文范文(英语论文范文)

阅读(69)

本文主要为您介绍关于英语毕业论文范文,内容包括英语论文范文,英语毕业论文的范文和格式,跪求一篇英语毕业论文。How to improve your English in full detail (my experience) The Third

资讯

毕业生论文综述格式和内容(毕业论文综述和大纲写作格式急)

阅读(61)

本文主要为您介绍毕业生论文综述格式和内容,内容包括毕业论文综述和大纲写作格式急,毕业论文文献综述怎么写,毕业论文文献综述范文怎么写,哪有参考。题目:应简洁、明确、有概括性,字数不宜超过20个字(不同院校可能要求不同)。 2、摘要:要有高度

资讯

本科毕业论文用英文(英语本科毕业论文范文)

阅读(78)

本文主要为您介绍本科毕业论文用英文,内容包括英语本科毕业论文范文,英语本科毕业论文范文,求英语本科论文翻译一小段。不知道下面这个能否合你要求。呵呵 (因字数有限制,我可发给你) 英语本科毕业论文 The Spirit of Revolt of T

资讯

物业会计管理毕业论文(物业管理毕业论文选题)

阅读(76)

本文主要为您介绍物业会计管理毕业论文,内容包括物业管理毕业论文选题,谁给介绍几篇物业管理毕业论文,谁能写二篇物业管理的论文3000字左右。摘要:从物业管理现状入手,着重了物业管理行业贯彻“以人为本”的关键所在,提出了物业管理中应重视物

资讯

的护理要点毕业论文(护士护理方面的毕业论文)

阅读(79)

本文主要为您介绍的护理要点毕业论文,内容包括护士护理方面的毕业论文,护理学毕业论文能写些什么内容,写护理毕业论文需要注意点什么。护理毕业论文 长期氧疗的护理 摘要:吸氧是治疗各种肺部疾患合并低吸氧是治疗各种肺部疾患合并低氧血症的

资讯

畜牧毕业论文怎么写(畜牧专业毕业论文怎么写)

阅读(79)

本文主要为您介绍畜牧毕业论文怎么写,内容包括畜牧专业毕业论文怎么写,畜牧行业的毕业论文怎么写呀头都大了~~啊,畜牧专业的毕业论文怎么写。可以写一些我国农业畜牧业类的文章,比如写国内畜牧业的发展中所遇到的困难和解决的办法等。摘要:畜

资讯

国际运输案例分析型毕业论文(国际货物运输案例分析)

阅读(69)

本文主要为您介绍国际运输案例分析型毕业论文,内容包括国际货物运输案例分析,谁有国际贸易案例分析论文,关于国际集装箱运输的论文怎么写。国际货物运输保险案例 一艘载运出口货物的轮船在航行途中前舱起火,船长下令灭火,火被扑灭后查检船上

资讯

防抱死系统毕业论文(关于ABS防抱死制动系统毕业论文)

阅读(73)

本文主要为您介绍防抱死系统毕业论文,内容包括关于ABS防抱死制动系统毕业论文,急需一篇ABS制动防抱死毕业论文急急急,汽车ABS论文8000字以上。谈ABS防抱死制动系统 引言 ABS防抱死制动系统已成为许多汽车的标准安全配置。世界上最早的机械