C语言与数据结构课程设计报告要求_数据结构课程设计要求

2020-02-28 其他范文 下载本文

C语言与数据结构课程设计报告要求由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据结构课程设计要求”。

C语言与数据结构课程设计报告

学 号 2014014083 姓 名 汪明 课程设计题目 通讯录的制作

2016 年 1

目 录需求分析 1.1 功能与数据需求 1.1.1 题目要求的功能 1.1.2 扩展功能 1.2 界面需求 1.3 开发环境与运行需求 2 概要设计 2.1主要数据结构 2.2程序总体结构 2.3各模块函数说明 3 详细设计

3.1算法分析与设计 3.2主要程序段设计 4 测试 5 使用说明

5.1应用程序功能的详细说明 5.2应用程序运行环境要求 5.5输入数据类型、格式和内容限制 6 总结提高

6.1课程设计总结

6.2开发中遇到的问题和解决方法 6.3 对自己完成课设完成情况的评价

6.4《C语言与数据结构课程设计》课程的意见与建议 附录:程序源代码

需求分析 1.1 功能与数据需求

1)输入信息--enter();2)显示信息---display();3)查找以姓名作为关键字---search();4)删除信息---delete();5)存盘---save();6)装入---load();

1.2 界面需求

1)每条信息至包含 :姓名(NAME)街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项;电话号码(TEL); 2)作为一个完整的系统,应具有友好的界面和较强的容错能力; 3)需要链表实现;

4)上机能正常运行。

1.3 开发环境

开发环境:

测试系统:Windows7,开发工具:Dev-C++ 概要设计 2.1主要数据结构

//构建链表的结构体 typedef struct CLUB { char NAME[20];//姓名 char STREET[20];//街道 char CITY[20];//城市 char STATE[20];//国家 char PHONE[20];//电话号码 char EIP[10];//邮编 struct CLUB *next;}CLUB;CLUB *headLink;

2.2程序总体结构 //主要函数

void Enter(CLUB *t);//录入 void Search(void);//查找

void Display(void);//输出输入的所有信息 void Delete(void);//删除信息 void Save(void);//保存

void Load(void);//从文件中的内容 //界面函数

void Menu(void);//显示菜单

2.2各模块函数说明

void CreateHeadLink(void);//创建 void Load(void);//从文件中的内容 void Menu(void);//显示菜单

void InsertOneNode(CLUB *t);//增加新结点

CLUB *MallocNode(void);//申请一个新结点,并将其初始化 void Enter(CLUB *t);//输入

void InsertOneNode(CLUB *t);//在链表的结尾处增加一个结点 void Search(void);//查找

void DesplayOneNode(CLUB *t);//输出一个结点的信息 void Display(void);//输出输入的所有信息 void Delete(void);//删除信息

void ChangeInforByName(void);//修改信息 void Save(void);//保存详细设计

3.1算法分析与设计

Enter函数:从键盘中获得数据,通过scanf将各数据放入对应的链表中 Display函数:将链表中的数据输出 3.2主要程序段设计测试使用说明

5.1应用程序功能的详细说明

先输入联系人的基本信息,可以显示录入的所有联系人的信息,可以将联系人的信息保存到CLUB.txt,当第二次运行时可以直接从CLUB.txt文件中调用 5.2应用程序运行环境要求 5.5输入数据类型、格式和内容限制 6 总结提高

6.1课程设计总结

6.2开发中遇到的问题和解决方法 6.3 对自己课程设计完成情况的评价 附录:程序源代码

#include #include #include #include #include #include typedef struct CLUB { char NAME[20];//姓名

char STREET[20];//街道

char CITY[20];//城市

char STATE[20];//国家

char PHONE[20];//电话号码

char EIP[10];//邮编 struct CLUB *next;}CLUB;CLUB *headLink;//链表表头指针 void CreateHeadLink(void);//创建 void Load(void);//从文件中的内容 void Menu(void);//显示菜单

