通讯录毕业论文c(求一份《通讯录管理系统》的毕业论文)

1.求一份《通讯录管理系统》的毕业论文

通讯录管理系统内容:程序代码,毕业论文(10132字),开题报告,外文翻译,答辩PPT 摘要:本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。

通讯录管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

关键字: 通讯录信息管理,管理信息系统,visual basic ,access Abstract:The directory information management systems using electronic directory of a computer management computer application technology innovation in the computer communications management are not popular before the introduction of business contacts, The accounting approach to the operation manual transcription. general directory management are now using the computer as a tool for computer directory management procedures to help people more effectively directory information management. Directory management system is a typical management information system (MIS), including its main development background to the establishment and maintenance of the database and front-end application development 2. The request for the establishment of strong data consistency and integrity, good for the security of the data. For the latter request applications functions, such as easy to use features. After analysis, we use Microsoft visual basic development tool companies, the use of its various object-oriented development tools, especially data that can be easily accessible and concise window manipulation database intelligent objects, the first prototype application system in a short time and then, computation of the initial prototype system needs to constantly revise and improve until the formation of a viable system of user satisfaction. keyword : directory information management, management information systems, visual basic, access 目 录 第一章 引言 1.1 课题背景 1.2 系统简介 1. 3 开发工具介绍 第二章 系统的分析 2.1 系统开发的目标和思想 2.2 系统的可行性分析 第三章 系统的设计 3.1 系统的功能结构设计 3.2 系统的数据库设计 3.3 界面设计与代码设计 结束语 致谢 参考文献 1.陈明 . 软件工程学教程 .科技出版社,2002 2.萨师煊,王珊 . 数据库系统概论 . 第三版 . 高等教育出版社,2000 3.飞思科技产品研发中心 . visual basic 6.0数据库应用开发 .电子工业出版社,2003 4.飞思科技产品研发中心 . visual basic 6.0开发者手册 . 电子工业出版社, 2002 5.申旻 . visual basic 6.0高手突破 . 清华大学出版社,2002,302 6.Steve Teixeira,Xaviver Pacheco著,龙劲松,王瑜,谢尚书译 . visual basic 6.0开发人员指南 . 机械工业出版社 .2003来自 希望可以帮得到你。

2.c语言通讯录编写

