学生通讯录管理系统(C语言课程设计实验报告)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言课程设计
姓名:***
学号:********
班级:090411
专业:计算机科学与技术
学院:信息工程学院
设计题目:学生通讯录管理系统指导教师:***
提交时间:2010年9月4日
课程题目:学生通讯录管理系统
要求:学生通讯录信息包括:学号、姓名、班机、联系电话、E-mail、宿舍等
主要功能:
1、通讯录信息录入功能
2、通讯录信息删除功能
3、通讯录信息浏览功能
4、通讯录信息查询功能
5、按学号排序功能
一、总体设计
首先,整个系统必须有一个主函数,为了尽量提高程序的易修改性,且不至于相互干扰,将每一个功能分成不同的模块,用不同的函数来实现,例如在我写的这个程序中,一共用了11个函数,分别是:主菜单函数menu()、关于函数gaunyu()、帮助函数help ()、输出单个学生信息函数shuchu()、输入函数shuru()、输出所有学生信息函数findall()、按姓名查找函数findname()、按学号查找函数findnum()、删除函数shanchu()、排序函数paixu ()、主函数main(),这样在整个程序的设计过程中也就一目了然,写起来也相对轻松了不少。
这个程序我只是总体上参考了一下网上程序的架构,具体的各个
函数是参照课本上《链表》那一章的内容的,比如结构体的建立、查找和排序等功能,这些书上都有类似的,其中排序功能虽没有原版的,但是在第六章中有一个用冒泡法排序的例题,我就是仿照这个模式来对结构体进行排序的,总之整个程序中蕴含了我很多的汗水。
二、具体设计
关于这个程序的具体设计,也不是一两句话就能说完的,所以我也不想再在这里赘述了,因为程序里都可以看的到,几乎每个函数都倾注了我的大量汗水,我在这上面花了不少的时间,不过从中也收获了很多,因为不停地修改不停的调试,总之还是直接看源程序吧,因为也没必要在这里重复地说废话。
三、源代码
以下是整个程序的源代码,其中我的主菜单函数是很美观的,但由于这里字体和板式的限制,不能很好的显现,可以看我下面程序运行的截图就知道了。
——————————————————
#include
#include
#include
#include
#include
#define NULL 0
struct student{
long num;
char name[20];
int banji;
char tel[11];
char Email[20];
int sushe;
struct student *next;
};
struct student *stu;
int n;
void menu(void){ /*主菜单函数*/
system("cls");
puts("*****************************************************
***********************");
puts("** ^_^学生通讯录管理系统^_^ **");
puts("*****************************************************
***********************");
puts("********
计 ********");
puts("******* *******");
puts("******
算 ******");
puts("***** 0 1=录入学生通讯录信息
*****");
puts("**** 9 刘 2=列出所有学生通讯录
机 ****");
puts("*** 0 3=按姓名查询信息
***");
puts("** 4 显 4=按学号查询信息
科 **");
puts("* 1 5=删除学生信息
*");
puts("** 1 安 6=按学号将通讯录排序
学 **");
puts("*** 3 7=关于
***");
puts("**** 1 8=帮助
与 ****");
puts("***** 0=退出
*****");
puts("******
技 ******");
puts("******* *******");
puts("********
术 ********");
puts("*****************************************************
***********************");
}
void guanyu() /*关于函数*/
{
system("cls");
puts("\n ************************** ");
puts(" *** 版权所有,翻版必究! ***");
puts("**** copyright◎刘显安! ****");
puts(" *** 2009~2010 ***");
puts(" **************************");
puts("\n返回主菜单请按【9】");
if(getche()=='9') menu();
}