天生萌妹
//chuangyong 头文件模块 const int MaxLen=200; //最多可存放200个联系人信息 char fName[20]="";//磁盘文件:通信录文件名 int Len; //全局变量,通信录中当前联系人总数 //1. 通讯录数据结构设计 typedef struct Telephone { char name[20]; //姓名 int group;//群组:1.朋友 2.同事 3.家人 4.其他 char home[15];//住宅电话 char mobile[15];//手机 char email[20];//Email char add[20];//地址 char memo[20];//备注 }Tel; //指针数组结构,排序时用 typedef struct index { int len; //数组长度 Tel *tel[MaxLen]; //指针数组, }Index; //显示模块 void List(Tel tel[],Index lianxren); //按lianxren中指针数组的排序方式显示所有联系人。 void dayingbiaotou(void); //打印表头 void dayingbiaowei(void);//打印表尾 void PrintOne(Tel r,int i); //仅打印一个联系人r的信息,序号为i void Print(Tel r); //打印表头及一个联系人的信息 void huanyin();//欢迎界面 int Menu(void); //主菜单,显示第一级菜单:查看通信录(1)、更新通信录(2)、备份通信录(3)、退出(0)。 int Menu2(void); //更新通信录子菜单,显示:新增联系人(21)、编辑联系人(22)、删除联系人(23)、返回主菜单(20)。 //文件处理模块 void New(Tel tel[],Index *lianxren); //新增联系人。加到数组中第一个空着的位置。之后需要重新排序 void Edit(Tel tel[],Index *lianxren); //编辑联系人。需要重新排序 void Delete(Tel tel[],Index *lianxren); // 删除联系人。逻辑删除,仅将姓名赋空串。删除后需要重新排序 void Input(Tel *r,Tel tel[],int menu); //输入一个联系人的信息,由menu识别:是新增(11)还是修改(13) int chongcha(char *name,Tel tel[],char *orignal);//查重。在新增联或编辑系人前,检查是否有重名的情况。 int Select(); //选择联系人序号,避免出错 int Load(Tel tel[],Index *lianxren); //读取。将通信录文件fName读入内存。排序 int Save(Tel tel[]); //保存。将通信录以fName(全局变量)为名保存到磁盘。此时做物理删除:姓名为空串的联系人表示已删除,不存入通信录文件。 int Copy(void); //备份通信录。复制通信录文件。 void pingypaix(Tel tel[],Index *lianxren); //按音序排序。 void xuanzpaixi(Index *p); //对指针数组选择排序 //主文件模块 #include<> #include<> #include<> #include<> #include "" #include "" #include "" int main() { huanyin(); int select=0; Tel tel[MaxLen]; //最多存放200个联系人 Index lianxren;//按音序排序的指针数组 Load(tel,&lianxren); //从通信录文件读取信息 //循环显示菜单,供用户选择 do{ if(select<10 || select==20)//选的是主菜单项<10,或由子菜单返回20。接着显示主菜单 select=Menu(); else if(select>20 && select<30)//选的是子菜单2的项,继续显示子菜单2 select=Menu2(); switch(select) { case 1://按音序查看通信录 List(tel,lianxren); printf("\n\n\t按任意键继续... ..."); getch(); //等待用户看清屏幕, break; case 21: //新增联系人 New(tel,&lianxren); break; case 22: //编辑联系人 Edit(tel,&lianxren); break; case 23: //删除联系人 Delete(tel,&lianxren); break; case 20: //返回主菜单 break; case 3: //备份通信录 system("cls"); //没有子菜单,先清除上一级菜单, Save(tel); //用户可能更新过,先保存当前tel到通信录文件 Copy(); break; case 0: //退出程序 break; } }while(select!=0); Save(tel); //退出系统前,将内存数据存入通信录文件 return 0; } // 菜单模块。与程序其他模块独立。通过返回的菜单代码与操作对应 // 欢迎部分 void huanyin() { char A[100]={"欢迎使用本通讯录 本程序由 飞尧 编写 o(∩_∩)o...!回车进入!"}; int i,j,k; for(i=0;i<6;i++) { printf("\n"); } puts(" ******************************************************\n"); printf("\t\t"); for(i=0;A[i]!='\0';i++) { if(i==49)printf("\n\n\t\t\t"); printf("%c",A[i]); for(j=0;j<10000;j++) for(k=0;k<2000;k++) ; } puts("\n\n\n\t\t\t 07计科C班 王崇尧"); puts("\n ******************************************************\a"); getch(); } //主菜单,显示第一级菜单:查看通信录(1)、更新通信录(2)、备份通信录(3)、退出(0)。 int Menu(void) { int i; char menu; do{ system("cls"); //清屏, for(i=0;i<6;i++) { printf("\n"); } puts("\n **********主菜单*********"); puts(" * *"); puts(" * 1. 查看通信录 *"); puts(" * 2. 更新通信录 *"); puts(" * 3. 备份通信录 *"); puts(" * 0. 退出程序 *"); puts(" * *"); puts(" *************************\n"); printf("\t 请选择:"); menu = getche(); switch( menu ) { case '0': puts("\n\n\t退出程序!"); menu=menu-'0'; break; // 跳出循环 case '1': case '3': menu=menu-'0'; break; case '2': menu=Menu2(); break; default: puts("\n\n\t选择错误!"); menu='9'; } }while(menu=='9');//要返回菜单代码,'0'、'1'、20,21,22,23、'3'都是有效值 return menu; } //更新通信录子菜单,显示:新增联系人(21)、编辑联系人(22)、删除联系人(23)、返回(20)。 int Menu2() { char menu; int i; do{ system("cls"); //清屏, for(i=0;i<6;i++) { printf("\n"); } puts("\n ********更新通信录*******"); puts(" * *"); puts(" * 1. 新增联系人 *"); puts(" * 2. 编辑联系人 *"); puts(" * 3. 删除联系人 *"); puts(" * 0. 返回主菜单 *"); puts(" * *"); puts(" *************************\n"); printf("\t 请选择:"); menu = getche(); //输入一个字符,不回显,不需要敲入回车, switch( menu ) { case '0': puts("\n\n\t返回主菜单!"); break;// 跳出循环 case '1': case '2': case '3': break; default: puts("\n\n\t选择错误!"); menu='9'; } }while(menu=='9'); //要返回菜单代码,'0'、'1'、'2'、'3'都是有效值 return 20+menu-'0'; } //浏览部分 void List(Tel tel[],Index lianxren) //按lianxren的排序方式显示所有结点。 { int i; //i:数组下标 if(Len==0) { printf("\n\t没有联系人"); return ; } dayingbiaotou(); for(i=0; i
武汉碧海蓝天
通讯录管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。详细信息请见:
论文指导老师的联系方法有学校官网、知网、往届的学长学姐。 1、报考院校的官网上面一般会有老师的介绍,大家可以先去学校官网看一下有没有老师的联系方式。 2、去知网
校友录描述的具体点是用利用Authorware 设计制作类似与通讯录样式的毕业设计吧!
学术堂整理了十五个通信工程毕业论文题目供大家进行参考:1、高移动无线通信抗多普勒效应技术研究进展2、携能通信协作认知网络稳态吞吐量分析和优化3、协作通信中基于链
毕业设计(论文)OFDM通信系统...创思通信毕业设计论文参考.doc
//简单的学生通讯录管理系统#include#include#include#includestruct record{char name[20]; //姓名c