#include #include #include #include //包含system函数头文件#define LEN sizeof(struct student) struct student { char num[20];//ID号码 char name[100];//用户姓名 char phone[20];//电话号码 char home[100];//通讯地址 char birthday[20];//出生日期 struct student *next; }; void face(void)//功能选择面板 { printf("********************************************************************"); printf("\t\t\t\t☆★☆★☆★ ~_~ ~_~ ~_~ ☆★☆★☆★\n"); printf("\n\t\t\t☆★欢迎使用阿冬子通讯录☆★"); printf("\n\n\t☆★选择你需要操作的功能:☆★(现无记录,建议先填加记录)★☆\n"); printf("\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("\n"); printf("\t☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★"); printf("\n\n********************************************************************\n\n"); } void print(struct student *head) { struct student *p; p=head; system("CLS");//调用DOS命令CLS能够清屏 printf("*************************************************************\n"); printf("==================== → 用户信息记录表 ← ===================\n"); printf("*************************************************************\n"); if(head!=NULL) do { printf("联系人ID号码:%s\n",p->num); printf("联系人姓名:%s\n",p->name); printf("联系人电话号码:%s\n",p->phone); printf("学生地址:%s\n",p->home); printf("联系人出生日期:%s\n",p->birthday); printf("********************************************************\n"); p=p->next; }while(p!=NULL); else { printf("对不起!!没有任何联系人记录!!\n\n"); printf("=============================================================\n"); } }//增添电子通讯录中的内容,即创建连表过程 struct student *append(struct student *head) { struct student *p0=NULL,*p1,*p2;//p0为要插入的新节点 p1=head; p2=head; system("CLS"); printf("\n\n***********************************************************\n"); printf("\t\t你能在此目录下创建并添加联系人信息"); printf("\n***********************************************************\n"); p0=(struct student *)malloc(LEN); printf("请输入联系人ID号码:"); gets(p0->num); printf("请输入联系人姓名:"); gets(p0->name); printf("请输入联系人电话号码:"); gets(p0->phone); printf("请输入联系人地址:"); gets(p0->home); printf("请输入联系人出生日期:"); 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;} printf("恭喜你!!成功添加了联系人信息!!"); printf("\n************************************************************\n"); printf("\n\n"); } return(head); }//电子通讯录的维护(删除),通过输入联系人ID号码删除联系人数据 struct student *del(struct student *head) { struct student *p1,*p2; char num[12]; system("CLS"); printf("\n\n************************************************************\n"); printf("================= → 用户信息记录删除功能 ← ===============\n"); printf("************************************************************\n"); printf("输入要删除的联系人ID号码:"); gets(num); p1=head; if (head==NULL) { printf("很抱歉!!没有任何联系人纪录!!\n"); printf("\n*******************************************************\n"); return(head); } while(p1!=NULL) { if(strcmp(p1->num,num)==0) { if(p1==head) head=p1->next; else p2->next=p1->next; free(p1); printf("删除记录成功!!\n"); return(head); } p2=p1; p1=p1->next; } printf("对不起!!没有要删除的联系人纪录!!\n"); return(head); }//电子通讯录的查找,关键字为用户姓名;void search(struct student *head) { struct student *p1,*p2; char name[20]; p1=head; p2=p1; system("CLS"); printf("\n**************************************************************\n"); printf("================ → 用户信息记录查询功能 ← ==================\n"); printf("**************************************************************\n"); printf("输入要查找联系人的姓名:"); gets(name); while(p1!=NULL) { if(strcmp(p1->name,name)==0) { printf("联系人ID号码:"); puts(p1->num); printf("联系人姓名:"); puts(p1->name); printf("联系人电话号码:"); puts(p1->phone); printf("联系人地址:"); puts(p1->home); printf("联系人出生日期:"); puts(p1->birthday); printf("\n======。

3.C语言通讯录程序

