《C语言程序设计》课程设计报告_体育器材借还信息管理系统

合集下载

c程序课程设计实验报告

c程序课程设计实验报告

c程序课程设计实验报告一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和良好的编程习惯。

具体分解为以下三个方面的目标:1.知识目标:使学生了解C程序设计的基本概念,掌握C语言的基本语法和编程方法,包括变量、数据类型、运算符、控制结构、函数等。

2.技能目标:培养学生具备编写和调试C程序的能力,能运用C语言解决简单的实际问题,培养学生的创新能力和实践能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,培养学生良好的编程习惯和团队协作精神,提高学生的自主学习和问题解决能力。

二、教学内容本课程的教学内容主要包括C程序设计的基本概念、语法和编程方法。

具体安排如下:1.C程序设计基本概念:介绍计算机编程的基本概念,使学生了解C语言的特点和应用领域。

2.C语言语法:讲解C语言的基本语法,包括变量、数据类型、运算符、控制结构等。

3.C程序设计方法:教授编程方法,包括函数、数组、指针等,并通过实例使学生掌握编程技巧。

4.编程实践:安排一定的实验课时,使学生动手实践,培养学生的编程能力和问题解决能力。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性,提高教学效果。

具体方法如下:1.讲授法:讲解C程序设计的基本概念、语法和编程方法,使学生掌握理论知识。

2.案例分析法:通过分析典型案例,使学生了解编程技巧和方法,提高学生的实践能力。

3.实验法:安排实验课,使学生动手实践,培养学生的编程能力和问题解决能力。

4.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的团队协作能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

具体如下:1.教材:选用权威、实用的教材,为学生提供系统的学习资源。

2.参考书:推荐学生阅读适量的参考书,丰富学生的知识体系。

3.多媒体资料:制作课件、教学视频等多媒体资料,提高教学的趣味性和直观性。

c语言课程设计实验报告

c语言课程设计实验报告

c语言课程设计实验报告一、教学目标本课程的目标是让学生掌握C语言的基本语法、数据结构、算法和编程技巧,培养学生独立编程和解决问题的能力。

具体目标如下:1.知识目标:–掌握C语言的基本语法和关键字。

–理解数据类型、变量、常量的概念及使用。

–熟悉运算符、表达式、语句的结构。

–学习函数的定义、声明和调用。

–掌握数组、指针、字符串的基本操作。

–了解结构体、共用体、枚举类型等数据结构。

–学习基本算法和排序、查找等常用算法。

2.技能目标:–能够使用C语言编写简单的程序,解决实际问题。

–熟练使用集成开发环境(IDE)进行程序调试和运行。

–掌握编程规范和代码注释,编写可读性强的代码。

–学会使用函数模块化编程,提高代码重用性。

3.情感态度价值观目标:–培养学生对计算机科学的兴趣,激发创新意识。

–培养学生的团队合作精神和自主学习能力。

–强化学生的编程实践能力,提高解决实际问题的能力。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和关键字。

2.数据类型、变量、常量的使用和声明。

3.运算符、表达式、语句的结构和用法。

4.函数的定义、声明和调用。

5.数组、指针、字符串的基本操作和应用。

6.结构体、共用体、枚举类型等数据结构的概念和使用。

7.基本算法和排序、查找等常用算法。

8.第一周:C语言基本语法和关键字。

9.第二周:数据类型、变量、常量的使用和声明。

10.第三周:运算符、表达式、语句的结构和用法。

11.第四周:函数的定义、声明和调用。

12.第五周:数组、指针、字符串的基本操作和应用。

13.第六周:结构体、共用体、枚举类型等数据结构的概念和使用。

14.第七周:基本算法和排序、查找等常用算法。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:教师通过讲解、示例等方式,向学生传授C语言的基本知识和编程技巧。

2.讨论法:教师引导学生进行问题讨论,培养学生的编程思维和解决问题的能力。

c语言体育课程设计

c语言体育课程设计

c语言体育课程设计一、课程目标知识目标:1. 学生能理解并掌握C语言中基本的程序结构,包括变量声明、数据类型、运算符、控制语句等。

2. 学生能运用C语言编写简单的体育数据分析程序,例如计算运动员的平均速度、比较不同运动员的成绩。

3. 学生了解C语言在体育数据统计与处理中的应用,理解编程与体育学科的结合。

