高级语言程序设计课程设计报告
更新时间:2023-05-06 13:59:01 阅读量: 实用文档 文档下载
高级语言程序设计
课程设计报告
题目:图书信息管理系统
学号:071007109
姓名:李荘荘
指导教师:郑小东
计算机科学与应用系
高级语言程序设计课程设计报告
一、选题分析
图书信息管理系统:
1.能够实现图书信息的录入、保存、查询、修改、删除、输出;
2.制作菜单;
3.为各操作设计函数;
二、算法设计
1.建立文本“Tushu.txt”,打开添加新书信息;
2.添加成功后返回主菜单;
3.选择相应数字进入系统;
4.退出系统。
三、数据结构
StartBook(void);/*初始化文件函数*/ Menu(void);/*菜单函数*/ Load(void);/*读文件*/ Input(void);/*输入函数*/ Find(void);/*查找函数*/ Mend(void);/*修改函数*/ Delete(void);/*删除函数*/ ShowAll(void);/*输出函数*/ Save(void);/*保存文件*/ 四、程序源码#include
#include
#include
#define LEN sizeof(struct Book)
#define MAX 100
void StartBook(void);/*初始化文件函数*/
void Menu(void);/*菜单函数*/
void Load(void);/*读文件*/
void Input(void);/*输入函数*/
void Find(void);/*查找函数*/
void Mend(void);/*修改函数*/
void Delete(void);/*删除函数*/
void ShowAll(void);/*输出函数*/
void Save(void);/*保存文件*/
struct Book/*书的结构体*/
{
int record;
char num[20];/*图书编号*/
char name[20];/*书名*/
char author[20];/*书的作者*/
int price;/*书的价格*/
int yes;/*判断书是否存在或者已经借出,1存在,0借出*/
struct BookList *link;
};
FILE *fp;
struct Book *p,*p1,*head,*s,*t;
main()
{
int flag;
int choice;
if((fp = fopen("TuShu.txt","rb"))==NULL)
1
高级语言程序设计课程设计报告
{
clrscr();
printf("\n\n\t\t\tNo File!\n");
if((fp = fopen("TuShu.txt","wb"))==NULL)
{
printf("Can't Open The File !\n");
getch();
exit(0);
}
}
if(fgetc(fp)==-1)
{
printf("\n\t\tNo Book,Input New Book Information!\n");
StartBook();
printf("\n\t\t\tInput Book Succeedful!\n");
getch();
}
rewind(fp); /* 重建文件指针 */
Load();
fclose(fp);
flag = 1;
while(flag)
{
Menu();
printf("\n\n\n\t\t\t Input your choice(0-5):");
scanf("%d",&choice);
getchar();
if(choice>=0&&choice<6)
{
switch(choice)
{
case 1:Input();break;
case 2:Find();break;
case 3:ShowAll();break;
case 4:Delete();break;
case 5:Mend();break;
case 0:flag = 0;clrscr();
printf("\n\n\n\t\t\tThaks Use This Program!!!");
printf("\n\n\t\tIf You Have Advices,Please Contact :");
printf("\n\n\t\t\E-mail : lizhuang1987@3aa017fe04a1b0717fd5dd48\n\n\t\tQQ : 89735044");
getch();break;
}
}
else
printf("Input error,Please Input!\n");
2
高级语言程序设计课程设计报告
}
fp = fopen("TuShu.txt","wb");
Save();
fclose(fp); clrscr();
printf("\n\n\n\t\tPress Any Key To Enter The Menu......!\n");
getch();
return 0;
}
void StartBook(void)/*初始化文件函数*/
{
p->record = 1;
printf("\n\t\tInput Num:");
gets(p->num);
printf("\n\t\tInput Name:");
gets(p->name);
printf("\n\t\tInput Price:");
gets(p->price);
p->link = NULL;
head = p;
fwrite(p,LEN,1,fp);
fclose(fp);
}
void Menu(void)/*菜单*/
{ clrscr();
printf("\n\t\t+---------------------------------------------+\n"); printf("\t\t|Welcome To The Book Information Manage System|");
printf("\n\t\t+---------------------------------------------+\n"); printf("\n\t\t\t Author : Li Zhuang 071007109\n\n");
printf("\t\t\t +-------------------------+");
printf("\t\t\t\t\t\t\t | 1 Input Book |\n");
printf("\t\t\t | 2 Search Book |\n");
printf("\t\t\t | 3 Print All Book |\n");
printf("\t\t\t | 4 Del Book |\n");
printf("\t\t\t | 5 Edit Book |\n");
printf("\t\t\t | 0 Exit And Save |\n");
printf("\t\t\t +-------------------------+\n");
}
void Load(void)/*读文件*/
{
fread(head,LEN,1,fp);
p = head;
while(p->link!=NULL)
{
p1 = (struct Book*)malloc(LEN);
p1 = p->link;
3
高级语言程序设计课程设计报告
fread(p1,LEN,1,fp);
p = p->link;
}
}
void Input(void)/*输入函数*/
{
p1 = (struct Book*)malloc(LEN);
p1->record = p->record + 1; clrscr();
printf("\n\n\t\t\t-------------------------------------------\n");
printf("\t\t\t\t\tPlease Message!\n");
printf("\t\t\t-------------------------------------------\n");
printf("\n\t\t\tThis %d Member",p->record+1);
printf("\n\t\t\tInput Num:");
gets(p1->num);
printf("\n\t\t\tInput Name:");
gets(p1->name);
printf("\n\t\t\tInput Price:");
gets(p1->price);
p1->link = NULL;
p->link = p1;
p = p1;
}
void ShowAll(void)/*显示所有函数*/
{
s = head;
clrscr();
printf("\n\n************************************************************** ******************\n");
printf(" \t\t Num Num Name Price \n");
printf("\n**************************************************************** ****************\n");
do
{
printf("\t\t\t%-6d%-12s%-7s%-6s\n",s->record,s->num,s->name,s->price);
s = s->link;
}while(s!=NULL);
printf("\n\n\n\t\t\tPress Any Key To Enter The Menu......!");
getch();
return;
}
void Find(void)/*查找函数*/
{
char c;
4
高级语言程序设计课程设计报告
struct Book who;
s = head;
clrscr();
printf("\n\t\tInput Serch Book Name:");
gets(3aa017fe04a1b0717fd5dd48);
while((s->link!=NULL)&&(strcmp(s->name,3aa017fe04a1b0717fd5dd48)))
{
s = s->link;
}
if((s->link==NULL)&&(strcmp(s->name,3aa017fe04a1b0717fd5dd48)))
{
printf("\"%s\" No This Book !\n",3aa017fe04a1b0717fd5dd48);
printf("Input Again Name to Search.\n");
getch();
return;
}
clrscr();
printf("\n\t\t\t\The Search Message:\n");
printf("\n\n************************************************************** ******************\n");
printf(" \t\t Num Num Name Price \n");
printf("\n**************************************************************** ****************\n");
printf("\t\t\t%-6d%-12s%-7s%-6s\n",s->record,s->num,s->name,s->price); printf("\n\n\t\t\tDel(d)\t\Edit(m)\t\Menu(s)\t\n");
printf("\n\n\t\t\tInput your choice(d/m/s):");
scanf("%c",&c);
switch(c)
{
case 'D':
case 'd':Delete();break;
case 'M':
case 'm':Mend();break;
}
}
void Mend(void)/*编辑函数*/
{
clrscr();
printf("\n\n\n\t\t\tEdit Book Information\n\n\t\t\t");
getchar();
printf("\n\t\tInput New Num:");
gets(s->num);
printf("\n\t\tInput New Name:");
gets(s->name);
5
高级语言程序设计课程设计报告
printf("\n\t\tInput New Price:");
gets(s->price);
printf("\n\t\tEdit Succeed !\n");
getch();
}
void Delete(void)/*删除函数*/
{
int find_prev;
int find_record;
char del;
char del_member_name[15];
struct Book *p_del_prev;
strcpy(del_member_name,s->name);
getchar();
printf("Del(Y/N)?",del_member_name);
scanf("%c",&del);
if(del=='n'||del=='N')
{
return;
}
find_prev = s->record - 1;
find_record = 1;
p_del_prev = head;
while((p_del_prev->link!=NULL)&&(find_record p_del_prev = p_del_prev->link; find_record++; } /* 如果删除第一本书 */ if(s->record==1) { if(s->link!=NULL) { head = head->link; s = head; while(s!=NULL) { s->record = s->record - 1; s = s->link; } printf("%d,%s",p->record,p->name); } else if(s->link==NULL)/* 如果第一本书是最后一本 */ { p= NULL; head = p; if(remove("TuShu.txt")==0) 6 高级语言程序设计课程设计报告 { printf("DEL Succeed !TuShuMuLu Yi Qing Kong!\n"); printf("So You Must Input New TuShuMuLu !\n"); printf("Exit,After Open Progem Build a New TuShuMuLu !\n"); } printf("\n\n\t\tPress Any Key To Enter The Menu.......\n"); getch(); exit(0); } } /* 如果删除最后一本书 */ else if(s->record==p->record) { p_del_prev->link = NULL; s->link = NULL; p = p_del_prev; } else { p_del_prev->link = s->link; s->link = NULL; while(p_del_prev->link!=NULL) { p_del_prev = p_del_prev->link; p_del_prev->record = p_del_prev->record -1; } printf("%d\n%d\n",p->record,p->link); } printf("Name \"%s\" Del Succeed.\n ",del_member_name); getch(); } void Save(void)/*保存文件*/ { s = head; do { fwrite(s,LEN,1,fp); s = s->link; }while(s!=NULL); } 7 高级语言程序设计课程设计报告 五、运行结果 开始程序: 退出程序: 六、课程设计总结 通过这次课程设计,学到了很多知识,也知道了自己在哪个的欠缺。课程设计的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。 8 高级语言程序设计课程设计报告
正在阅读:
高级语言程序设计课程设计报告05-06
人力资源管理制度及工作流程05-18
精品解析:全国百强校河北省衡水中学2016届高三下学期猜题卷理数03-16
建筑水电检测教材12-25
工程建设法规案例分析论文11-02
某市地下综合管廊PPP项目实施方案01-18
生态文明建设学习感悟10-16
我的诗06-04
2018年安徽师范大学外国语学院311教育学专业基础综合之中国教育04-26
职业病危害告知书03-25
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 程序设计
- 高级
- 语言
- 课程
- 报告
- 设计
- 广东中小学教师职称评审申报表
- 2018年浙江大学传媒与国际文化学院808文学评论与写作之西方美学史考研强化五套模拟题
- 第6章课程设计任务书及设计资料
- 德阳论文网职称论文发表网-长输管道腐蚀防腐涂料技术论文选题题目
- 管道工程定向钻施工方案(专家论证)
- 人教版初中英语九年级第13单元
- 质量好服务又好的多功能电量测控仪厂家是哪家,郑州一众电气
- C语言考试题库之判断题
- 湘教版八年级下学期期末考试地理试题及参考答案2016.1
- 新课程小学语文教学设计与案例分析试卷
- 会计基础工作规范考核办法(范本)
- 北京律师事务所名单
- 客运专线铁路CRTSⅠ型板式无砟轨道混凝土轨道板检验细则
- 中庸读后感精选【15篇】
- 小升初英语试卷及答案(十套)
- 2015-2020年中国中童装市场调研及投资战略研究报告
- 畜禽寄生虫病学试题库2000(2008)
- 2015年上半年浙江省保险概述:保险的职能与作用考试试卷
- 白华章建筑安装工程质量管理规定-5稿
- 江苏省淮安市涟水县高沟中学九年级物理上册 第十三章 电路初探 13.4 电压和电压表的使用导学案(2