以前写了一个简单的:#include <stdio.h> #include <stdlib.h>; /*与malloc.h差不多*/ #include <string.h> #include <iostream> using namespace std;#define maxlen 15 struct persons {int num; /*定义结构体数组用于缓存数据*/ char name[20]; char e_addr[20]; char tel_no[15]; char sim_no; char arch; }persons[maxlen]; typedef struct lnode{ /*通讯录结构中结点的定义*/ int num; char name[20]; char e_addr[20]; char tel_no[15]; char sim_no; char arch; struct lnode *next; }listnode,*linklist; linklist head=NULL,r=NULL; /*定义头指针和尾指针*/ listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7,*p8,*p9; int i; char name1[10],ch;char tel_no1[15];char arch1;char sim_no1;char e_addr1[20]; char s1[20]; FILE *fp; /*定义文件指针*/ void creat() /*将文件的信息读入结构体数组在转存入链表中*/ { int j; long k; fp=fopen("数据文件.txt","r t"); /*打开文件*/ if(fp!=NULL) {for(i=0;i<=maxlen;i++ ) { j=fgetc(fp); if(j==EOF) return; k=i; fseek(fp,k*sizeof(struct persons),0); /*读取一个人的信息*/ fread(&persons[i],sizeof(struct persons),1,fp); s=(linklist)malloc(sizeof(listnode)); /*装存入链表中*/ s->num=persons[i].num; strcpy(s->name,persons[i].name); strcpy(s->e_addr,persons[i].e_addr); strcpy(s->tel_no,persons[i].tel_no); s->sim_no=persons[i].sim_no; s->arch=persons[i].arch; if(head==NULL) /*用尾插法将其插入链表中*/ {head=s;r=head;head->next=NULL;} else {r->next=s; r=s;r->next=NULL; } }fclose(fp); } else { fp=fopen("数据文件.txt","w"); /*不能打开另开辟一个文件*/ i=1; } } void Show() {printf("成功调用该函数\n");} void Delete() {printf("成功调用该函数\n");} void Input() /*向.通讯录中输入一个人的信息*/ { s=(linklist)malloc(sizeof(listnode)); printf("\n\n\t请输入该用户的信息:"); printf("姓名:"); scanf("%s",&s->name); printf("电话号码:"); scanf("%s",&s->tel_no); printf("单键拨号:"); scanf("%s",&s->sim_no); printf("E-mail地址:"); scanf("%s",&s->e_addr); printf("类别:"); scanf("%s",&s->arch); if(head==NULL)printf("\n\n"); else {p8=head; while(p8!=NULL&&strcmp(s->name,p8->name)!=0&&strcmp(s->tel_no,p8->tel_no)!=0) p8=p8->next; if(p8!=NULL) {printf("您添加的用户已存在!"); free(s);}} if(head==NULL) { s->next = 0; head=s; r = s;} else { s->next = 0; r->next = s; r = s;} } void Alter() { printf("success!\n");} int main() { system("color a"); creat(); do { printf("\n\n\t\t请选择操作:"); printf("\n\t\t1.显示通讯录"); printf("\n\t\t2.删除通讯录"); printf("\n\t\t3.添加通讯录"); printf("\n\t\t4.编辑通讯录"); printf("\n\n\n"); printf("\t请选择:"); cin>>ch; switch(ch) { case '1': Show(); /*用单条件多选择语句实现调用与循环*/ break; case '2': Delete(); break; case '3': Input(); break; case '4': Alter(); break; fclose(fp); exit(0); break; default: printf("\n\t The num should 1-6!!! \n"); break; } } while(1); }。

4.c语言通讯录代码

原发布者:dC0FziW0Td6Nf

注:本程序适用于大学程序设计课程的通讯录编写。程序没有问题可以运行但其中读取功能未编写,最终得分能在80分左右。下面是一些主要内容。一.课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言》课程后进行的一次全面的综合练习。本课程设计的目的和任务:1)巩固和加深学生对C语言课程的基本知识的理解和掌握;2)掌握C语言编程和程序调试的基本技能;3)利用C语言进行基本的软件设计;4)掌握书写程序设计说明文档的能力5)提高运用C语言解决实际问题的能力。二.课程设计要求1.分析课程设计题目的要求;2.写出详细设计说明;3.编写程序代码,调试程序使其能正确运行;4.设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5.设计完成后提交课程设计报告和源代码文件的电子文档。二、课程设计内容基本功能:a)添加个人信息b)查询个人信息c)删除个人信息d)修改个人信息e)信息排序f)输出全部信息拓展功能:采用文件形式对通讯录进行操作,包括:a)写入文件b)读取文件创新(自拟)功能:程序实现的其它功能由个人自拟。通讯录至少应该有以下数据项:姓名,家庭住址,手机号码,邮编,E-mail。输入信息时要检查数据项手机、邮编、E-mail的合法性,手机号码:11位数字;邮编:6位数字;E-mail:包含@字符,且@两边都非空。对通讯录应该包含有以下操作(包括基本功能和拓

5.通讯录:C语言程序

#include<conio.h>

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#define Node struct node

Node /*结构体类型定义,包括:姓、名和电话号码*/

{

char szName[20];

char szPhoneNum[12];

Node *next;

};

Node *strpHead; /*全程变量,链头指针*/

Node *strpCurrent; /*全程变量,用于指明当前在链表中的位置*/

/*function prototypes*/

void HandleChoice_f(int ); /*--函数原形说明*/

void AddRecord_f();

void InsertNode_f(Node *);

Node *InsertPoint_f(char *);

void MakeNewHead_f(Node *);

void AddToEnd_f(Node *);

void MoveToEnd_f();

void DisplayList_f();

void DeleteRecord_f();

void DelHead_f();

void DelEnd_f(Node *);

void DelMid_f(Node *);

int VerifyDel_f();

void DelNode_f(Node *);

void DelList_f();

void SearchByName_f();

void WriteFile_f();

void LoadFile_f();

void Help_f();

int main()

太长了,发不了!抱歉!

6.通讯录的C语言代码

原发布者:肖帆L

黔南民族师范学院C++课程设计名称:通讯录管理系统指导老师:学号:姓名:系别:计算机科学系班级:B12计科1、问题描述定义通讯录类,属性有:编号、姓名、性别、通讯地址、邮箱地址、电话等信息和相关的对属性做操作的行为。主要完成对通讯录的简单管理。2、功能要求(1)添加功能:程序能够添加通讯录信息,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据姓名、电话、邮箱地址等信息对已添加的信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;(3)显示功能:可显示当前系统中所有通讯信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除功能:主要实现对已添加的通讯记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。(6)保存功能:可将当前系统中通讯录记录存入文件中,存入方式任意。(7)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;

7.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);}。