void InsertOneNode(CLUB *t);//增加新结点

CLUB *MallocNode(void);//申请一个新结点,并将其初始化 void Enter(CLUB *t);//输入

void InsertOneNode(CLUB *t);//在链表的结尾处增加一个结点 void Search(void);//查找

void DesplayOneNode(CLUB *t);//输出一个结点的信息 void Display(void);//输出输入的所有信息 void Delete(void);//删除信息

void ChangeInforByName(void);//修改信息 void Save(void);//保存

int choose;//用于接收用户的选择 //主函数 int main(){ int j;system(“color 3E”);printf(“nnnnnnnnnn”);printf(“ttt %c ”,1);printf(“欢迎进入通信录!nn”);printf(“正在进入,请等候”);for(j=0;j

CreateHeadLink();Menu();} //函数功能:从文件中读信息 void Load(void){ FILE *fp;CLUB *p;p=(CLUB *)malloc(sizeof(CLUB));headLink=p;p->next=NULL;fp=fopen(“CLUB.txt”,“r”);if(!fp){ printf(“文件不存在n”);return;} p=MallocNode();while(fscanf(fp,“%s%s%s%s%s%sn”,p->NAME,p->STREET,p-> CITY,p->STATE,p->PHONE ,p->EIP)>0){ InsertOneNode(p);p=MallocNode();} fclose(fp);}

//函数功能:显示菜单,根据用户的输入完成相应的功能 void Menu(void){ CLUB *p;printf(“nt|***********欢迎使用通信录信息管理系统****************|n”);printf(“t提示:为保证您的操作得到保存,请按正常顺序退出系统^_^n”);printf(“tt+------------主菜单---------------+n”);printf(“tt+ [1]******显示电话簿信息 +n”);printf(“tt+ [2]按姓名查找电话簿信息 +n”);printf(“tt+ [3]******录入电话簿信息 +n”);printf(“tt+ [4]******删除电话簿信息 +n”);printf(“tt+ [5]按姓名修改电话簿信息 +n”);printf(“tt+ [6]**保存所有电话簿信息 +n”);printf(“tt+ [7]装入文件中电话簿信息 +n”);printf(“tt+ [0]****************退出 +nn”);printf(“请输入指令:”);scanf(“%d”,&choose);//取得用户的选择

switch(choose){

case 1: Display();//显示所有电话簿的信息 Sleep(2000);system(“cls”);break;case 2: Search();//按姓名查找信息 Sleep(2000);system(“cls”);break;case 3: //录入新信息

p=MallocNode();//先申请一个新结点 Enter(p);//要求用户输入信息到新结点中 InsertOneNode(p);//将新结点加到链表中 Sleep(2000);system(“cls”);break;case 4: Delete();//删除电话簿信息

Sleep(2000);system(“cls”);break;case 5:

ChangeInforByName();//按姓名修改电话簿信息 Sleep(2000);system(“cls”);break;case 6: Save();//保存 Sleep(2000);system(“cls”);break;case 7:

Load();//装入 Display();Sleep(2000);system(“cls”);break;case 0: Save();//保存数据后再退出 free(headLink);exit(1);break;default:

} break;} Menu();//递归调用

// 函数功能:建立链表表头 void CreateHeadLink(void){ CLUB *p;p=(CLUB *)malloc(sizeof(CLUB));headLink=p;p->next=NULL;} // 函数功能:增加新结点 void InsertOneNode(CLUB *t){ CLUB *p;p=headLink;while(p->next){ p=p->next;} p->next=t;} //函数功能:申请一个新结点,并将其初始化 CLUB *MallocNode(void){ CLUB *p;int i;p=(CLUB*)malloc(sizeof(CLUB));if(p==NULL)return NULL;for(i=0;iNAME[i]='';

