班级通讯录c语言编程
班级通讯录(大数据结构,C语言)
班级通讯录1、设计目的设计一个计算机管理系统对班级通讯录进行管理。
2、设计要求一个学生的数据包括:学号、、、手机、QQ号。
要求设计一个计算机管理系统对班级通讯录进行管理,具有的功能是能够进行录入、修改、删除、查找和输出所有记录。
为提高数据的可访问性,、手机、QQ号建立索引表,索引表可以在维护数据时动态维护,也可能最后一次建立。
设计条件:硬件条件:(1)学生用微机(2)多媒体教室(3)局域网环境软件条件:(1)Windows XP中文操作系统(2)Turbo C 3.03、课程设计的容3.1、需求分析:随着科技的进步和信息产业的发展,通讯录成为了现代生活中的一个重要的工具。
利用通讯录管理系统对通讯录进行统一管理,包括添加,修改,查询记录等功能,实现通讯录管理工作的系统化,规化和自动化,为生活提供便利。
在设计的通讯录中,学生学号,,手机,QQ均以数字的形式进行输入,学生则以中文,英文输入均可进行记录,输出的形式与输入形式相同。
按要求,设计的通讯录管理系统可以实现添加、修改、删除、查找,对学号的排序和输出所有学生记录。
进行测试的数据和执行情况如下图所示:程序主观图:添加记录:显示所有记录:删除一条记录:根据学号查找:对记录的排序:主要是对添加新纪录在链表中按升序排列,如新加伟这条记录,对它采取排序,具体结果如下:进行排序:输入6即退出:3.2、概要设计:对该系统各种函数的定义在源代码给出,先给出函数的定义,然后给出菜单的执行函数,建立链表,并对各个功能的实现编出程序,直到调试成功为止。
3.3、详细设计主要给出程序的流程图,如下所示:菜单函数:链表构造:按学号显示学生数据:删除记录:显示所有信息:排序:3.4、程序调试与测试结果:经过认真调试最终结果为正确。
如图:3.5、结果分析:在编译过程中遇到很多困难,程序也基本上符合要求,但是有一点目前还没解决,就是基于链表的修改还没掌握,因此花了很大的力气,但是还是没有完成,只好采取的修改方式为:删除,添加,排序的方法对链表中的元素进行修改。
C语言程序设计班级通讯录管理系统
学院程序设计工程训练报告C语言程序设计班级通讯录管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1.需求分析 (3)2.系统总框图和功能模块说明 (3)2.1 系统总框图........................................................ 错误!未定义书签。
2.2功能模块说明 (4)3.系统设计 (4)3.1 主要结构体 (4)3.2主要功能函数 (4)3.3关键函数的流程图 (17)4.调试结果 (20)5.总结 (24)6.源程序清单 (25)1.需求分析班级通讯录包括全班各个同学的姓名,电话,籍贯,其功能有以下几个:◆显示功能:完成全部通讯录信息的显示功能◆查找功能:完成按姓名,电话查找通讯录信息并显示◆增加功能:增加信息◆修改功能:完成对姓名、电话的修改◆删除功能:完成对通讯录的单个删除或全部删除◆退出功能:完成对整个通讯录的保存退出或者不保存退出2.系统总框图和功能模块说明2.1系统总框图2.2功能模块说明◆输入全班同学通讯录模块,完成同学通讯录的录入◆显示和查询同学,完成对同学通讯录的显示和查询◆添加同学模块,完成对新同学通讯录的添加◆删除同学模块,完成对同学通讯录信息的删除◆修改同学模块,完成对同学通讯录的修改◆退出系统模块,完成对整个系统的保存退出与不保存退出3.系统设计3.1 主要结构体姓名、电话号码、地址#include <stdio.h> /*头文件*/#include <stdlib.h> //包含最常用的系统函数#include <string.h> //关于字符数组的函数定义的头文件#include <conio.h> //控制台输入输出//定义结构体struct tongxunlu /*定义通讯录结构体变量*/{char xingming[31]; /*定义输入名字的数组*/char dianhua[31]; /*定义输入电话号码的数组*/char dizhi[31]; /*定义输入地址的数组*/} txl[100]; //默认100个数据int n=0;//记录数据同学数量FILE *fp; /*定义文件*/3.2主要功能函数(1)主菜单函数void zhucaidan(){char c;system("cls");printf("\n\t\t|------- 欢迎您使用计机123班通讯录管理系统-----|");printf("\n\t\t| 1-添加同学2-查询和显示同学|");printf("\n\t\t| 3-删除同学4-修改同学|");printf("\n\t\t| 5-保存退出0-不保存退出|");printf("\n\t\t|------------------------------------------------|");printf("\n\t\t请选择您所所要的服务:");c=getch();switch (c) /*对于上边的选择项目*/{case '1':zengjia();break;case '2':chazhao();break;case '3':shanchu();break;case '4':xiugai();break;case '5':writefile();break;case '0':exit(0);default:zhucaidan(); /*如果没有则返回主菜单等待输入*/}}(2)main主函数void main() /*主函数main*/{ readfile(); /*读入文件*/while(1) /* 循环(永远进行)*/{zhucaiidan(); /*调用主菜单函数*/}}main()函数功能分析:main()函数通过调用readfile()函数和循环menu()函数实现对入文件和界面进行控制。
通讯录c语言程序设计代码
通讯录c语言程序设计代码#include<stdio.h>。
#include<string.h>。
//通讯录结构体。
typedef struct addressbook。
char name[20];。
long tel;。
char addr[20];。
}Address;。
//把Address结构体强转成Address指针。
typedef Address *Addressbook;。
//查找函数。
Addressbook find (Addressbook book,int count)。
char findName[20];。
int flag=0;。
Addressbook p;。
printf("请输入查找的姓名:");。
scanf("%s",findName);。
for(p=book;p<book+count;p++)。
if(strcmp(findName,p->name)==0)。
flag=1;。
}。
}。
if(flag==0)。
printf("没有找到%s\n",findName);。
return book;。
}。
else。
return p;。
}。
}。
//添加函数。
void add (Addressbook book,int *count)。
printf("请输入需要增加的通讯录内容:\n");。
printf("姓名:");。
scanf("%s",(book+*count)->name);。
scanf("%ld",&(book+*count)->tel);。
printf("地址:");。
scanf("%s",(book+*count)->addr);。
printf("添加成功\n");。
c++写的班级通讯录源代码
#include<fstream>#include<iostream>#include<string>using namespace std;void main();//头文件的声明struct Student//结构定义一个人,存放基本信息{ public://公有的struct Student(){n=0;}void add();//添加void show();//显示void search();//查询void delect();//删除void sort();//排序void load(); //读取文件void save(); //保存通讯录private://私有的int n;string name;//姓名int num;//学号int number;//电话号码char addr[30];//地址char eip[6];//邮编char email[30];//Email}Stu[500];//定义一个类peoplevoid Student::add()//添加函数{cout<<endl;cout<<endl;cout<<endl;system("color 4e");cout<<" ※※※※※※※※※欢迎进入班级通讯录管理系统※※※※※※※※"<<endl<<endl;cout<<" = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = "<<endl;cout<<" ☆信管1班方绍晟☆"<<endl<<endl;cout<<"************************************************************************"<<endl;cout<<" ********** -------------- ※$$ 这是添加功能:$$※-------------*********"<<endl;cout<<"请输入姓名:";cin>>Stu[n].name;cout<<endl;cout<<"学号:";cin>>Stu[n].num;cout<<endl;cout<<"电话号码:";cin>>Stu[n].number;cout<<endl;cout<<"地址:";cin>>Stu[n].addr;cout<<endl;cout<<"邮编:";cin>>Stu[n].eip;cout<<endl;cout<<"Email:";cin>>Stu[n].email;cout<<endl;n++;char m;cout<<"是否继续添加?(y/n)"; //选择cin>>m;if (m=='y')add();}void Student::show()//显示函数{system("color 5e");//颜色调用char l;cout<<endl;cout<<endl;cout<<endl;cout<<" ※※※※※※※※※欢迎进入班级通讯录管理系统※※※※※※※※"<<endl<<endl;cout<<" = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = "<<endl;cout<<" ☆信管1班方绍晟☆"<<endl<<endl;cout<<"************************************************************************"<<endl;cout<<" ****** ---------- ※$$ 这是本通讯录的全部联系人:$$※---------*****"<<endl;cout<<endl;cout<<"姓名学号电话号码地址邮编Email "<<endl;for(int i=0;i<n;i++){cout<<Stu[i].name<<" "<<Stu[i].num<<" "<<Stu[i].number<<""<<Stu[i].addr<<" "<<Stu[i].eip<<" "<<Stu[i].email<<endl;cout<<"----------------------------------------------------"<<endl;}//71cout<<endl;cout<<endl;cout<<"退出请按y/返回请按n"<<endl;cin>>l;if(l=='y')exit(0);//退出程序结构语}void Student::search()//查询函数{system("color 6e");//颜色调用cout<<endl;cout<<endl;cout<<endl;cout<<" ※※※※※※※※※欢迎进入班级通讯录管理系统※※※※※※※※"<<endl<<endl;cout<<" = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = "<<endl;cout<<" ☆信管1班方绍晟☆"<<endl<<endl;cout<<"************************************************************************"<<endl; //80cout<<" ********** -------------- ※$$ 这是查询功能:$$※-------------*********"<<endl;cout<<"************ ------------------<1> 按姓名查询-----------------************"<<endl;cout<<"************ ------------------<2>按学号查询----------------************"<<endl;cout<<"************ ----------------- <3> 按电话号码查询-------------************"<<endl;cout<<"************ ----------------- <4>退出-------------************"<<endl;cout<<"请选择查询方式:";int select,i;cin>>select;switch(select){case 1://按姓名查询{cout<<"请输入想要查询的姓名:"<<endl;string name1;cin>>name1;//输入查询姓名loop:for( i=0;i<=n;i++)//{if(Stu[i].name==name1){cout<<"以下是你要查询的联系人:"<<endl;cout<<"姓名学号电话号码地址邮编Email "<<endl;//100cout<<Stu[i].name<<" "<<Stu[i].num<<" "<<Stu[i].number<<" "<<Stu[i].addr<<" "<<Stu[i].eip<<" "<<Stu[i].email<<endl;cout<<"----------------------------------------------------"<<endl;break;}if(Stu[i].name!=name1)//找不到该联系人{cout<<"该学生不存在,请重新输入。
学生通讯录管理系统c语言编程
学生通讯录管理系统C语言编程简介学生通讯录管理系统是一个帮助学生管理通讯录信息的应用程序。
通过该系统,学生可以添加、删除、查询和修改通讯录中的联系人信息,从而更好地组织和管理自己的通讯录信息。
功能需求1. 添加联系人学生可以通过输入联系人的姓名、电话号码、邮箱等信息,将联系人添加到通讯录中。
2. 删除联系人学生可以根据联系人的姓名或电话号码,从通讯录中删除指定的联系人信息。
3. 查询联系人学生可以通过姓名或电话号码查询通讯录中的联系人信息,并将查询结果显示出来。
4. 修改联系人学生可以修改通讯录中指定联系人的信息,如电话号码、邮箱等。
技术实现通讯录管理系统将使用C语言进行编程实现。
以下是系统的基本设计思路:1. 数据结构设计通讯录信息可以用结构体来表示,包含联系人的姓名、电话号码、邮箱等字段。
struct Contact {char name[50];char phone[20];char email[50];};2. 功能模块划分•添加联系人模块:用于添加新的联系人信息。
•删除联系人模块:用于删除指定联系人信息。
•查询联系人模块:用于根据姓名或电话号码查询联系人信息。
•修改联系人模块:用于修改指定联系人的信息。
3. 用户界面设计系统将使用控制台界面,通过菜单来实现各个功能模块的调用。
开发步骤1. 定义数据结构首先定义联系人结构体,包含姓名、电话号码、邮箱等字段。
2. 实现功能模块分别实现添加联系人、删除联系人、查询联系人、修改联系人等功能模块的具体代码。
3. 编写主程序编写主程序,通过调用功能模块来实现整体通讯录管理系统的运行。
总结学生通讯录管理系统C语言编程是一个实用的项目,通过这个项目,学生可以熟练掌握C语言编程的基本知识,并且实践项目开发的流程。
通过不断调试和完善,学生可以提升自己的编程能力和项目实现能力。
希望学生能够在这个项目中学到更多的知识,提升自己的编程技能。
C++程序设计(班级通讯录)
C++程序设计(班级通讯录)C++程序设计(班级通讯录)一、引言1.1 目的本文档旨在介绍一个用C++编写的班级通讯录程序,该程序可以用来管理和维护班级成员的联系信息。
1.2 范围本程序设计主要包括以下功能:- 添加新的成员信息- 显示所有成员信息- 查找指定成员信息- 修改成员信息- 删除成员信息二、设计概述2.1 程序结构程序将采用面向对象的设计思路,主要分为以下几个类:- Contact:表示一个班级成员的联系信息- ContactList:管理和维护成员信息的类- Menu:提供菜单选项的类2.2 数据结构程序中将使用以下数据结构存储成员的联系信息:- 数组:用于存储成员的姓名、方式、邮箱等基本信息- 链表:用于管理成员信息的添加、修改、删除等操作三、详细设计3.1 Contact类3.1.1 属性- 姓名- 方式- 邮箱3.1.2 方法- 构造函数:用于初始化Contact对象- get/set方法:用于获取和设置对象的属性值3.2 ContactList类3.2.1 属性- 成员列表:用于存储所有成员联系信息的链表3.2.2 方法- 添加成员信息:将一个新的成员信息添加到链表中- 显示所有成员信息:遍历链表并逐个显示成员信息- 查找成员信息:根据姓名查找指定成员的联系信息- 修改成员信息:根据姓名修改指定成员的联系信息- 删除成员信息:根据姓名删除指定成员的联系信息3.3 Menu类3.3.1 方法- 显示菜单选项:显示主菜单选项供用户选择四、测试计划4.1 测试环境- 操作系统:Windows 10- 编译器:g++ 9.3:04.2 测试用例- 添加新的成员信息,并验证信息是否正确存储- 显示所有成员信息,并检查显示结果是否正确- 查找指定成员信息,并验证查找结果是否正确- 修改指定成员的联系信息,并验证修改结果是否正确- 删除指定成员的联系信息,并验证删除结果是否正确五、维护和支持5.1 项目维护- 维护人:李明- 联系方式:li_min5.2 技术支持- 支持人员:张华- 联系方式:zhang_hu附件:无法律名词及注释:- 本文档中未涉及到法律名词和注释。
c语言通讯录程序(共5篇)
c语言通讯录程序(共5篇)第一篇:c语言通讯录程序C语言程序设计实践——通讯录管理系统六、程序源代码及注释#include #include #include #include #define SUM 100 #define STOP 1000typedef struct /*结构体,存放通讯录成员信息,重新定义成member型变量*/ { char name[10]; char tel[15]; char cla[5]; char mail[20]; char qq[15]; }member;member info[SUM]; //所有成员空间FILE *fp;//文件指针,用于打开或保存通讯录文件int count=0; //全局变量,用于计数已存入数量/*-----------------------*/int load(char filename[])//打开通讯录文件{ member *p; int i=0; if((fp=fopen(filename,"rb"))==NULL)return i; else{while(!feof(fp)){p=(member *)malloc(sizeof(member));if(fread(p,sizeof(member),1,fp)==1){strcpy(info[i].name,p->name);strcpy(info[i].tel,p->tel);strcpy(info[i].cla,p->cla);strcpy(info[i].mail,p->mail);strcpy(info[i].qq,p->qq);i++;}free(p);}return i;} } /*------------------*/void save(char filename[]) //保存通讯录文件 {int i;member *p;if((fp=fopen(filename,"wb"))==NULL){printf("无法保存!打开文件%s时出错\n",filename); exit(1);}elsefor(i=0;i{p=(member *)malloc(sizeof(member));strcpy(p->name,info[i].name);strcpy(p->tel,info[i].tel);strcpy(p->cla,info[i].cla);strcpy(p->mail,info[i].mail);strcpy(p->qq,info[i].qq);fwrite(p,sizeof(member),1,fp);free(p);}fclose(fp); } /*-----------------*/ void display(void) //分类查看功能 { system("cls");char dis;char way[5];int i,j=0;choice:printf("**********请选择查看分类***********\n");printf("**********1.亲友**********\n");printf("**********2.同学**********\n");printf("**********3.老师**********\n");printf("**********4.其他**********\n");printf("**********5.查看全部**********\n");printf("**********0.返回上一级菜单**********\n");printf("*****************************************\n"); printf("请选择(1~5或0):");dis=getchar();getchar();switch(dis){case '1':strcpy(way,"亲友");break;case '2':strcpy(way,"同学");break;case '3':strcpy(way,"老师");break;case '4':strcpy(way,"其他");break;case '5':printf("*******全部通讯成员*******\n"); for(i=0;iprintf("姓名:%s\n",info[i].name);printf("电话号码:%s\n",info[i].tel);printf("电子邮箱:%s\n",info[i].mail);printf("QQ号:%s\n",info[i].qq);printf("分类:%s\n",info[i].cla);printf("*****************************\n");j++;}if(j==0){printf("************************\n");printf("无任何通讯成员\n");}j=0;Sleep(STOP);goto choice; break;case '0':return; break;default:printf("*************************\n");printf("输入指令有误!\n");printf("*************************\n");Sleep(STOP);goto choice;}printf("********通讯成员之%s*******\n",way); for(i=0;iif(strcmp(info[i].cla,way)==0){printf("****姓名:%s\n",info[i].name);printf("****电话号码:%s\n",info[i].tel);printf("****电子邮箱:%s\n",info[i].mail);printf("****QQ号:%s\n",info[i].qq);printf("****分类:%s\n",info[i].cla);printf("**********************************\n"); j++;}}if(j==0){printf("该分类中无通讯成员\n");printf("******************\n");}j=0;Sleep(STOP);goto choice; }/*------*/ int add(void)//增加新的成员 {member temp;int i;reinput_name:printf("请输入新成员的姓名:");gets();for(i=0;iif(strcmp(info[i].name,)==0){ printf("该姓名已存在!\n");Sleep(STOP);goto reinput_name;}reinput_tel:printf("请输入新成员的电话号码:"); gets(temp.tel);for(i=0;iif(strcmp(info[i].tel,temp.tel)==0){ printf("该电话号码已存在!\n");Sleep(STOP);goto reinput_tel;}printf("请输入新成员的电子邮箱:"); gets(temp.mail);printf("请输入新成员的QQ号:");gets(temp.qq);printf("请输入新成员的分类:");gets(temp.cla);info[count]=temp;count++;return count; }/*-----*/ int search(char sname[]) //查找功能 { int flag=0,i;for(i=0;iif(strcmp(info[i].name,sname)==0){printf("*****************************\n"); printf("****姓名:%s\n",info[i].name);printf("****电话号码:%s\n",info[i].tel);printf("****电子邮箱:%s\n",info[i].mail);printf("****QQ号:%s\n",info[i].qq);printf("****分类:%s\n",info[i].cla);printf("******************************\n"); flag=1;}return flag; }/*---------*/ int rework(char rname[])//修改功能 {int flag=0,i;for(i=0;iif(strcmp(info[i].name,rname)==0){printf("*********************");printf("请输入新的姓名:");gets(info[i].name);printf("请输入新的电话号码:");gets(info[i].tel);printf("请输入新的电子邮箱:");gets(info[i].mail);printf("请输入新的QQ号:");gets(info[i].qq);printf("请输入新的分类:");gets(info[i].cla);printf("********************");flag=1;}return flag; }/*-----------------------------*/ int erase(char ename[]) //删除功能 {int flag=0,i,j;for(i=0;iif(strcmp(info[i].name,ename)==0){for(j=i;jinfo[j]=info[j+1];count--;flag=1;}return flag; } /*-----------------------------*/ int call(void)//拨号功能 {int i,j,flag=0;char cname[10];printf("**************************\n");for(i=0;iprintf("%s ",info[i].name);}putchar('\n');printf("请输入需要拨号的姓名:");gets(cname);for(i=0;iif(strcmp(info[i].name,cname)==0){printf("正在拨号:");for(j=0;info[i].tel[j]!='\0';j++){printf("%c",info[i].tel[j]);Sleep(300);}putchar('\n');flag=1;}return flag; } /*-----------------------*/ int main(void)//主函数{ char filename[40]; char c,save_j; int t; char s_r_e_name[10];printf("欢迎使用通讯录系统!请输入通讯录文件的有效路径(若文件不存在则自动创建新通讯录)\n"); gets(filename); count=load(filename); system("cls");printf("======================================\ n");printf("==========欢迎使用我的通讯录==========\n");printf("============ 制作:石贵清===========\n");begin:printf("★★★★★★★★★★★★★★★★★★★★★★★★★★\n");printf("※※\n");printf("※通迅录※\n");printf("※※\n");printf("※1. 添加新联系人.5. 分类显示查询.※\n");printf("※※\n");printf("※2. 删除联系人.6.拨出电话.※\n");printf("※※\n");printf("※3. 查询通讯成员.7.保存通讯文件.※\n");printf("※※\n");printf("※4. 修改信息.0. 关闭通迅录.※\n");printf("★★★★★★★★★★★★★★★★★★★★★★★★★★\n"); printf("友情提醒:请在退出本程序之前按7保存通讯文件! \n"); printf("请输入您选择的操作:");c=getchar();getchar(); switch(c) {case '1':if(count==SUM){printf("======= 通讯录空间已满,无法继续录入!===\n"); Sleep(STOP);goto begin; break;}t=add();printf("===== 信息已建立,请尽快保存!=====\n");if(t==SUM){printf("===== 通讯录空间已满,无法继续录入!=====\n"); }Sleep(STOP);goto begin;break; case '2': if(count==0){printf("========================\n");printf("=== 通讯录中无任何成员!====\n");printf("======================\n");Sleep(STOP);goto begin;break; }printf("请输入要删除成员的姓名:");gets(s_r_e_name);t=erase(s_r_e_name);if(!t) {printf("=================\n");printf("==== 查无此人====\n");printf("=================\n"); } else {printf("======================\n");printf("======已成功删除======\n");printf("======================\n"); } Sleep(STOP); goto begin;break; case '3':printf("请输入要查找的成员姓名:");gets(s_r_e_name);t=search(s_r_e_name);if(!t){printf("======================\n");printf("===== 查无此人 =======\n");printf("======================\n");}Sleep(STOP);goto begin;break;case '7':save(filename);printf("==============================\n");printf("======保存成功!=======\n");printf("==============================\n"); Sleep(STOP); goto begin;break;case '4':printf("请输入要修改的成员姓名:");gets(s_r_e_name);t=rework(s_r_e_name);if(!t) {printf("=======查无此人====\n"); }else{printf("=========================\n"); printf("====修改成功====\n");}Sleep(STOP);goto begin;break;case '5':display();Sleep(STOP);goto begin;break;case '6':t=call();if(!t){printf("=============================\n"); printf("====== 输入姓名错误! =======\n");printf("============================\n"); }else{printf("=========================\n");printf("======电话已经拨出=====\n");printf("=======================\n");}Sleep(STOP);goto begin;break;case '0':printf("是否保存数据文件?(Y:是/N:否)");save_j=getchar();if(save_j=='Y'||save_j=='y'){save(filename);printf("====== 保存成功!=======\n");printf("======= 感谢您的使用!再见! ======\n");}else{printf("========================\n");printf("=== 感谢您的使用!再见! ===\n");printf("========================\n");}exit(0); default:printf("=====Sleep(STOP);goto begin; } return 0; }输入指令无效!====");第二篇:C语言程序设计学生通讯录管理系统#include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" #include "stdlib.h" #define null 0 struct record { char name[20]; char phone[20]; char adress[40]; char postcode[10]; char e_mail[30]; }student[500]; struct LinkList { struct record US; struct LinkList *next; }a; struct LinkList *head=null; int num=0; FILE *fp; int menu_select(); int adduser(); int list(); int search(); int display(); int add(); int listbyname(); int dele(); int save(); int exit();void main() {system("cls"); for(;;) { switch(menu_select()) { case 0:adduser();break; case 1:list();break; case 2:search();break; case 3:add();break; case 4:dele();break; case 5:save();break; case 6:exit(0); } } } menu_select() { char s[80]; int a; printf("*_* press any key enter menu! *_* \n"); getch(); system("cls"); printf("\t\t********************MENU*********************\n\n"); printf("\t\t 0. 输入记录\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. Quit\n"); printf("\t\t***********************************************\n");do{ printf("\n Enter you choice(0~11):"); scanf("%s",s); a=atoi(s); } while (a<0||a>11); return a; }adduser() { printf("\n\t\t**************** 请输入用户信息****************\n"); printf("\n\t\t输入姓名:"); scanf("%s",&student[num].name); printf("\n\t\t输入电话号码:"); scanf("%s",&student[num].phone); printf("\n\t\t输入地址:"); scanf("%s",&student[num].adress); printf("\n\t\t输入邮编:"); scanf("%s",&student[num].postcode); printf("\n\t\t输入e-mail:"); scanf("%s",&student[num].e_mail); num++; printf("\n\t\t是否继续添加?(Y/N):"); if (getch()=='y') adduser(); return(0); } list() { int i; system("cls"); if(num!=0) { printf("\n\t\t*************** 以下为通讯录所有信息************"); for (i=0;iprintf("\n\t\t姓名:%s",student[i].name); printf("\n\t\t电话:%s",student[i].phone); printf("\n\t\t地址:%s",student[i].adress); printf("\n\t\t邮编:%s",student[i].postcode); printf("\n\t\te-mail:%s",student[i].e_mail); printf("\t\t"); if (i+1add() { int i; if ((fp=fopen("student.bin","wb"))==NULL) { printf("\n\t\t文件打开失败"); } for (i=0;isave() { int j; FILE*fp; fp=fopen("student.txt","w"); if (fp==NULL) printf("can't open the file."); if(num!=0) { for(j=0;j fwrite(student,sizeof(student),1,fp); } } printf("保存成功!"); fclose(fp); return(0); }第三篇:C语言作业:学通讯录学生通讯录一、语言和环境1.实现语言:C语言。
C++程序设计(班级通讯录)
C++程序设计(班级通讯录)一、项目简介本项目是一个用C++语言实现的班级通讯录管理系统。
通过该系统,用户可以方便地管理班级成员的联系信息,包括姓名、学号、方式等。
二、功能列表1. 添加联系人:用户可以输入学生的信息,包括姓名、学号、方式等,并将其添加到通讯录中。
2. 删除联系人:用户可以输入学生的学号,将对应的联系人从通讯录中删除。
3. 修改联系人:用户可以输入学生的学号,修改对应的联系人的信息。
4. 查询联系人:用户可以输入学生的学号或姓名,查询对应的联系人的信息。
5. 显示所有联系人:用户可以查看通讯录中所有联系人的信息。
6. 清空通讯录:用户可以选择清空通讯录,将所有联系人信息清空。
三、实现思路1. 创建一个学生类,包含姓名、学号、方式等属性,并提供相应的成员函数用于获取和设置这些属性。
2. 创建一个通讯录类,用于管理学生信息。
包括添加联系人、删除联系人、修改联系人、查询联系人和显示所有联系人等功能。
3. 在主函数中,显示主菜单,根据用户的选择调用相应的功能函数。
四、实现步骤1. 定义学生类,包含姓名、学号、方式等属性,并提供相应的成员函数用于获取和设置这些属性。
2. 定义通讯录类,包括添加联系人、删除联系人、修改联系人、查询联系人和显示所有联系人等功能函数。
3. 在主函数中,显示主菜单,根据用户的选择调用相应的功能函数。
五、项目优势1. 简单易用:用户界面友好,操作简便,不需要输入繁琐的指令。
2. 功能完善:涵盖了常用的联系人管理功能,满足用户的需求。
3. 数据安全:通讯录数据保存在内存中,不会外泄或丢失。
4. 可扩展性强:可以根据实际需求进行修改和扩展。
六、通过本项目的实现,我们学习了C++程序设计的基本语法和面向对象的编程思想。
也加深了对通讯录管理系统的理解和实现能力。
希望这个项目对大家学习和了解C++编程有所帮助。
学生通讯录管理系统c语言编程
学生通讯录管理系统c语言编程以下是一个简单的C语言程序,用于管理学生通讯录。
该程序可以添加、显示、查找和删除学生信息。
c复制代码:#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_STUDENTS 100#define MAX_NAME_LENGTH 50// 学生结构体struct Student {char name[MAX_NAME_LENGTH];int age;char gender;char phone[15];char email[50];};// 学生数组struct Student students[MAX_STUDENTS];int num_students = 0;// 添加学生信息void add_student() {if (num_students >= MAX_STUDENTS) {printf("Error: Reached maximum number of students\n");return;}struct Student new_student;printf("Enter name: ");scanf("%s", new_);printf("Enter age: ");scanf("%d", &new_student.age);printf("Enter gender (M/F): ");scanf(" %c", &new_student.gender);printf("Enter phone number: ");scanf("%s", new_student.phone);printf("Enter email: ");scanf("%s", new_student.email);students[num_students] = new_student;num_students++;}// 显示所有学生信息void display_students() {printf("Name\tAge\tGender\tPhone\tEmail\n");for (int i = 0; i < num_students; i++) {printf("%s\t%d\t%c\t%s\t%s\n", students[i].name, students[i].age, students[i].gender, students[i].phone, students[i].email);}}// 查找学生信息void find_student() {char name[MAX_NAME_LENGTH];printf("Enter student name: ");scanf("%s", name);for (int i = 0; i < num_students; i++) {if (strcmp(students[i].name, name) == 0) {printf("Name: %s\n", students[i].name);printf("Age: %d\n", students[i].age);printf("Gender: %c\n", students[i].gender); printf("Phone: %s\n", students[i].phone); printf("Email: %s\n", students[i].email); return;}}printf("Error: Student not found\n");}// 删除学生信息void delete_student() {char name[MAX_NAME_LENGTH];printf("Enter student name: ");scanf("%s", name);int found = 0;for (int i = 0; i < num_students; i++) {if (strcmp(students[i].name, name) == 0) { found = 1;for (int j = i; j < num_students - 1; j++) { students[j] = students[j+1];}num_students--;break;}}if (!found) {printf("Error: Student not found\n");} else {printf("Student deleted successfully\n"); }}int main() {int choice;do {printf("\nMenu:\n");printf("1. Add student\n");printf("2. Display students\n");printf("3. Find student\n");printf("4. Delete student\n");printf("5. Exit\n");printf("Enter choice: ");scanf("%d", &choice);switch (choice) {case 1: add_student(); break;case 2: display_students(); break;case 3: find_student(); break;case 4: delete_student(); break;case 5: printf("Exiting...\n"); break; default: printf("Invalid choice\n"); break; }} while (choice != 5);return 0。
c语言课程设计学生通讯录管理系统
C语言课程设计 - 学生通讯录管理系统1. 引言学生通讯录管理系统,简称STMS(Student Telephone Management System),是一款基于 C 语言开发的学生通讯信息管理系统。
该系统旨在帮助学校或其他机构方便地管理学生通讯录信息,包括学生的基本信息、联系方式等。
本文档将介绍该系统的设计要求、功能模块、数据结构、算法以及使用方法。
2. 设计要求学生通讯录管理系统应满足以下设计要求:•能够实现学生信息的添加、删除、修改和查询等基本操作;•提供用户友好的界面,方便用户进行操作;•数据存储应使用文件方式进行,确保数据可以持久保存;•提供合理的错误处理机制,提示用户操作引起的错误并给予相应的错误提示。
3. 功能模块学生通讯录管理系统包含以下功能模块:3.1 用户管理模块该模块用于管理系统注册的用户信息,包括用户的登录名、密码等。
•用户登录:用户输入用户名和密码,系统验证登录信息并提供相应权限;•用户注册:新用户可以通过该功能注册账号,并设置登录密码;•用户权限管理:系统根据用户不同的角色分配相应的权限。
3.2 学生信息管理模块该模块用于管理学生的基本信息和通讯录信息。
•添加学生信息:用户可以添加学生的基本信息和联系方式;•删除学生信息:用户可以根据学生的ID删除特定学生的信息;•修改学生信息:用户可以修改指定学生的信息;•查询学生信息:用户可以根据学生的姓名或其他关键词进行学生信息的查询。
3.3 通讯录管理模块该模块用于管理学生的通讯录信息,包括通讯录的名称、联系方式等。
•添加通讯录:用户可以添加新的通讯录,并指定通讯录的名称;•删除通讯录:用户可以根据通讯录的名称删除指定的通讯录;•修改通讯录:用户可以修改已存在的通讯录的名称;•查询通讯录:用户可以根据通讯录的名称查询对应的联系方式。
4. 数据结构学生通讯录管理系统采用以下数据结构:4.1 学生结构体typedef struct {int id; // 学生IDchar name[20]; // 学生姓名char gender; // 学生性别char phone[11]; // 学生电话号码char email[50]; // 学生电子邮箱} Student;4.2 通讯录结构体typedef struct {char name[50]; // 通讯录名称char phone[11]; // 通讯录联系方式} Directory;5. 算法学生通讯录管理系统采用以下算法实现部分功能:5.1 添加学生信息```c void addStudent() { Student student; // 用户输入学生信息 printf(。
简单的c语言程序设计班级通讯录管理系统
简单的c语言程序设计班级通讯录管理系统【1】班级通讯录管理系统是一种常见且实用的应用,可以用来方便地管理班级成员的联系信息。
本文将从简单的C语言程序设计的角度来介绍班级通讯录管理系统的设计与实现。
【2】在设计班级通讯录管理系统之前,我们首先需要确定系统的基本功能。
通常而言,一个班级通讯录管理系统应包含以下几个功能模块:添加成员信息、显示通讯录、查找成员、修改成员信息和删除成员。
这些功能模块将构成我们程序的主要结构。
【3】为了实现班级通讯录管理系统,我们首先需要定义一个结构体来表示每个成员的信息。
可以使用C语言的结构体来存储每个成员的尊称、学号、性别、通信等信息。
通过使用结构体,我们可以方便地将这些信息组织在一起,并进行对应的操作。
【4】在程序中,我们可以使用数组来存储多个成员的信息。
可以定义一个指定大小的成员数组来存放所有的班级成员信息。
通过数组的索引,我们可以访问和修改特定位置的成员信息,实现各种操作。
【5】在添加成员信息的功能模块中,我们可以通过用户输入来获取新成员的信息,并将其添加到通讯录中。
可以使用循环结构来连续添加多个成员的信息,直到用户选择退出为止。
【6】显示通讯录的功能模块可以遍历整个成员数组,并将每个成员的信息逐一打印出来。
通过这个功能,可以让用户随时查看通讯录中的成员信息。
【7】查找成员的功能模块可以根据用户输入的关键字,在通讯录中查找与之匹配的成员信息,并将结果打印出来。
这个功能可以提供便捷的查询服务,帮助用户快速找到所需的成员信息。
【8】修改成员信息的功能模块可以让用户选择要修改的成员,并提供修改对应信息的选项。
用户可以输入新的信息,然后更新通讯录中的成员数据。
【9】删除成员的功能模块可以让用户选择要删除的成员,并将其从通讯录中删除。
通过这个功能,可以帮助用户及时更新通讯录,删除不再需要的成员信息。
【10】在实现以上功能模块的基础上,我们可以进一步改进班级通讯录管理系统。
可以添加密码保护功能,限制只有授权用户才能进行修改和删除操作。
C语言编写的通讯录
目录一、训练项目 (2)二、训练目的 (2)三、设计分析 (2)四、设计方案 (2)五、实训详细设计 (2)六、使用说明 (12)七、运行调试 (12)八、训练心得 (17)九、参考文献 (17)一、训练项目通讯录管理系统问题描述:建立一个本班学生通讯录文件,包括学号(xuehao)、姓名(name)、性别(sex)、联系方式(lianxifangshi)、QQ、家庭住址(zhuzhi)、其它(qita)。
要求:编写菜单程序,功能包括:加密设置、输入记录、修改记录、删除记录、按学号或姓名查询或排序记录、显示记录、保存文件。
定义全班学生结构为STU。
每一个学生都是一个结构体,包括学号(xuehao)、姓名(name)、性别(sex)、联系方式(lianxifangshi)、家庭住址(zhuzhi)、其它(qita),均为字符型数组,长度分别为10,10, 4, 11, 30, 10, 10。
二、训练目的通过本次训练,能够进一步巩固、掌握程序设计基础和数据结构课程的基本知识、基本技能。
运用算法分析与程序设计的一般方法进行实际项目的开发。
本项目需要具备熟练的数组和线性表知识,具备程序编写、调试的基本能力,具有一定的文字表达和报告撰写能力,具备办公软件使用能力。
三、设计分析通过密码设置进入文件,通过在主函数里调用各个小的子函数,进行学生信息输入,查询,修改,删除,显示与保存文件操作,基本完成平时简单的小小通讯录的作用。
四、设计方案(1)主函数:可让用户选择用系统的哪个功能,从而去连接到相应的子函数;(2)密码设置:让用户通过输入密码来进入系统服务;(3)写入数据:让用户输入通讯录里的内容;(4)修改数据:让用户在通讯录修改原有数据;(5)查找数据:通过用户输入需要找的名字或学号来找到相关资料;(6)显示数据:将已有数据进行显示输出;(7)删除数据:通过输入学号或姓名选择删除想要删除的资料;(8)保存数据:使通讯录里的数据得以保存。
简单的c语言程序设计班级通讯录管理系统
简单的c语言程序设计班级通讯录管理系统一、引言班级通讯录管理系统是一款基于C语言的简单程序,旨在帮助班级管理者更好地管理班级通讯录信息。
本文将从需求分析、系统设计、代码实现等方面详细介绍该系统。
二、需求分析1. 功能需求(1)添加联系人:可以添加新的联系人信息,包括姓名、性别、电话号码等。
(2)删除联系人:可以删除已有的联系人信息。
(3)修改联系人:可以修改已有的联系人信息,包括姓名、性别、电话号码等。
(4)查询联系人:可以根据姓名或电话号码查询已有的联系人信息。
(5)显示所有联系人:可以查看当前所有已有的联系人信息。
2. 性能需求(1)稳定性:程序应该具有较高的稳定性,不会因为输入错误或其他异常情况导致崩溃。
(2)响应速度:程序应该具有较快的响应速度,不会因为数据量过大或其他原因导致卡顿或延迟。
3. 可靠性需求(1)数据安全:程序应该具有较高的数据安全性,保证用户输入的数据不会被损坏或丢失。
(2)用户友好性:程序应该具有较好的用户友好性,使用户能够轻松使用。
三、系统设计1. 总体设计(1)系统结构:本系统采用单层结构,包含若干个函数模块。
(2)数据结构:本系统采用链表数据结构,将每个联系人信息存储在一个节点中,并通过指针将各个节点连接起来。
(3)界面设计:本系统采用命令行界面,用户可以通过输入不同的命令实现不同的功能。
2. 模块设计(1)添加联系人模块:该模块用于添加新的联系人信息,包括姓名、性别、电话号码等。
用户需要输入相应的信息后,程序将新建一个节点并将其插入到链表中。
(2)删除联系人模块:该模块用于删除已有的联系人信息。
用户需要输入要删除的联系人姓名或电话号码后,程序将在链表中查找相应节点并将其删除。
(3)修改联系人模块:该模块用于修改已有的联系人信息。
用户需要输入要修改的联系人姓名或电话号码后,程序将在链表中查找相应节点并允许用户修改其中的信息。
(4)查询联系人模块:该模块用于根据姓名或电话号码查询已有的联系人信息。
大一c语言通讯录管理系统源代码
大一c语言通讯录管理系统源代码以下是一个简单的C语言通讯录管理系统的源代码示例:#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_CONTACTS 100// 定义联系人结构体typedef struct {char name[50];char phone[20];char email[50];} Contact;// 全局通讯录数组Contact contacts[MAX_CONTACTS];int numContacts = 0;// 添加联系人void addContact() {if (numContacts >= MAX_CONTACTS) {printf("通讯录已满,无法添加新联系人。
\n");return;}Contact newContact;printf("请输入联系人姓名:");scanf("%s", );printf("请输入联系人电话:");scanf("%s", newContact.phone);printf("请输入联系人邮箱:");scanf("%s", newContact.email);contacts[numContacts] = newContact; numContacts++;printf("联系人添加成功。
\n");}// 显示所有联系人void displayContacts() {if (numContacts == 0) {printf("通讯录为空。
\n");return;}printf("所有联系人:\n");for (int i = 0; i < numContacts; i++) {printf("姓名:%s\t电话:%s\t邮箱:%s\n", contacts[i].name, contacts[i].phone, contacts[i].email); }}// 主菜单void showMenu() {printf("******************************\n"); printf("***** 通讯录管理系统*****\n"); printf("******************************\n"); printf("请选择操作:\n");printf("1. 添加联系人\n");printf("2. 显示所有联系人\n");printf("0. 退出\n");printf("******************************\n"); }int main() {int choice;while (1) {showMenu();printf("请选择操作(输入数字):");scanf("%d", &choice);switch (choice) {case 0:printf("已退出通讯录管理系统。
c课程设计班级通讯录设计
c 课程设计班级通讯录设计一、教学目标本节课的教学目标是使学生掌握班级通讯录的设计与实现。
知识目标包括理解班级通讯录的基本结构,掌握使用编程语言实现通讯录的基本功能。
技能目标包括培养学生使用编程语言进行简单应用程序开发的能力,以及解决问题的能力。
情感态度价值观目标包括培养学生对计算机科学的兴趣,以及合作、创新的精神。
二、教学内容本节课的教学内容主要包括班级通讯录的基本结构,如姓名、电话、邮箱等,以及如何使用编程语言实现通讯录的基本功能。
具体包括:1. 班级通讯录的基本结构及其表示方法;2. 使用编程语言实现通讯录的增加、删除、查找等功能;3. 简单的用户界面设计,如输入、输出等。
三、教学方法本节课将采用讲授法、案例分析法和实验法等多种教学方法。
首先,通过讲授法向学生介绍班级通讯录的基本结构和编程语言的基本知识。
然后,通过案例分析法,分析并解决实际问题,如如何实现通讯录的增加、删除、查找等功能。
最后,通过实验法,让学生亲自动手编写程序,实现班级通讯录的设计与实现。
四、教学资源本节课的教学资源包括教材、多媒体资料和实验设备。
教材将提供班级通讯录的基本知识和编程语言的基本语法。
多媒体资料将用于辅助讲解和演示,如编程语言的使用方法和实验步骤等。
实验设备包括计算机、网络等,用于让学生亲自动手实践,加深对知识的理解和掌握。
五、教学评估本节课的教学评估主要包括平时表现、作业和考试三个部分。
平时表现主要评估学生在课堂上的参与程度、提问回答等情况,占总评的30%。
作业主要评估学生对课堂所学知识的掌握情况,占总评的40%。
考试则是对学生全面掌握班级通讯录设计与实现能力的评估,占总评的30%。
评估方式客观、公正,全面反映学生的学习成果。
六、教学安排本节课的教学安排如下:总共安排10课时,每课时45分钟。
第一课时介绍班级通讯录的基本结构,第二课时讲解编程语言的基本知识,第三课时分析通讯录的实现方法,第四课时进行课堂实践,第五课时进行作业讲解,第六课时到第十课时进行实验和实践。
班级通讯录(大数据结构,C语言)
班级通讯录1、设计目的设计一个计算机管理系统对班级通讯录进行管理。
2、设计要求一个学生的数据包括:学号、姓名、电话号码、手机、QQ号。
要求设计一个计算机管理系统对班级通讯录进行管理,具有的功能是能够进行录入、修改、删除、查找和输出所有记录。
为提高数据的可访问性,电话号码、手机、QQ号建立索引表,索引表可以在维护数据时动态维护,也可能最后一次建立。
设计条件:硬件条件:(1)学生用微机(2)多媒体教室(3)局域网环境软件条件:(1)Windows XP中文操作系统(2)Turbo C 3.03、课程设计的内容3.1、需求分析:随着科技的进步和信息产业的发展,通讯录成为了现代生活中的一个重要的工具。
利用通讯录管理系统对通讯录进行统一管理,包括添加,修改,查询记录等功能,实现通讯录管理工作的系统化,规范化和自动化,为生活提供便利。
在设计的通讯录中,学生学号,电话号码,手机号码,QQ均以数字的形式进行输入,学生姓名则以中文,英文输入均可进行记录,输出的形式与输入形式相同。
按要求,设计的通讯录管理系统可以实现添加、修改、删除、查找,对学号的排序和输出所有学生记录。
进行测试的数据和执行情况如下图所示:程序主观图:添加记录:显示所有记录:删除一条记录:根据学号查找:对记录的排序:主要是对添加新纪录在链表中按升序排列,如新加李伟这条记录,对它采取排序,具体结果如下:进行排序:输入6即退出:3.2、概要设计:对该系统各种函数的定义在源代码给出,先给出函数的定义,然后给出菜单的执行函数,建立链表,并对各个功能的实现编出程序,直到调试成功为止。
3.3、详细设计主要给出程序的流程图,如下所示:菜单函数:链表构造:按学号显示学生数据:删除记录:显示所有信息:排序:3.4、程序调试与测试结果:经过认真调试最终结果为正确。
如图:3.5、结果分析:在编译过程中遇到很多困难,程序也基本上符合要求,但是有一点目前还没解决,就是基于链表的修改还没掌握,因此花了很大的力气,但是还是没有完成,只好采取的修改方式为:删除,添加,排序的方法对链表中的元素进行修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void seta(){cout<<"地址:";cin>>addr;}
void sett(){cout<<"电话:";cin>>teli;}
void setp(){cout<<"邮编:";cin>>post;}
void setm(){cout<<"mail:";cin>>mail;}
{ student[i].show();
cout<<"是否删除?(y/n):";ci;)
{ for(int t=i;t<=size;t++)
student[t]=student[t+1];
size--;
break;
ioFile.open("addressbook.txt",ios::in);//out是从文件读入到cpu
ioFile>>a;
while(!ioFile.eof())
{ ioFile>>b>>c>>d>>e;
student[size].readal(a,b,c,d,e);
cout<<"输入要修改的姓名:";cin>>s;
for(int i=0;i<size;i++)
if(student[i].shn().find(s,0)!=string::npos)//string库内函数,结构为a.find(b,c),即在字符串a中下标为c的位置开始寻找是否有字符串b的存在,若没有则输出string::npos。
case '5':{for(int i=0;i<size;i++) if(student[i].shm().find(s,0)!=string::npos) student[i].show();break;}
}
}
void sort()
{ char c;addrm tmp;
cout<<"请输入排序的基准:"<<endl;
case '5':{for(int i=0;i<size;i++) for(int t=i+1;t<size;t++) if(student[i].shm()>student[t].shm()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
case '3':{for(int i=0;i<size;i++) for(int t=i+1;t<size;t++) if(student[i].sht()>student[t].sht()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
case '6':break;
}
}
}
void del()
{ string s;char c;
cout<<"输入要删除的姓名:";cin>>s;
for(int i=0;i<size;i++)
if(student[i].shn().find(s,0)!=string::npos)//可直接理解为字符串s是否在student[i]的姓名中任意位置出现过,若是则if条件成立
}
cout<<"排序结束,输出结果:"<<endl;
for(int i=0;i<size;i++)
student[i].show();
}
void read()
{ string a,b,c,d,e;//a是姓名....
size=0;
fstream ioFile;//创建流对象
case '2':student[i].seta();cout<<"修改结果:"<<endl;student[i].show();break;
case '3':student[i].sett();cout<<"修改结果:"<<endl;student[i].show();break;
size++;
ioFile>>a;
}
ioFile.close();
cout<<"读取完毕"<<endl;
}
void write()
{ fstream ioFile;
ioFile.open("addressbook.txt",ios::out);//从cpu取出到屏幕
}
else
continue;
}
}
void sea()
{ char c;string s;
cout<<"请输入要查找的项:"<<endl;
cout<<"1.姓名 2.地址 3.电话 4.邮编 5.mail:";cin>>c;
cout<<"请输入要查找的关键字:";cin>>s;
{ student[i].show();
cout<<"输入要修改的项:"<<endl;
cout<<"1.姓名 2.地址 3.电话 4.邮编 5.mail 6.取消:";cin>>c;
switch(c)
{ case '1':student[i].setn();cout<<"修改结果:"<<endl;student[i].show();break;
case 's':a.write();break;
case 'r':a.read();break;
}
}
}
string shn(){return name;}
string sha(){return addr;}
string sht(){return teli;}
string shp(){return post;}
string shm(){return mail;}
void show(){cout<<"姓名:"<<shn()<<endl<<"地址:"<<sha()<<endl<<"电话:"<<sht()<<endl<<"邮编:"<<shp()<<endl<<"mail:"<<shm()<<endl;}
case '2':{for(int i=0;i<size;i++) for(int t=i+1;t<size;t++) if(student[i].sha()>student[t].sha()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
cout<<"1.姓名 2.地址 3.电话 4.邮编 5.mail:";cin>>c;
switch(c)
{ case '1':{for(int i=0;i<size;i++) for(int t=i+1;t<size;t++) if(student[i].shn()>student[t].shn()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
for(int i=0;i<size;i++)
ioFile<<student[i].shn()<<"\t"<<student[i].sha()<<"\t"<<student[i].sht()<<"\t"<<student[i].shp()<<"\t"<<student[i].shm()<<endl;
void setal(){setn();seta();sett();setp();setm();}
void readal(string a,string b,string c,string d,string e)
{name=a;addr=b;teli=c;post=d;mail=e;}
};
case '4':{for(int i=0;i<size;i++) for(int t=i+1;t<size;t++) if(student[i].shp()>student[t].shp()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}