8.C++课程设计通讯录摘要怎么写

{ cout<<"请输入第"<>p1->num; while(find1(head,p1->num)) { cout<<"-----此编号已存在!请重新输入!-----"<>p1->num; } cout<<"请输入姓名:"; cin>>p1->name; cout<<"请输入性别:"; cin>>p1->sex; cout<<"请输入电话号码:"; cin>>p1->phone; cout<<"请输入地址:"; cin>>p1->addr; n=n+1; if(n==1)head=p1; else p2->next=p1; p2=p1; p1=new notelist; p1->next=null; cout<<"是否继续输入通讯录讯息:(是请按y---否请按其它任意键)"; cin>>i; } while(i=='y'||i=='Y'); p2->next=null; return(head); } bool find1(notelist *head,char num[])//查询相同编号 {notelist *p1,*p2; if(head==null) {return 0;} p1=head; while((strcmp(num,p1->num)!=0)&&p1->next!=null) {p2=p1;p1=p1->next;} if(strcmp(num,p1->num)==0) { return 1; } else return 0; } void print(notelist*head)//通讯录信息的输出 { notelist *p; cout<next; } while(p!=null); } void find(notelist *head,char num[])//查询 {notelist *p1,*p2; if(head==null) {cout<<"没记录"<num)!=0)&&p1->next!=null) {p2=p1;p1=p1->next;} if(strcmp(num,p1->num)==0) { cout<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"电话"<<" "<<"地址"<num)!=0&&p1->next!=null) {p2=p1;p1=p1->next;} if(strcmp(num,p1->num)==0) {if(p1==head)head=p1->next; else p2->next=p1->next; cout<<"编号为"<next=null;} else { while(strcmp(p0->num,p1->num)>0&&(p1->next!=null)) { p2=p1; p1=p1->next;} if(strcmp(p0->num,p1->num)next=p0; p0->next=p1;} else {p1->next=p0;p0->next=null;} } n=n+1; return(head); } int main() { int s,d, a,j=0; notelist *head,*stu; char c, i,k[5],del_num[5]; char y; do { cout>c; switch(c) {case '1': head=creat(); print(head); break; case '2': cout>k; do { find(head,k); cout>k; } while(strcmp(k,"exit")!=0); break; case '3': cout>del_num; while(strcmp(del_num,"exit")!=0) {head=del(head,del_num); print(head); cout>del_num; } break; case '4': /*cout>i;*/ do { cout>stu->num; while(find1(head,stu->num))//判断编号是否存在 { cout>stu->num; } cout>stu->name; cout>stu->sex; cout>stu->phone; cout>stu->addr; head=insert(head,stu); print(head); j=j+1; cout>i; } while(i=='y'||i=='Y'); break; case '5':break; default: cout>y; } while(y=='y'||y=='Y'); return 0; } 以上就是全部的程序了,帮我写下摘要和绪论,万分感谢感谢 通讯录[address book] 记录通讯地址的书本,当今的通讯录可以涵盖多项内容。