技能目标:4. 学生培养逻辑思维和问题解决能力,通过编程解决体育数据相关问题。

5. 学生能够使用C语言实现基本的输入输出功能,并掌握基本的调试技巧,提高程序的正确性。

6. 学生通过团队协作,共同完成一个简单的体育数据分析项目,提升项目合作和沟通能力。

情感态度价值观目标:7. 学生通过C语言编程体验成功解决问题的喜悦,增强对信息技术的兴趣和自信心。

8. 学生在学习过程中培养耐心和细心,形成严谨的科学态度和良好的编程习惯。

9. 学生认识到编程在体育领域的应用价值,激发将信息技术应用于实际生活的意识。

二、教学内容本课程以C语言基础知识为主线,结合体育数据分析的实际应用,设计以下教学内容:1. C语言基础:- 数据类型、变量与常量的概念与应用。

- 运算符与表达式的编写规则。

- 基本输入输出函数的使用。

2. 控制语句:- 条件语句(if、else if、else)的使用。

- 循环语句(for、while、do-while)的运用。

3. 函数与数组:- 自定义函数的定义与调用。

- 数组的声明、初始化和使用。

4. 体育数据分析实例:- 计算运动员的平均速度、距离和时间。

- 比较不同运动员的成绩,进行排名。

5. 项目实践:- 设计一个简单的体育数据分析系统,实现数据的输入、处理和输出。

- 团队合作,分工完成项目,进行成果展示和评价。

教学内容按照以下进度安排:- 第一周:C语言基础、数据类型、变量与常量。

- 第二周:运算符、表达式、基本输入输出。

- 第三周:控制语句(条件语句、循环语句)。

- 第四周:函数与数组。

- 第五周:体育数据分析实例及项目实践。

C语言程序设计课程设计报告

C语言程序设计课程设计报告

C语言程序设计课程设计实验报告一、设计名称:学生成绩治理查询系统实验项目性质:综合性所涉及课程:C语言程序设计打算学时:实验学时12二、设计目的:1.通过本课程设计,培育上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力,闯过编程关;2.为后续各门运算机课程的学习打下坚实基础。

3.明白得程序设计的思路,把握结构化程序设计的方式,综合利用C语言进行程序编写,巩固常常利用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培育。

提高编写程序解决实际问题的能力、调试程序的技术。

三、设计环境(软件、硬件及条件)1.硬件:PC机2.软件:Turbo C++四、设计说明:程序系统的结构:用一系列图表列出本程序系统内的每一个程序(包括每一个模块和子程序)的名称、标识符和它们之间的层次结构关系。

