22C语言程序设计报告doc.docx
《22C语言程序设计报告doc.docx》由会员分享,可在线阅读,更多相关《22C语言程序设计报告doc.docx(14页珍藏版)》请在冰豆网上搜索。
22C语言程序设计报告doc
C语言课程设计报告
设计名称C语言课程设计
专业班级风能1141
姓名梁建新
学号1103441122
指导教师杨忠宝
实习时间2012-7-2到2012-7-6
成绩
目录
一、设计目的2
二、设计内容3
三、详细设计说明4
四、软件使用说明6
五、设计总结(课程设计心得与体会)10
六、附录1:
参考文献11
七、附录2:
部分程序清单(带有较详细的注释)12
八、教师评语15
一、设计目的
图书信息包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
图书信息录入功能(图书信息用文件保存)--输入
图书信息浏览功能--输出
查询和排序功能:
(至少一种查询方式)--算法
按书名查询
按作者名查询
图书信息的删除与修改
二、设计内容
菜单选择模块完成用户命令的接收,此模块也是图书信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;
输入模块完成图书信息的输入功能,输入信息包括登陆号、书名、作者名、分类号、出版社、出版日期、价钱等;
输出模块完成已录入图书信息的显示;
查询模块完图书信息的查询,查询时对应有按书名查询和按作者名查询两种方式;
修改模块完成图书信息的修改功能;
删除模块完成图书信息的删除功能;
按登陆号排序模块完成对信息的排序;
文件保存模块完成文件的保存。
三、详细设计说明
数据结构设计
1菜单选择模块:
2给出信息提示;
绘制菜单(包含输入、显示、查询、修改、删除、退出、排序);
提示菜单选择并读入到变量;
根据读入变量的值调用不同的模块函数;
3信息输入模块:
打开职工信息文件;
发出输入提示信息;
输入职工信息;
提示是否继续输入;
读入到变量;
根据读入变量的值进入菜单或输入函数模块;
4信息输出模块:
输出所有图书的所有信息。
5信息查询模块:
调用switch函数;
给出信息提示;
提示菜单选择并读入到变量;
根据读入变量的值进入不同的case;
Case1给出信息提示;
提示菜单选择并读入到变量;
Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。
Case2给出信息提示;
提示菜单选择并读入到变量;
Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。
)
5.信息修改模块:
给出信息提示;
提示菜单选择并读入到变量;
Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并提示输入新的图书信息;否则,提示出错。
)
6.信息删除模块:
给出信息提示;
提示菜单选择并读入到变量;
Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并删除该图书的图书信息;否则,提示出错。
7.排序模块
看能不能打开程序;
如能,则用冒泡法排序;
输出排序后的所有信息
8文件保存模块
看文件能不能读;否则提示出错。
看文件的长度符不符合要求;否则提示出错。
保存文件
四、软件使用说明
1.注册
2.输入序号
3.请输入图书序号
4.请输入借书证序号和可借天数
5.注销书
6.按退出
五、设计总结(课程设计心得与体会)
这次课程设计让我掌握了许多的有用知识。
首先通过不断地学习和锻炼更加熟练地掌握应用软件MicrosoftVisualC++6.0了。
设计正确及合适的程序对于我们初学者来说是很大的难题,出现一丁点儿错误就得非很大的努力去修改,正式者一步步一点点的努力让我对C语言游乐更深的认识。
同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。
在设计中,每个同学都会遇到一些困难,或多或少,这些困难常常让我心情烦躁,比如不能清晰的建立设计模块,不会修改出现的错误等等,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。
不可避免地程序中肯定依然存在者某些问题,我希望在以后的学习和应用中不断提高自己的能力,攻克遇到的困难。
六、附录1:
参考文献
[1]杨忠宝编著.C语言程序设计.北京:
北京大学出版社
[2]常琳编著.C语言程序设习题解答与实验指导.北京:
北京大学出版社
七、附录2:
部分程序清单(带有较详细的注释)
voidbook_add(void)
{
intn;
page_title("注册");
for(n=0;n<100;n++)
if(books[n].id==0)break;
printf("序号:
");
scanf("%d",&books[n].id);
printf("书名:
");
scanf("%s",&books[n].name);
printf("作者:
");
scanf("%s",&books[n].author);
printf("数量:
");
scanf("%d",&books[n].total);
books[n].store=books[n].total;
}
intsearch_book(void)
{
intn,i;
page_title("查找");
printf("请输入图书序号:
");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].id==i)
{
printf("书名:
%s\n",books[n].name);
printf("作者:
%s\n",books[n].author);
printf("存数:
%d\n",books[n].store);
printf("总数:
%d\n",books[n].total);
returnn;
}
}
printf("\n输入有错或图书序号不存在.\n");
return-1;
}
voidbook_out(void)
{
intn,s,l,d;
page_title("借书");
if((n=search_book())!
=-1&&books[n].store>0)
{
printf("请输入借书证序号:
");
scanf("%d",&s);
printf("请输入可借天数:
");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!
=-1&&books[n].store==0)printf("此书已经全部借出.\n");
}
/*借书的函数,首先调用找书函数*/
voidbook_in(void)
{
intn,s,l;
page_title("还书");
if((n=search_book())!
=-1&&books[n].store{
printf("借阅者图书证列表:
\n");
for(l=0;l<10;l++)
if(books[n].usr[l]!
=0)
printf("[%d]-%d天\n",books[n].usr[l],books[n].days[l]);
printf("请输入借书证序号:
");
scanf("%d",&s);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!
=-1&&books[n].store==books[n].total)
printf("全部入藏.\n");
}
voidbook_del(void)
{
intn;
page_title("注销");
if((n=search_book())!
=-1)books[n].id=0;
printf("该书已注销.\n");
}
voidmain(void)
{charn;
page_title("请选择");
printf("1注册\n2查找\n");
printf("3借书\n4还书\n5注销书");
printf("\n0退出\n");
while(n=getchar()){
switch(n)
{
case'1':
book_add();break;
case'2':
search_book();break;
case'3':
book_out();break;
case'4':
book_in();break;
case'5':
book_del();break;
case'0':
exit(0);
}printf("\n\n请选择\n1注册\n2查找\n3借书\n4还书\n5注销书\n0退出\n\n");
getchar();
八、教师评语
评阅教师:
评阅日期:
2012年7月日