如:姓名、电话号码、单位电话、移动电话、传真号、电子邮件、QQ、MSN、个人主页、公司、街道、邮编、生日、大头帖、车牌、银行帐号、俱乐部名称、爱好等等。通讯录一般在日常生活中用笔记录,也在手机,电脑,电子字典等电子产品中拥有这个功能。

网络通讯录是一种利用互联网或实现通讯录网络存储和备份的应用/服务。你可以在个人电脑上录入你的联系人的手机\电话号码、Email、QQ、MSN、通信地址等通讯录信息,或对以前的信息进行分组、管理和更新,在你的许可下,该联系人可以看到他所在组内的其他联系人信息,从而实现通讯录共享。

我通过对C++语言程序设计的学习,设计了一个小的通讯录,具有查询和删除功能。它完全使用类来实现,充分体现面向对象的程序设计特点。

9.c语言程序 通讯录

#include "stdio.h"#include "stdlib.h" #include "string.h" #define N 3 typedef struct student { char num[11]; char name[15]; char sex; char birth[15]; char phone[15]; char email[15]; char addr[30]; struct student *next;}STUDENT;/*以下是函数原型*/STUDENT *init(); //初始化void create(STUDENT **headp); //创建链表STUDENT *delete(STUDENT *head); //删除STUDENT *update(STUDENT *head); //修改void print(STUDENT *head); //打印记void search(STUDENT *head); //查找void save(STUDENT *head); //保存STUDENT *load(); //读入STUDENT *insert(STUDENT *head); //插入记录void append(); //追加记录int main(){ int i; char choose; STUDENT *head; head=init(); printf("1、创建通讯录\n"); printf("2、插入通讯录\n"); printf("3、删除通讯录\n"); printf("4、修改通讯录\n"); printf("5、查询通讯录\n"); printf("6、追加通讯录\n"); printf("7、打印通讯录\n"); printf("8、保存通讯录到文件\n"); printf("9、从文件中读取通讯录\n"); printf("0、退出\n"); do{ choose=getchar(); switch(choose) { case '1': create(&head); break; case '2': head=insert(head); break; case '3': head=delete(head); break; case '4': head=update(head); break; case '5': search(head); break; case '6': append(); break; case '7': print(head); break; case '8': save(head); break; case '9': head=load(head); break; case '0': exit(0); } }while(choose!='0'); }STUDENT *init(){ return NULL;}void create(STUDENT **headp){ int i,s; char c; STUDENT *head=NULL,*tail; head=(STUDENT *)malloc(sizeof(STUDENT)); tail=head; for(;;) { tail->next=(STUDENT *)malloc(sizeof(STUDENT)); tail=tail->next; if(!tail) { printf("\n内存溢出!"); return NULL; } printf("输入一个记录:\n"); scanf("%s %s %c %s %s %s %s",tail->num,tail->name,&tail->sex,tail->birth,tail->phone,tail->email,tail->addr); printf("继续输入?\n"); c=getchar(); getchar(); if('Y'!=c||'y'!=c) break; } tail->next=NULL; *headp=head;}void print(STUDENT *head){ STUDENT *p; p=head; while(p!=NULL) { printf("%s %s %c %s %s %s %s %s %s\n",p->num,p->name,p->sex,p->birth,p->phone,p->email,p->addr); p=p->next; }}STUDENT *delete(STUDENT *head){ STUDENT *p,*q; char s[11]; printf("要删除的学生的编号\n"); scanf("%s",s); q=p=head; while(strcmp(p->num,s)&&p!=NULL) { q=p; p=p->next; } if(p==NULL) printf("\n表中数据为空!\n",s); else { printf("%s %s %c %s %s %s %s %s %s\n",p->num,p->name,p->sex,p->birth,p->phone,p->email,p->addr); getchar(); if(p==head) head=p->next; else q->next=p->next; free(p); printf("\n成功删除编号为%s的学生\n",s); } return(head);}void search(STUDENT *head){ STUDENT *p; char s[15]; printf("要查找的学生的编号\n"); scanf("%s",s); p=head; while(strcmp(p->name,s)&&p!=NULL) p=p->next; if(p==NULL) printf("\n没有编号为%s的学生\n",s); else printf("%s %s %c %s %s %s %s %s %s\n",p->num,p->name,p->sex,p->birth,p->phone,p->email,p->addr);}STUDENT *update(STUDENT *head){ STUDENT *p,*info;; char s[15]; printf("要修改的学生的编号\n"); scanf("%s",s); p=head; while(strcmp(p->name,s)&&p!=NULL) p=p->next; printf("\n输入学生数据:\n"); scanf("%s %s %c %s %s %s %s",p->num,p->name,&p->sex,p->birth,p->phone,p->email,p->addr); info->next=NULL; p=head; while(strcmp(p->name,s)&&p!=NULL) p=p->next; return head; }STUDENT *insert(STUDENT *head){ STUDENT *p,*q,*info; char s[11]; printf("输入要在哪个编号前插入:\n"); scanf("%s",s); printf("\n输入学生数据:\n"); info=(STUDENT *)malloc(sizeof(STUDENT)); if(!info) { printf("\n内存溢出!"); return NULL; } scanf("%s %s %c %s %s %s %s",info->num,info->name,&info->sex,info->birth,info->phone,info->email,info->addr); info->next=NULL; p=head; q=head; while(strcmp(info->num,s)&&p!=NULL) { q=p; p=p->next; } if(p==NULL) if(p==head) head=info; else q->next=info; else if(p==head) { info->next=p; head=info; } else { info->next=p; q->next=info; } printf("\n插入成功!"); return(head);}void save(STUDENT *head){ FILE *fp; STUDENT *p; char outfile[10]; printf("输入要保存的文件名如c:\\test.txt:\n"); scanf("%s",outfile); if((fp=fopen(outfile,"wb"))==NULL) { printf("文件打开失败!\n"); exit(1); } p=head; while(p!=NULL) { fwrite(p,sizeof(STUDENT),1,fp); p=p->next; } fclose(fp); printf("数据保存成功!\n");}STUDENT *load(){ STUDENT *p,*q,*head=NULL; FILE *fp; char infile[10]; printf("输入要打开的文件名如c:\\test.txt:\n"); scanf("%s",infile); if((fp=fopen(infile,"rb"))==NULL) { printf("文件打开失败!\n"); exit(1); } p=(STUDENT *)malloc(sizeof(STUDENT)); if(!p) { printf("内存溢出!\n"); 。

