C语言课程设计报告212899Word下载.docx

上传人:b****4 文档编号:17173786 上传时间:2022-11-28 格式:DOCX 页数:20 大小:19.58KB
下载 相关 举报
C语言课程设计报告212899Word下载.docx_第1页
第1页 / 共20页
C语言课程设计报告212899Word下载.docx_第2页
第2页 / 共20页
C语言课程设计报告212899Word下载.docx_第3页
第3页 / 共20页
C语言课程设计报告212899Word下载.docx_第4页
第4页 / 共20页
C语言课程设计报告212899Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告212899Word下载.docx

《C语言课程设计报告212899Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告212899Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告212899Word下载.docx

b使姓名可由16位字符和数字的混合编码组成

c使电话号码可由18位字符和数字组成

d将输出信息加上输出信息信息栏,例如

姓名电话性别年龄生日宿舍

李四1234男217月1日东二333

e使用菜单实现功能的正确的选择

f所有节点信息都是动态生成。

6测试程序

应列出测试大纲对程序进行测试;

应保证测试用例测试到程序的各种边缘情况

二.总体设计

系统包括的函数有

Main.c:

整个系统的主函数

Menu.c:

系统的主界面

Creat.c:

创建链表

Add.c:

追加记录

Del.c:

删除记录

Modify.c:

修改记录

Read.c:

从外部文件读取记录

Save.c:

保存记录到外部文件

Search.c:

查找记录

Skim.c:

浏览记录

Headyy.—menu—Creat.c

Add.c

Del.c

Modify.c

Read.c

Save.c

Search.c

Skim.c

三.详细设计

程序清单:

"

"

Num."

Name"

Tel."

Sex"

Age"

Birtday"

Dormitory"

);

structaddbok*声明结构体类型*

{longnum;

charnam[16];

*储存编号*

chartel[18];

*储存电话*

charsex[4];

*学生性别*

intage;

*学生年龄*

charbir[10];

*学生生日*

chardor[13];

*学生宿舍*

structaddbok*next;

};

voidprint(structaddbok*);

具体实现:

创建了结构体变量addbok

main.c

#include<

intn=0;

voidmain()

