C语言课程设计报告 下载本文

内容发布更新时间 : 2024/5/5 10:35:56星期一 下面是文章的全部内容请认真阅读。

void main() {

void menu(); menu(); }

void menu() {

int n, w1;

void enter(); void add(); void modify(); void browse(); void deleter(); do {

puts(\菜单************************ \ puts(\新建联系人*******************\ puts(\添加联系人*******************\ puts(\修 改*******************\ puts(\删 除*******************\ puts(\浏 览*******************\ puts(\查 找*******************\ puts(\退 出*******************\ puts(\通讯录********************* \ printf(\请选择服务种类(1-7) : [ ]\\b\\b\ scanf(\ if(n<1||n>7)

{w1=1;getchar();} else w1=0;

}while(w1==1); switch(n) {

case 1: enter(); break; case 2: add(); break; case 3: modify(); break; case 4: deleter(); break; case 5: browse(); break; case 6: search(); break; case 7: exit(0); } }

void enter()

void search();

{ int i,n;

printf(\ scanf(\

printf(\请输入数据:\\n\ for(i=0;i

{printf(\输入第 %d个记录.\\n\ input(i); }

if(i!=0) save(n); printf_back(); }

void add() { int i,n,k,t; n=load();

printf(\ scanf(\ k=n+t; for(i=n;i

{ printf(\输入第 %d个记录.\\n\ input(i);} save(k); printf_back(); }

void modify()

{ struct people s; int i,n,k,w0=1,w1,w2=0; n=load(); do

{ k=-1; printf_face(); printf_n(n); do

{ printf(\ scanf(\ for(i=0;i

if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];} if(k==-1) printf(\没有记录请重新输入!\ }while(k==-1);

printf_face(); printf_one(k); w1=modify_data(k,n);

if(w1==1) {printf(\是否继续?\\n\\n\\t1).是 2).保存返回\\t[ ]\\b\\b\ scanf(\ w2=1;} else

{w0=0; if(w2==0) peop[k]=s;} if((w0!=1)&&(w2==1)) save(n); }while(w0==1); menu(); }

void browse() { int n; n=load();

printf_face(); printf_n(n); printf(\共有 %d 记录.\\n\ printf(\ getchar(); menu(); }

void search()

{ int w0,k,i,n,w1,w2; struct people s; n=load(); do

{printf(\请选择查找类别: 1).姓名 2).电话号码 [ ]\\b\\b\

scanf(\输入错误!请重新输入!\\n\ }while(w2==1); if(w1==1) {do

{ k=-1; do

{ printf(\ scanf(\ for(i=0;i

if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];} if(k==-1) printf(\没有记录请重新输入!\ }while(k==-1); printf_face(); printf_one(k);

printf(\继续 2).返回菜单 [ ]\\b\\b\ scanf(\ }while(w0==1); menu(); } else { do

{ k=-1; do

{ printf(\ scanf(\ for(i=0;i

if(strcmp(s.num,peop[i].num)==0) {k=i; s=peop[i];} if(k==-1) printf(\没有记录请重新输入!\ }while(k==-1); printf_face(); printf_one(k);

printf(\继续 2).返回菜单 [ ]\\b\\b\

scanf(\ }while(w0==1); menu(); } }

void deleter()

{struct people s; int i,n,k,w0,w1; n=load(); do

{ k=-1; printf_face(); printf_n(n); do

{ printf(\ scanf(\ for(i=0;i

if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];} if(k==-1) printf(\没有记录请重新输入!\ }while(k==-1);

printf_face(); printf_one(k);

printf(\确定?\\n\\t1).是 2).返回 [ ]\\b\\b\ scanf(\

if(w0==1) {peop[k].name[0]='\\0'; save(n);} else break; printf(\

printf(\继续 2).返回 [ ]\\b\\b\ scanf(\ }while(w1==1); menu(); }

【设计体会】

通过为期一周的课程设计,我们对《C语言》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。

运用《C语言》中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。

【参考文献】

朱若愚.数据结构[M]. 北京: 电子工业出版社, 2006.1:41-65 晋良颍.数据结构[M]. 北京:人民邮电出版社, 2007.05: 21-45 刘大有.数据结构[M]. 北京: 高等教育出版社, 2006.3: 30-58 赵文静. 数据结构与算法[M]. 北京: 科学出版社, 2007.8: 41-64 徐孝凯.数据结构简明教程.[M]. 北京: 清华大学出版社, 2006.04: 102-115 严蔚敏,吴伟民.数据结构(C语言版)[M]. 北京:清华大学出版社, 2007.4: 39-43

傅清祥,王晓东. 数据结构与算法设计[M]. 北京: 电子工业出版社, 2006.3: 31-46

王敬华,林萍,.陈静. C语言程序设计[M]. 北京: 清华大学出版社, 2007.10: 22-39

李云清,杨庆红,揭安全.数据结构(C语言版)[M]. 北京:人民邮电出版社,2006.1: 44-67

[10]李春葆. 数据结构(C语言版)习题与解析[M].北京:清华大学出版社, 2006.1: 47-55