通讯录毕业论文c

转载请注明出处众文网 » 通讯录毕业论文c(求一份《通讯录管理系统》的毕业论文)

资讯

毕业主题宴会论文(生日主题宴会的毕业设计怎么写啊)

阅读(88)

本文主要为您介绍毕业主题宴会论文,内容包括毕业论文宴会设计,我选春季养生这个主题,有个问题要回答为什么要,生日主题宴会的毕业设计怎么写啊急需,跪求毕业设计(主题酒店设计论文提纲)~哪位好心人帮忙指点下~小弟。《让爱做主》主题生日宴会

资讯

中专法学毕业论文(中专毕业论文2000字)

阅读(98)

本文主要为您介绍中专法学毕业论文,内容包括中专毕业论文2000字,法学专业毕业论文怎么写,求一篇3000字左右的论文,中专毕业论文怎么写。三年的中专生活似弹指一挥间,从刚跨入中专时的失落和迷茫,到现在即将走上工作岗位的从容、坦然。我知道,

资讯

行政管理毕业论文xiazia(行政管理毕业论文5000字)

阅读(99)

本文主要为您介绍行政管理毕业论文xiazia,内容包括行政管理毕业论文5000字,有关行政管理的毕业论文范文,行政管理毕业小论文5000字以上。电大行政管理专业毕业论文 浅谈服务行政 摘要:政府的产生源于人民的公意达成和公意授权,这就决定了行