{intc,color,i=0;

structaddbok*\n\n\n\n\n\n\n\n\n\t\t\tWelcometoStudents'

AddressSystem"

printf("

\n\n"

\t\t\t\t\t\tDesignbyYangYing"

sleep

(1);

*延时1秒*

clrscr();

}

while(i==0)

{

system("

cls"

============================Students'

AddressSystem============================"

****************************************\n"

*NO.:

Name:

YangYingClass:

ScienceOfComputerClass1*\n"

================================================================================"

c=meun();

switch(c)

{

case1:

.\n\n"

getch();

}

设置了开始的欢迎词,并且对照参考书设置了背景色和字体颜色,每种颜色延时1秒,在此函数中输入了自己的学号班级姓名,并且用switch语句实验了选择功能操作的函数指向。

menu.c

intn;

intmeun(void)

{

inti;

#####menu#####\n"

************************************************************\n"

|1:

Creat2:

Additem3:

Skimitems|\n"

|4:

Modifyitem5:

Searchitem6:

Deleteitem|\n"

|7:

Readfile8:

Saveitem0:

Exitsystem|\n"

\n\tPleasechoosethenumberwhichyouWANT:

scanf("

%d"

&

i);

return(i);

主要表现了主函数的菜单,供用户选择。

1选项是建立链表并且创建多个新记录

2选项是在链表后面追加若干个记录

3选项是浏览存储的记录

4选项是修改已有的记录

5选项是查找记录

6选项是删除系统中的记录

7选项是从外部文件读取记录

8选项是保存记录到外部文件

0选项是推出系统

creat.c

structaddbok*creat(void)*引用结构体addbok*

inti=2;

structaddbok*p1,*p2,*========================Enteranewrecord,STOPby\"

0\"

==========================="

\n"

NO.1:

\n"

Num.:

%ld"

p1->

num);

if(p1->

num==0)

{printf("

\nWrittenover\n"

return(=n+1;

if(n==1){"

NO.%d:

i);

i=i+1;

{p2->

next=NULL;

return(\n"

return(intn;

structaddbok*add(structaddbok*"

while(yy!

=0)

p1=(structaddbok*)malloc(LEN);

p0=p2="

p1->

Name:

%s"

nam);

Tel.:

tel);

Sex:

sex);

Age:

age);

Birthday:

bir);

Dormitory:

dor);

if(p2==NULL)

n=n+1;

=n+1;

p2->

next=p1;

p1->

else

while(p2->

next!

=NULL)

p0=p2;

p2=p2->

next;

\n----Writtenover----\n"

\nEnter\"

tothemenu,Anykeygoon:

"

yy);

system("

return(intn;

structaddbok*del(structaddbok*=================================Deleterecord=================================\n"

while(yy!

=0)

if("

gotoend;

\nEnterthenum.youwanttodelete:

p1==n-1;

printf("

\n-----~Delete~------\n"

gotoend;

else

next=p1->

n=n-1;

else{printf("

\nSorry,cannotfindtherecord!

end:

{printf("

tothemenu,Anynumbergoon:

scanf("

structaddbok*modify(structaddbok*================================Modifyarecord================================\n"

if(===Norecordnow===\n"

return("

%-12s%-12s%-12s%-10s%-10s%-10s%-12s"

Birthday"

%-12ld%-12s%-12s%-10s%-10d%-10s%-12s\n"

num,p1->

nam,p1->

tel,p1->

sex,p1->

age,p1->

bir,p1->

\n================================================================================\n"

{printf("

\n*************WhichonedoyouwanttoModify?

***************\n"

1:

Num.2:

Name\n"

3:

Tel.4:

Age\n"

\n************************************************************\n"

yourchoose:

x);

switch(x)

OriginNum.:

%ld\n"

PleaseinputanewNum.:

num=num;

\n**Success!

**\n"

break;

case2:

Originname\n"

\nPleaseinputanewname:

case3:

OriginTel.:

%s===\n"

\nPleaseinputanewTel.:

case4:

printf("

Originage:

%d===\n"

\nPleaseinputthenewage:

scanf("

}

\nSorry,cannotfindtherecordyouwant!

getch();

structaddbok*read(void)

structaddbok*p1,*p2,*kt;

FILE*fp;

fp=fopen("

addbok.txt"

rb"

n=getw(fp);

p1=p2=(structaddbok*)malloc(LEN);

kt=p1;

fread(p1,sizeof(structaddbok),1,fp);

for(i=0;

i<

(n-1);

i++)*此语句可以这样用我不知道,网上翻来的*

p2=p1;

*读写一个数据块*

fclose(fp);

\n===AlreadyReading===\n\n"

return(kt);

从外部文件读取addbok.txt,addbok.txt是保存了用户所输入的记录的文件。

其中for语句有点顺序的问题,可是我不知道怎么改。

save.c

voidsave(structaddbok*"

*1:

AutoSaveasaddbook_yy.txt*\n"

*2:

Coveratxt*\n"

*3:

Renameatxt*\n"

************************************************************\n"

v=getch();

switch(v)

{case'

1'

:

if((fp=fopen("

wb"

))==NULL)

cannotopenthefile\n"

return;

putw(n,fp);

n;

i++)

if(fwrite(p,sizeof(structaddbok),1,fp)!

=1)

Writeerror\n"

p=p->

\n===Success!

===\n\n"

break;

case'

2'

\n\n\n\n\t\tEnterthefilename:

tr);

if((fp=fopen(tr,"

Cannotopenthefile\n"

3'

保存记录到外部文件addbook_yy.txt。

search.c

voidsearch(structaddbok******************************SearchRecord*********************************\n"

\n===========================NoRecord!

=======================================\n"

while(j!

\n*****************************SearchRecord*********************************\n"

Choosewahtyouwant:

\n1:

Num.\n2:

Name\n3:

Tel.\n4:

Dormitry\n\t\t"

b=getch();

switch(b)

PleaseinputtheNum.:

t);

for(i=0,k=0;

if((p->

num)==t)

{k=1;

}p=p->

if(k==0)

****Sorry,cannotfind!

****\n"

\n================================================================================"

PR;

p->

num,p->

nam,p->

tel,p->

sex,p->

age,p->

bir,p->

================================================================================\n"

j);

p="

if((0==strcmp(p->

nam,tr)))

%-12ld%-12s%-12s%-10s%-10d%-1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1