for(i=0;iSTREET[i]='';

for(i=0;iCITY[i]='';

for(i=0;iSTATE[i]='';

for(i=0;iPHONE[i]='';

for(i=0;iEIP[i]='';

p->next=NULL;} return p;//函数功能:录入电话簿信息 void Enter(CLUB *t){

} printf(“请输入姓名: n”);scanf(“%s”,t->NAME);printf(“请输入街道信息:n”);scanf(“%s”,t->STREET);printf(“请输入城市信息:n”);scanf(“%s”,t->CITY);printf(“请输入国家信息:n”);scanf(“%s”,t->STATE);printf(“请输入电话号码:n”);scanf(“%s”,t->PHONE);printf(“请输入邮编信息:n”);scanf(“%s”,t->EIP);//函数功能:在链表的结尾处增加一个结点 void InsertOneNode(void){ CLUB *p;p=headLink;while(p->next){ p=p->next;} p->next=p;} //函数功能:根据用户输入的姓名显示电话簿的信息 void Search(void){ CLUB *p;char NAME[20];char flag=0;p=headLink->next;printf(“请输入要查询的姓名信息:n”);scanf(“%s”,NAME);while(p){ if(strcmp(p->NAME,NAME)==0){ printf(“n 姓名t街道t城市t国家t电话号码t邮编n”);DesplayOneNode(p);flag=1;break;} p=p->next;} if(!flag)} printf(“对不起,不存在姓名为 %s 的电话簿信息n”,NAME);//函数功能:输出一个结点的信息 void DesplayOneNode(CLUB *t){ printf(“%st”,t->NAME);printf(“%st”,t->STREET);printf(“%st”,t->CITY);printf(“%st”,t->STATE);printf(“%st”,t->PHONE);printf(“%st”,t->EIP);printf(“nt”);} //函数功能:显示所有电话簿的信息 void Display(void){ CLUB *p;p=headLink->next;if(p==NULL){ printf(“现在没有电话簿信息,请先输入电话簿信息nn”);return;} printf(“n”);printf(“nt姓名t街道t城市t国家t电话号码t邮编ntnt”);while(p){ DesplayOneNode(p);p=p->next;} p=NULL;} //函数功能:根据用户输入的姓名删除 void Delete(void){ char NAME[20];CLUB *p,*q;char flag=0;printf(“请输入要删除的姓名信息:”);scanf(“%s”,NAME);p=headLink;q=headLink->next;while(q){ if(strcmp(q->NAME,NAME)==0){ p->next=q->next;free(q);flag=1;break;} p=p->next;q=q->next;} if(!flag){

} printf(“不存在该姓名的信息n”);return;} printf(“成功删除n”);//函数功能:根据输入的姓名修改电话簿信息 void ChangeInforByName(void){ CLUB *p;char NAME[20];char flag=0;p=headLink->next;printf(“请输入姓名:n”);scanf(“%s”,NAME);while(p){ if(strcmp(p->NAME,NAME)==0){

printf(“请输入新的街道信息:n”);scanf(“%s”,&p->STREET);printf(“请输入新的电话号码:n”);scanf(“%s”,&p->PHONE);printf(“修改成功n”);break;}

} p=p->next;} // 函数功能:保存链表数据到文件中 void Save(void){ CLUB *p;FILE *fp;p=headLink->next;if(p==NULL){

} printf(“现在没有电话簿信息,请先输入电话簿信息nn”);return;} fp=fopen(“CLUB.txt”,“w+”);if(!fp){ printf(“文件不存在n”);return;} while(p){ fprintf(fp,“%st%st%st%st%st%sn”,p->NAME,p->STREET,p-> CITY,p->STATE,p->PHONE,p->EIP);p=p->next;} fclose(fp);

《C语言与数据结构课程设计报告要求.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言与数据结构课程设计报告要求
点击下载文档
相关专题 数据结构课程设计要求 报告 数据结构 课程设计 数据结构课程设计要求 报告 数据结构 课程设计
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文