主程序:新建:输入记录(遇#号时停止输入)。

插入:在指定位置插入记录。

显示:列出所有记录。

查询:一、按学号查询;二、按名字排序。

删除:一、按学号删除;二、按名字删除;3、删除所有记录。

排序:一、按语文成绩排序;二、按英语成绩排序;3、按数学成绩排序。

保留:保留为任意名字,系统自动加后缀名为.txt。

读取:读取程序目录下的后缀名为.txt的文件。

退出:退出程序。

五、各功能模块的具体实现,用图表表示。

输入记录显示开始:输入学号输入的学号是否为#Y N 结束,返回主菜单输入记录循环输入结束开始p=hp!=NULL输出学生信息;p=p->next结束按学号(姓名)查询信息Y N读取文件六、各模块(函数)的功能介绍,数据结构设计描述,参数说明等。

STUDENT *init(); /*初始化链表*/STUDENT *create(); /*新建链表*/STUDENT *del_no(STUDENT *h);/*按学号删除信息*/STUDENT *del_name(STUDENT *h); /*按姓名删除信息*/void print(STUDENT *h); /*显示信息函数*/void search_no(STUDENT *h); /*按学号搜索*/void search_name(STUDENT *h); /*按姓名搜索*/STUDENT *insert(STUDENT *h); /*插入信息函数*/void sort(STUDENT *h);/* 排序函数*/void save(STUDENT *h);/*保留数据到文件*/void load(STUDENT *h); /*从文件读取数据*/int menu_main(); /*菜单函数*/void inputs(char *prompt,char *s,int count);/*输出信息*/七、程序代码:Enter records\n");printf(" 2. Add records\n");printf(" 3. List records\n");printf(" 4. Search records\n");printf(" 5. Delete records\n");printf(" 6. Sort records\n");printf(" 9. Quit\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~9):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>9); /*选择项不在1~9之间重输*/return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Search records on number\n");printf(" 2. Search records on name\n");printf(" 3. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~3):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>3);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Chinese\n");printf(" 2. English\n");printf(" 3. Math\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Delete records on number\n");printf(" 2. Delete records on name\n");printf(" 3. Delete all records\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}.");/*提示*/getch(); /*读入任意字符*/}.\n");getch(); /*读入任意字符*/if(p==h)h=p->next;elseq->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s); }printf("\nPress any key to continue..."); getch(); /*读入任意字符*/return h;}.\n");getch();if(p==h)h=p->next;else q->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s);}printf("\nPress any key to continue...");getch(); /*读入任意字符*/return h;}.");getch(); /*读入任意字符*/}.");getch(); /*读入任意字符*/}xt"};STUDENT *p;FILE *fp; /*指向文件的指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判定打开是不是正常*/ {printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;while(p!=NULL){if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1){printf("Error!\n");exit(1);} /*写入*/p=p->next;}fclose(fp); /*关闭文件*/printf("\n------OK------\n");printf("Press any key to continue...");getch(); /*读入任意字符*/}xt"};STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/*概念文件指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/{printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;a1=a2=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)){n++;if(n==1)h=a1;else a2->next=a1;a1=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);}a2->next=NULL;printf("\n------OK------\n");printf("Press any key to continue...");getch(p); /*读入任意字符*/}///////////////////////////////////////////void sort(STUDENT *h) /*排序函数*/{int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /*清屏*/printf("Enter you choice :\n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;q=h;while(t->score[--j]<p->score[--j]&&p!=NULL){q=p;p=p->next;}if(p==q){t->next=p;h=t;}else{t->next=p;q->next=t;}}p=h;while(p!=NULL){i++;p=p->next;}h=z;printf("------OK------\n");}//////////////////////////////////////////////////九、体会、总结本课程设计完成了设计一个学生成绩治理系统,学生的学习成绩进行治理,具有查询和检索功能,而且能够对指定文件操作。

c语言图书借阅管理系统课程设计

c语言图书借阅管理系统课程设计

c语言图书借阅管理系统课程设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程技巧,能够运用C语言设计并实现一个图书借阅管理系统。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本数据类型、运算符、控制结构、函数、数组和指针等概念和用法。

2.技能目标:学生能够运用C语言进行程序设计,具备解决实际问题的能力,包括设计系统架构、编写程序代码、调试程序等。

3.情感态度价值观目标:通过课程学习,培养学生对计算机科学的兴趣和热情,增强其创新意识和团队协作能力,使其认识到计算机技术在现代社会中的重要性和应用价值。

二、教学内容本课程的教学内容主要包括C语言的基本语法和编程技巧,以及图书借阅管理系统的具体实现。

具体安排如下:1.C语言基本语法:数据类型、运算符、控制结构、函数、数组和指针等。

2.编程技巧:变量定义与初始化、代码格式规范、注释的使用、模块化编程等。

3.图书借阅管理系统:系统架构设计、功能模块划分、数据结构设计、程序代码编写与调试等。

三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:用于讲解C语言的基本语法和编程技巧,以及图书借阅管理系统的相关概念。

2.案例分析法:通过分析实际案例,使学生更好地理解和掌握C语言编程方法和管理系统的设计思路。

3.实验法:安排实验课,让学生亲自动手编写代码和调试程序,提高其实际操作能力。

4.讨论法:学生进行小组讨论,分享学习心得和经验,培养团队协作能力。

四、教学资源为了支持课程教学,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。

2.参考书:提供相关的C语言编程指南和图书管理方面的资料,丰富学生的知识储备。

3.多媒体资料:制作课件、视频等多媒体资料,增强课堂教学的趣味性和生动性。

4.实验设备:提供计算机实验室,让学生能够进行实际操作和程序调试。

五、教学评估本课程的教学评估将采用多元化的评估方式,包括平时表现、作业、考试等,以全面、客观、公正地评价学生的学习成果。

C语言课程设计报告-学校运动会管理系统

C语言课程设计报告-学校运动会管理系统

C语言课程设计报告-学校运动会管理系统研究方案一、研究背景和意义学校运动会是中小学教育体育活动中的重要组成部分,通过开展运动会可以增强学生体质,培养团队合作精神,丰富校园文化。