资讯

毕业论文不能抄袭什么(为什么论文不能抄袭,有什么危害)

阅读(108)

本文主要为您介绍毕业论文不能抄袭什么,内容包括为什么论文不能抄袭,有什么危害为什么学校怎么严不给,论文怎么写不算抄袭,如果毕业论文被查出抄袭会有什么样的后果。近日南京大学社会学院教授梁某因涉嫌论文抄袭学术不端的问题被推上了舆

资讯

毕业论文目录从哪开始(毕业论文的目录怎么弄)

阅读(96)

本文主要为您介绍毕业论文目录从哪开始,内容包括毕业论文目录和摘要哪个在前边,毕业论文的目录写在什么位置,毕业论文的目录怎么弄。word的自动生成目录功能为我们省了很多时间,但是操作不好的话就会适得其反--浪费时间。说实话,过去我不喜欢

资讯

武汉大学行政管理毕业论文范文(行政管理毕业论文5000字)

阅读(82)

本文主要为您介绍武汉大学行政管理毕业论文范文,内容包括行政管理毕业论文5000字,求一篇行政管理的毕业论文,急求一篇行政管理毕业论文(4000字的)。电大行政管理专业毕业论文 浅谈服务行政 摘要:政府的产生源于人民的公意达成和公意授权,这就

资讯

中专法学毕业论文(中专毕业论文2000字)

阅读(98)

本文主要为您介绍中专法学毕业论文,内容包括中专毕业论文2000字,法学专业毕业论文怎么写,求一篇3000字左右的论文,中专毕业论文怎么写。三年的中专生活似弹指一挥间,从刚跨入中专时的失落和迷茫,到现在即将走上工作岗位的从容、坦然。我知道,

资讯

行政管理毕业论文xiazia(行政管理毕业论文5000字)

阅读(99)

本文主要为您介绍行政管理毕业论文xiazia,内容包括行政管理毕业论文5000字,有关行政管理的毕业论文范文,行政管理毕业小论文5000字以上。电大行政管理专业毕业论文 浅谈服务行政 摘要:政府的产生源于人民的公意达成和公意授权,这就决定了行

资讯

毕业论文不能抄袭什么(为什么论文不能抄袭,有什么危害)

阅读(108)

本文主要为您介绍毕业论文不能抄袭什么,内容包括为什么论文不能抄袭,有什么危害为什么学校怎么严不给,论文怎么写不算抄袭,如果毕业论文被查出抄袭会有什么样的后果。近日南京大学社会学院教授梁某因涉嫌论文抄袭学术不端的问题被推上了舆

资讯

毕业论文目录从哪开始(毕业论文的目录怎么弄)

阅读(96)

本文主要为您介绍毕业论文目录从哪开始,内容包括毕业论文目录和摘要哪个在前边,毕业论文的目录写在什么位置,毕业论文的目录怎么弄。word的自动生成目录功能为我们省了很多时间,但是操作不好的话就会适得其反--浪费时间。说实话,过去我不喜欢

资讯

毕业论文医学类(医学论文都有哪些类别)

阅读(83)

本文主要为您介绍毕业论文医学类,内容包括医学论文都类别,医学生毕业论文包括什么内容,医学生的毕业论文该怎么写。去百度文库,查看完整内容>内容来自用户:糖呀糖葫芦医学论文的主要类型一般医学刊物中刊用的文章,大致可分为以下几种类型:述评

资讯

纠纷案件毕业论文(关于治安纠纷论文)

阅读(120)

本文主要为您介绍纠纷案件毕业论文,内容包括关于治安纠纷论文,关于治安纠纷论文,案例分析类的毕业论文。1.对于因民间纠纷引起的打架斗殴或损毁他人财物的违反治安管理的行为称作是治安纠纷。2.基层公安机关主要工作:调解纠纷,纠纷主要有治安