而学校运动会管理系统作为一种信息化管理工具,能够提高运动会的组织效率和管理水平,有助于实现运动会的顺利进行。

然而目前的学校运动会管理系统存在一些问题,如功能不完善、操作过于复杂、数据统计不准确等。

本研究旨在针对这些问题,提出一种新的学校运动会管理系统,改善运动会管理工作,提高运动会的组织效率和管理水平。

二、研究目标和内容本研究的主要目标是设计和开发一种功能完善、易操作且准确统计数据的学校运动会管理系统。

具体内容包括:1. 分析当前学校运动会管理系统存在的问题和不足,明确改进方向。

2. 设计学校运动会管理系统的整体架构和功能模块,并选择合适的开发工具和技术。

3. 利用所选开发工具和技术进行系统的开发和实现。

4. 对开发完成的学校运动会管理系统进行实地调查和测试,收集相关数据。

5. 对采集到的数据进行整理和分析,总结系统的优缺点,并提出改进建议。

三、方案实施情况1. 针对学校运动会管理系统的问题和不足进行调研和分析,形成问题清单。

2. 根据问题清单,设计学校运动会管理系统的整体架构和功能模块。

3. 选择合适的开发工具和技术,准备开发所需要的环境和资源。

4. 利用所选开发工具和技术进行系统的开发和实现,包括数据库设计、界面设计、功能实现等。

5. 对开发完成的学校运动会管理系统进行实地调查和测试,收集用户的意见和建议。

6. 对收集到的数据进行整理和分析,评估系统的优缺点,并提出改进建议。

数据采集和分析为了对学校运动会管理系统进行评估和改进,我们进行了实地调查和数据采集。

具体步骤如下:1. 设计调查问卷,包括系统使用体验、功能满意度、操作便捷性等方面。

2. 针对学校运动会参与者和管理者,分别发放问卷,要求实名填写,并保证数据的保密性。

C语言课设设计报告(图书馆借阅管理系统)

C语言课设设计报告(图书馆借阅管理系统)
结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删 除,图书借出、图书归还。结构图如图所示。
图书馆管理系
信息 输入
信息 删除
图书 借出
图书 归还
4
三.软件详细设计
3.1 主函数
主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调 用。其中各功能模块用菜单方式选择。主函数流程图如图所示:
总体设计策略:本系统采用的是自顶向下、层次化的模块结构。对高 层模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小 的相对简单的模块。对低层模块,采用以变换为中心的设计策略。为了提 高每个模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一 功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调 用来实现(即非直接耦合)。
输入归还图书序号
是否有记录 显示记录 让用户输入信息:入库
提示没找到 返回菜单
系统 E-R 图
四.数据库设计
7
操作员
操作员 操作
操作员
操作员
1

1理
N用 户 m
借 阅 归
N
N
图书
借书 用户 用户
性 所在 所在
备 图书名
价 图书编


出版
8
五.系统编码丶测试
“图书馆借阅管理系统总控模块”的功能由 main 函数实现,根据“图
3
二、软件总体设计
总体设计目标:使用者可以利用本系统进行对图书馆借阅的各项运算 操作,如根据用户的需求自动的进行添加图书,删除图书,借书还书。查 找所要的图书,查阅图书的详细资料,查阅读者的详细资料。最后清晰完 整的结果于屏幕中。大大方便使用者对图书借阅的操作,不仅节省时间, 而且提高准确性,可以达到事半功倍的效果。

c语言课程设计实践报告

c语言课程设计实践报告

c语言课程设计实践报告一、教学目标本课程旨在通过C语言的学习,让学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立思考、解决问题的能力。

具体目标如下:1.理解C语言的基本语法和编程规则。

2.掌握常用的数据类型、运算符和表达式。

3.熟悉函数的定义和调用。

4.了解常用的数据结构和算法。

5.理解程序的设计思想和方法。

6.能够使用C语言编写简单的程序。

7.能够阅读和理解C语言程序。

8.能够使用C语言进行基本的算法实现。

9.能够使用C语言进行简单的项目开发。

情感态度价值观目标:1.培养学生的编程兴趣,提高学生的自主学习能力。

2.培养学生解决问题的能力,增强学生的自信心。

3.培养学生团队合作的精神,提高学生的沟通表达能力。

二、教学内容根据课程目标,教学内容主要包括以下几个方面:1.C语言的基本语法和编程规则。

2.常用的数据类型、运算符和表达式。

3.函数的定义和调用。

4.常用的数据结构和算法。

5.程序的设计思想和方法。

具体的教学大纲如下:第一周:C语言的基本语法和编程规则。

第二周:常用的数据类型、运算符和表达式。

第三周:函数的定义和调用。

第四周:常用的数据结构和算法。

第五周:程序的设计思想和方法。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括:1.讲授法:通过讲解C语言的基本语法、数据结构、算法和编程思想,使学生掌握相关知识。

2.案例分析法:通过分析实际案例,使学生了解C语言在实际项目中的应用。

3.实验法:通过上机实验,让学生亲手编写C语言程序,加深对知识的理解和运用。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C语言程序设计》。

2.参考书:《C语言编程思想》。

3.多媒体资料:C语言编程教程视频。

4.实验设备:计算机实验室。

五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用多种评估方式,包括:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生的学习态度和积极性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计》课程设计报告题目:体育器材借还信息管理系统专业:数学与应用数学学号:1009401—09姓名:指导教师:成绩:———二零一一年六月十日课程设计报告——体育器材借还信息管理系统1、研究背景及意义由于现今的大学里体育器材借还信息管理非常常见,管理人员付出很多的工作时间,得到的效率很低。

因此为提高工作效率,为了减轻学校对体育器材借还信息进行登记,查找,等繁杂的工作,进而设计出一个功能完善、合理、先进的体育器材借还信息管理系统来管理。

开发此体育器材借还信息管理系统软件,以供管理人员及操作者对学校公共体育器材进行轻松的管理,方便操作者随时添加、查询、修改体育器材借还信息。

2、问题描述和功能要求问题描叙对体育器材借还信息进行管理,主要包含的信息为:班级、器材名称、数量、编号。

此主要系统包含下列功能:对体育器材借还信息的插入、查询、修改、删除、显示、退出。

系统功能1)、每一条记录包括一个班级、体育器材名称、数量、编号。

2)、插入功能:插入一个班级的信息。

3)、查找功能:按班级号查找体育器材借还信息,并显示。

4)、修改功能:能将以前输入并保存的数据进行修改。

5)、删除功能:删除体育器次借还的信息;6)、显示功能:完成全部体育器材借还记录的显示。

7)、退出功能:记录完毕退出系统。

8)、有一个清晰美观界面来调用各个功能功能模块分工:组长:何春辉何春辉负责:插入功能、显示功能、退出功能、查找功能。

王孟然负责:删除功能、修改功能、文件的读写功能与储存功能。

3、课程设计报告内容3.1体育器材借还信息管理系统的理论依据1、建立一个结构体数组对象class,用于存储体育器材借还信息。

2、建立相应的系统操作函数如下:1)、插入班级体育器材借还的信息函数:Insert(class,s);2)、根据班级号查找体育器材借还信息的函数:Search(class,s);3)、修改体育器材借还的信息函数:Update(class,s);4)、删除班级体育器材借还的信息函数:Delete(class,s);5)、显示所有班级体育器材借还的信息函数:Show(classs,s);6)、从文件中读入数据函数:Read(class_info,s);7)、将所有记录写入文件函数:Save(class_info,s);8)、退出管理系统函数:Exit(0);9)、写main()函数,由用户输入一个参数i,根据i的值来选择要进行的操作。

3.2算法流程图:3.3源程序代码:#include"stdlib.h"#include "string.h"#include "stdio.h"#define MaxSize 50#include"malloc.h"typedef struct class_info{int s ; //行政班级char name[50]; //器材名称int sum; //器材数量double telephone; //联系电话int number; //编号struct class_info *next;} ClassLink, *Pointer;void Insert(Pointer *Head);void Search(Pointer Head);void Update(Pointer Head);void Delete(Pointer *Heaad);void Show(Pointer Head);void File(Pointer &Head);void Exit(Pointer Head);int main(){Pointer Head=NULL; //定义表头指针int i;do //显示一个简易菜单{ printf("\n");printf("1----插入(Insert)\n");printf("2----查询(Search)\n");printf("3----修改(Update)\n");printf("4----删除(Delete)\n");printf("5----显示(Show)\n");printf("6----文件读入(File)\n");printf("0----退出(Exit)\n");scanf("%d",&i); //接收用户的选择switch(i) //调用对应的函数{ case 1:Insert( & Head);break;case 2:Search( Head);break;case 3:Update( Head);break;case 4:Delete( & Head);break;case 5:Show( Head);break;case 0: break;default:printf("错误选择!请重选");break;}}while(i!=0);return 0;}void Insert(Pointer *Head) //插入函数的定义{ int in_number;Pointer p,q,r; //说明变量printf("请输入编号:");scanf("%d",&in_number);p=q= *Head; //查找符合条件的记录while(p!=NULL){if(p->number==in_number) //找到相同的编号{printf("已经有相同的编号:");return;}else{ q=p;p=p->next;} //走链}r=(Pointer)malloc(sizeof(ClassLink)); //申请空间r->next=NULL; //设置指针域if(r==NULL){ printf("分配空间失败!");return;}if(q==NULL) //原表为空表* Head=r; //新结点作为头元素else{q->next=r; //在表尾插入元素}r->number=in_number; //接收插入数据printf("请输入行政班级:");scanf("%d",&r->s);printf("请输入器材名称:");scanf("%s",r->name);printf("请输入器材数量:");scanf("%d",&r->sum);printf("请输入联系电话:");scanf("%lf",&r->telephone);}void Search(Pointer Head) //查找函数的定义{ int flag=1; //设定标记变量的初值int number;Pointer p;printf("请输入要查询的编号:");scanf("%d",&number);p=Head; //查找符合条件的记录while(p!=NULL&&flag){if(p->number==number){printf("行政班级:%d\n",p->s);printf("器材名称:%s\n",p->name);printf("器材数量:%d\n",p->sum);printf("联系电话:%11.0lf\n",p->telephone);flag=0; //找到标记变量设为0 }elsep=p->next; //指针走到下一个结点}if(flag)printf("没有查询到!!");}void Update(Pointer Head) //修改函数的定义{ int flag=1; //设定标记变量的初值int number;Pointer p;printf("请输入要修改的编号:");scanf("%d",&number);p=Head; //查找符合条件的记录while(p!=NULL&&flag){ if(p->number==number){printf("请输入器材名称:");scanf("%s",p->name);printf("请输入器材数量:");scanf("%d",&p->sum);flag=0;}elsep=p->next; //指针走到下一个结点}if(flag)printf("没有找到要修改的记录!!");}void Delete(Pointer *Head) //删除函数的定义{ int flag=1; //设定标记变量的初值int number;Pointer p,q;printf("请输入要删除数据的编号:");scanf("%d",&number);p=q= *Head; //查找符合条件的记录while(p!=NULL&&flag){ if(p->number==number){if(p== *Head) //删除的是表头元素{ * Head=p->next;free(p);}else{ q->next=p->next;free(p);} //删除普通元素flag=0;}else //指针走到下一个结点{ q=p;p=p->next;} //q所指结点为p所指结点的前驱}if(flag)printf("没有找到可以删除的数据!!");}void Show(Pointer Head){ Pointer p;p=Head;int number;printf("输入要显示的编号:");scanf("%d",&number);while(p!=NULL){ printf("行政班级:%d\n",p->s);printf("器材名称:%s\n",p->name);printf("器材数量:%d\n",p->sum);printf("联系电话:%11.0lf\n",p->telephone);p=p->next;}}3.4调试时源程序中出现的错误:1、出现了一些语法错误:定义变量类型出现错误;2、出现了一些逻辑错误:while(i!=6)被写成了while(i=6);3、运行出现了错误:scanf函数中变量没有用&;4、使用指针时,忘了定义指针的指向;5、printf函数中变量的输出类型和定义类型不一致,导致输出结果出错;6、在switch语句中break的使用位置不正确;7、函数的引用和定义不相符;8、字母在输入时出现大小写混淆;9、语句结尾出忘记了加分号;10、定义结构体时,数据类型不相符;11、流程图制作忘记了用箭头符号12、多出忘记了加双引号;13、标记变量忘了赋初值;14、使用单链表时没有定义表头指针等等;3.5运行结果窗口:1、菜单选项窗口:2、插入窗口:3、查询窗口:4、修改窗口:5、删除窗口:6、显示窗口:7、退出窗口:总结:开始接到这个作业时觉得有点惊讶,因为学了一个学期的《C语言程序设计》我是连简单的错误都改不好,更别提是要自己动手去做什么课程设计了。

相关文档
最新文档