C语言课程设计——教材管理系统
- 格式:doc
- 大小:161.00 KB
- 文档页数:17
c语言课课程设计详细设计一、教学目标本课程旨在通过学习C语言编程,让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编程思维和解决问题的能力。
通过本课程的学习,学生应达到以下目标:1.知识目标:–理解C语言的基本语法和编程规范;–掌握C语言的数据类型、运算符和控制结构;–学会使用C语言进行函数的定义和调用;–了解C语言的数组、字符串和指针等高级概念。
2.技能目标:–能够运用C语言编写简单的程序,解决实际问题;–具备阅读和理解C语言程序的能力;–掌握C语言的调试和优化技巧;–能够运用编程思维解决问题。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣和热情;–培养学生的创新精神和团队合作意识;–培养学生良好的编程习惯和职业道德。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法和编程规范;2.数据类型、运算符和控制结构;3.函数的定义和调用;4.数组、字符串和指针等高级概念。
具体的教学大纲如下:第1-2周:C语言的基本语法和编程规范;第3-4周:数据类型、运算符和控制结构;第5-6周:函数的定义和调用;第7-8周:数组、字符串和指针等高级概念。
三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括:1.讲授法:通过讲解和示例,让学生掌握C语言的基本知识和编程技巧;2.讨论法:通过小组讨论和问题解答,培养学生的编程思维和解决问题的能力;3.案例分析法:通过分析实际案例,让学生了解C语言在实际应用中的重要性;4.实验法:通过上机实验,让学生动手编写C语言程序,提高编程能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R);2.参考书:《C Primer Plus》、《C和指针》;3.多媒体资料:教学PPT、视频教程、在线编程练习;4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)。
HUNAN UNIVERSITY C语言程序训练报告【设计目的】图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等。
图书信息管理系统,使之能提供以下功能:1)系统以菜单方式工作2)读者注册功能3)读者登录功能4)读者借书还书功能5)查询读者借阅记录6)查询在管图书信息功能7)修改密码功能8)管理员登录功能9)增加、修改、删除图书功能10)查看图书信息功能【设计思路】根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。
【总体设计】【详细设计】1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用源代码为//rkou。
c 程序的入口#include<stdio。
h>#include〈stdlib.h〉#include〈string。
h>#include<conio.h〉#include"head.h”#include”fuc.h"#include”picture。
h"#include”jiangzhuo1.h"#include”output。
h"main(){ int i=setup();switch (i){ case 0: while(n<50){ conects(n);}default:eros(i);}system("pause”);}2.程序中全局变量声明定义,以及所有函数声明源代码为struct book //图书结构体声明{ char name[50],classic[10],writer[20]; //书名,类别,作者int jn; //借出数量int zn; //在馆数量int bh; //图书编号};struct information //管理员和读者结构体声明{char name[10],no[12],key[10]; //姓名,账号,密码};struct show //图书借阅记录的结构体声明{char name1[10],name2[50],writer[20],no[12]; //书名,读者姓名,书的作者,读者账号int bh,o; //图书编号,借阅状况(未还,已还)};//以下为用到的全局变量struct book bk;struct information aa,rr;struct information stu[100];struct book bb[100];struct information ad[100];struct show ss[100];int i,j,k,s;int n=0;int x;FILE *fp;//以下函数主要功能:方便窗口与用户之间交换信息int regst();void password(char *a,int b,int j);//登陆时的输入函数void examine(int *a,int b); //保证键入的数据是数字void changepaw(int a,int b); //修改密码用到的提示函数void inputs0(); //输出图书类别以供用户选择void inputs1(int a,int b,int c,int d,int e); //方便用户输入图书各项信息(如书名,编号)void inputs2(int a,int b,int c); //方便用户输入管理员的信息(如账号姓名)void inputs3(int a,int b,int c);//方便用户输入读者的信息(如账号姓名)void eros(int i); //错误显示函数,操作一旦出错,则会出现相应的错误信息void conects(int j); //连接函数,选择界面//一下函数主要用于改变文件的内容并保存int setup(); //数据初始化函数int xzc(char no[12],char key1[10],char key2[10],char name[10]);//读者注册函数int exam(char no[10],char key[10],int n);//密码账号检验函数int mp(char no[12],char key1[10],char key2[10],char key3[10],int n); //密码修改函数void paixu(); //对图书按照编号从小到大的顺序进行排列int sc(int bh); //管理员删除图书信息函数int zj(struct book bb); //管理员增加图书信息函数int xg(struct book bb);//管理员修改图书信息函数int js(int bh,char no[12]); //借书函数int hs(int bh,char no[12]); //还书函数int bh1(int bh); //判断该编号的图书信息是否存在函数void bh2(int bh); //按照图书编号显示图书信息函数int sm1(char name[50]);//判断是否存在该名字的图书信息函数void sm2(char name[50]); //按照图书名字显示图书信息函数int zz1(char writer[20]); //判断是否存在该作者的图书信息函数void zz2(char writer[20]);//按照图书作者显示图书信息函数void lb(char classic[10]); //按类别显示图书信息int rck1(int bh);//判断该编号的图书的借书记录是否存在void rck2(int bh);//按编号显示图书借书情况int gck21(char no[12]);//判断该账号读者的借书记录是否存在void gck22(char no[12]); //按读者显示借书情况2void gck12(); //显示全部借书情况void gck23();//管理员查看所有书的信息void copy(int bh); // 按编图书编号将图书信息暂时保存在另外一个结构体里面void copy2(char no[12]); //按管理员账号将管理员信息暂时保存在另外一个结构体里面void copy3(char no[12]);//按读者账号将读者信息暂时保存在另外一个结构体里面//pic()函数:每个函数表示一个界面,conects函数将它们连接起来void pic0();void pic1();void pic2();void pic3();void pic4();void pic5();void pic6();void pic7();void pic8();void pic9();void pic10();void pic11();void pic12();void pic13();void pic14();void pic15();void pic16();void pic17();void pic18();void pic19();void pic20();void pic21();void pic22();void pic23();void pic24();void pic25();void pic26();void pic27();void pic29();void pic30();void pic31();void pic32();void pic33();void pic34();void pic35();void pic36();void pic37();void pic38();void pic39();void pic40();void pic41();void pic42();void pic43();void pic44();void pic45();void pic46();void pic47();void picc();3.用户输入以及界面反馈用到的功能函数源代码为int regst(){char num[12],paw1[10],paw2[10],name[10];int i;printf(”请输入账号\n(11字符以内,不能含有中文字符):\n”);password(num,0,11);printf(”输入您的密码\n(9字符以内,不能含有中文字符):\n");password(paw1,1,9);printf("请再次输入密码:\n”);password(paw2,1,9);printf("输入您的姓名:\n");gets(name);system("cls”);i=xzc(num,paw1,paw2,name);return i;}void password(char *a,int b,int j){ char c;int i=0;while((c=getch())!=’\r’){if(c==8){ printf(”\b \b”);if(i〉0)i-—;}else if(i<j){if(b)printf("*”);else printf("%c",c);a[i]=c;i++;}if(i==j){ printf("\a");}}a[i]='\0';printf("\n");}void examine(int *a,int b){ while(!scanf(”%d",a)){ while(getchar()!='\n’);printf("请输入数字!!\n");}rewind(stdin);if(b) system("cls”);}void changepaw(int a,int b){ int i;char c1[10],c2[10],c3[10];printf("请输入原密码\n”);password(c1,1,9);printf("请输入新密码\n");password(c2,1,9);printf(”请再次输入新密码\n”);password(c3,1,9);system("cls”);if(b){i=mp(aa。
C程序设计课程设计题目:学生选课系统专业班级:通信工程1班姓名:学号:指导教师:成绩:摘要学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。
利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。
目录一、需求分析 (1)二、总体设计 (1)三、详细设计 (2)1、数据定义......................................................... 错误!未定义书签。
2、算法流程图 (2)四、编码 (6)五、调试 (7)六、设计总结 (10)致谢 (11)参考文献 (12)附录 (13)一、需求分析语言文字描述系统要做什么数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。
选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。
二、总体设计系统由哪几个功能模块构成,给出功能模块图。
C中模块化的工具是函数根据上面的需求分析,可以将这个系统的设计分为如下七大模块:选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。
三、详细设计1.数据定义2,算法流程图(1)录入课程信息表(2)课程管理(3)录入课程信息(4)学生信息管理(5)学生选课(6)系统信息及查看系统(7)退出系统四、编码1.struct couse * head1;结构2.void keyboardc()//录入课程子函数(从键盘录入)3.void filec()//录入键盘子函数(从文件录入)4.void inputc()//录入课程主函数5.void insertc(struct couse *incouse)//课程管理子函数(增加课程)6.void delc(int num1)//课程管理子函数(删除课程)7.void elect(struct student * s)//选课8.void cheak()//学生选课子函数(查询可选课程)9.void back(struct student * p)//退课10.void hcheak()//学生选课子函数(查询已选课程)11.void elective()//学生选课主函数12.void listc()//输出课程信息13.void lists()//输出学生信息14.void intoc()//存储课程信息15.void intos()//存储学生信息16.void into()//存储信息17.void store()//信息主函数18.int main()//主函数五、测试1.主菜单2.录入课程信息3,从文件输入4,学生选课菜单5,学生信息管理6,管理员输入课程信息界面:六、设计总结问题一:无法读取文txt文件。
c语言课程设计影院管理系统一、教学目标本课程的目标是让学生掌握C语言编程基础,能够运用C语言设计并实现一个简单的影院管理系统。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。
–理解函数的定义和调用。
–了解面向过程的编程思想。
2.技能目标:–能够使用C语言编写简单的程序。
–能够运用函数封装和模块化编程。
–能够设计和实现一个简单的影院管理系统。
3.情感态度价值观目标:–培养学生的编程兴趣和自信心。
–培养学生的问题解决能力和创新思维。
–培养学生的团队合作和沟通能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及面向过程的编程思想。
具体安排如下:1.C语言的基本语法:–变量和常量的声明和使用。
–运算符和表达式的使用。
–控制语句的运用。
2.数据结构:–数组的声明和操作。
–链表的创建和操作。
–栈和队列的应用。
3.函数的定义和调用:–函数的声明和定义。
–函数的参数传递和返回值。
–函数的调用和调用栈。
4.面向过程的编程思想:–模块化编程和函数封装。
–程序的流程控制和错误处理。
–面向过程的编程实践。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:教师通过讲解和示例来传授知识,引导学生理解和掌握C语言的基本语法和数据结构。
2.讨论法:学生通过小组讨论和分享,互相学习和交流,培养团队合作和沟通能力。
3.案例分析法:教师通过分析真实的影院管理系统的案例,引导学生运用C语言编程解决实际问题。
4.实验法:学生通过编写和运行C语言程序,实践和巩固所学的知识,培养问题解决能力和创新思维。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:《C语言程序设计》或《C语言入门教程》。
2.参考书:《C Primer Plus》或《C和指针》。
3.多媒体资料:教学PPT、视频教程、编程案例和示例代码。
c语言课程设计报名管理系统一、教学目标本课程的教学目标是使学生掌握C语言课程设计的基本知识和技能,能够运用C语言设计一个简单的报名管理系统。
具体包括以下三个方面的目标:1.知识目标:学生需要了解C语言的基本语法和数据结构,掌握函数的定义和调用,理解面向过程的编程思想。
2.技能目标:学生能够熟练使用C语言进行编程,具备解决实际问题的能力,能够独立设计并实现一个简单的报名管理系统。
3.情感态度价值观目标:学生通过完成课程设计,培养对计算机科学的兴趣和热情,增强自主学习的能力,培养团队合作和解决问题的精神。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及面向过程的编程思想。
具体包括以下几个部分:1.C语言的基本语法:变量、常量、运算符、表达式、语句等。
2.数据结构:整数、浮点数、字符、数组、指针等。
3.函数的定义和调用:用户定义函数、标准库函数、函数的参数传递、返回值等。
4.面向过程的编程思想:顺序结构、选择结构、循环结构等。
5.报名管理系统的设计:需求分析、功能模块设计、程序实现等。
三、教学方法本课程的教学方法采用讲授法、讨论法、案例分析法和实验法相结合的方式,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本语法、数据结构、函数的定义和调用等知识,使学生掌握课程的基本概念和原理。
2.讨论法:通过分组讨论、问题解答等方式,引导学生主动思考和探索,培养学生的解决问题的能力。
3.案例分析法:通过分析报名管理系统的案例,使学生理解课程设计的方法和步骤,提高学生的实际操作能力。
4.实验法:通过上机实验,让学生动手编写代码,巩固所学知识,培养学生的实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用《C语言程序设计》等相关教材,作为学生学习的基本资料。
2.参考书:提供《C语言编程思想》、《C语言实战》等参考书,供学生深入学习。
程序设计c语言课程设计一、教学目标本课程的教学目标是使学生掌握C语言程序设计的基本概念、语法和编程技巧,培养学生运用C语言解决实际问题的能力。
具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等概念。
2.技能目标:学生能够熟练使用C语言编写程序,解决简单的数学计算、数据处理和排序等问题。
3.情感态度价值观目标:培养学生对编程语言的兴趣,增强其自主学习和解决问题的能力,使其认识到程序设计在现代社会的重要性。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等。
具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点和基本语法。
2.第二章:数据类型和运算符,讲解整型、浮点型、字符型数据以及各类运算符的用法。
3.第三章:控制结构,学习顺序结构、分支结构和循环结构的使用。
4.第四章:函数,讲解函数的定义、声明和调用,以及常用的库函数。
5.第五章:数组和指针,学习一维、二维数组的操作以及指针的基本用法。
6.第六章:字符串和文件操作,了解字符串的表示方式、文件的基本操作。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式:1.讲授法:教师通过讲解、举例等方式,向学生传授C语言的基本概念和编程技巧。
2.案例分析法:教师通过分析实际案例,引导学生运用C语言解决具体问题。
3.实验法:学生动手编写程序,巩固所学知识,培养实际编程能力。
4.讨论法:学生分组讨论,共同解决问题,提高沟通和合作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言入门教程》3.多媒体资料:教学PPT、视频教程、在线编程练习平台4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。
c语言完整课程设计一、教学目标本课程旨在通过学习C语言的基础知识,使学生能够理解并掌握C语言的基本语法、数据类型、运算符、控制结构、函数等核心概念;培养学生运用C语言进行程序设计的能力,能够编写解决实际问题的简单程序;并通过编程实践,培养学生的逻辑思维能力、创新能力和团队合作意识。
具体来说,知识目标包括:1.掌握C语言的基本语法和规则。
2.理解数据类型、变量和运算符的概念及使用方法。
3.熟悉控制结构,能够运用条件语句和循环语句编写程序。
4.掌握函数的定义和调用,了解作用域规则。
技能目标包括:1.能够使用C语言编写简单的程序,解决实际问题。
2.具备基本的编程能力和调试能力。
3.能够运用C语言进行基本的算法设计和实现。
情感态度价值观目标包括:1.培养学生的自主学习能力,鼓励他们积极探索和解决问题。
2.培养学生的团队合作意识,提高他们在团队中的沟通协作能力。
3.培养学生对编程的兴趣和热情,激发他们继续深入学习计算机科学的动力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等核心概念,以及简单的编程实践。
具体安排如下:1.第一章:C语言概述,学习C语言的基本概念和环境配置。
2.第二章:数据类型和变量,介绍基本数据类型、变量定义和使用。
3.第三章:运算符和表达式,讲解各种运算符的用法和表达式的计算。
4.第四章:控制结构,学习条件语句和循环语句的编写和使用。
5.第五章:函数,讲解函数的定义、声明和调用,以及作用域规则。
6.第六章:编程实践,通过实际项目案例,运用所学知识解决实际问题。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。
1.讲授法:教师讲解C语言的基本概念、语法规则和编程技巧,系统地传授知识。
2.案例分析法:通过分析典型实例,让学生了解并掌握C语言在实际问题中的应用。
3.实验法:安排编程实验,让学生亲自动手编写代码,培养实际编程能力。
实训课程设计报告题目:图书信息管理系统学院:信息学院系别:电子系年级:2012级专业:电子信息科学与技术组长:**组员:******指导老师:***2014年1月1日目录摘要 ................................................................................................- 3 -题目简介 ........................................................................................- 2 -小组分工情况: ............................................................................- 2 -需求分析 ........................................................................................- 3 -1. 编写目的..............................................................................- 3 -2. 项目实施背景 .....................................................................- 3 -3.业务流程图 ........................................................................- 4 -4.数据流程图 ........................................................................- 5 -5. 系统运行环境 .....................................................................- 5 -系统详细设计说明 ........................................................................- 6 -1总体简述................................................................................- 6 -2总体设计构想 .......................................................................- 6 -3程序流程图 ...........................................................................- 7 -4编码实现过程 .......................................................................- 8 -测试报告 ..................................................................................... - 15 -个人实训总结报告 ..................................................................... - 22 -个人实训总结报告——** ................................................... - 22 -个人实训总结报告——*** ................................................. - 23 -个人实训总结报告——*** ................................................. - 23 -编程总结 ..................................................................................... - 24 -附:源代码 ............................................................................... - 25 -摘要图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。
课程设计任务书题目:教师信息管理系统一、课程设计时间共计1周,20学时。
二、课程设计内容用C语言编写具有以下功能的程序:1 录入教师信息,并将信息保存在teachers.txt文件中。
2 教师信息的浏览功能(输出)。
3 教师信息的查询功能,应分别能够按照工资和学历查询。
4 教师信息包括教师号、姓名、性别、年龄、学历、工资、电话等(教师号不重复)。
三、课程设计要求1. 程序质量:✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“输入教师信息”、“显示教师信息”、“查询信息”、“退出”4项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、说明书成绩六、教师评语目录一、需求分析 ................................... 错误!未定义书签。
二、程序流程图 ............................... 错误!未定义书签。
三、核心技术的实现说明及相应程序段错误!未定义书签。
四、课设总结 ................................... 错误!未定义书签。
五、参考文献 ................................... 错误!未定义书签。
六、源程序 ....................................... 错误!未定义书签。
一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为七个模块,每一个模块对应一个函数。
在这些函数当中,添加教师数据函数,显示教师数据函数,查询教师信息函数的实现严格按照题目的要求。
读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。
沈 阳 航 空 航 天 大 学 课程设计
学 号 __*************_ 班 级 ___94070202_____ 姓 名 ___ 于 涛__ __ 指导教师 __ 徐 晗______
2010年 10 月 08 日 沈阳航空航天大学设计用纸
I 目录 一、需求分析 ...................................................... 1 二、设计分析 ...................................................... 2 三、主要界面截图 .............................................. 7 四、技术要点 ...................................................... 8 五、个人总结 ...................................................... 10 六、参考文献 ...................................................... 11 七、源程序 .......................................................... 11 沈阳航空航天大学设计用纸
1 一、需求分析 经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:录入新教材信息,添加已有教材,查找教材信息,保存教材函数。在这些函数当中,前三个函数的实现严格按照题目的要求,而最后一个函数用来将修改的函数保存在book.txt中。 1. 稳定性分析 指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。 2. 主要功能分析 (1)录入教材信息:允许用户输入教材名称、作者、出版社、教材册数、编号、售价。 (2)查询教材: 允许按照编号和书名对教材的各项信息进行查询; (3)添加已有教材: 通过添加已有教材的同时对教沈阳航空航天大学设计用纸
2 材信息的更改; (4)保存教材函数 将执行插入教材信息存入book.txt中。 除上面介绍的功能之外,程序还具有退出功能,可以在输入修改信息之后实现选择退出。 每一本教材记录都包含编号、作者、出版社、售价、书名和数量,在程序当中,将教材记录类型定义为结构体类型,添加以及追加的教材信息直接写入book.txt文件中,其他函数每次对教材记录的访问,其数据来源都是book.txt文件,这样做不但可以保证教材数据的一致性,而且可以对教材数据进行保存,保证每次运行程序都可以采用原来的数据。
二、设计分析 主要有5个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下: 1、 教材录入函数说明 这个函数用static声明局部变量,使函数调用结束后不消沈阳航空航天大学设计用纸
3 失而保留原值。用只写的方式打开一个文件夹(book.txt)把数据项写入指定文件(book.txt)中。关闭文件。 2、教材查询的函数 该函数的核心内容是switch函数的使用、for函数的嵌套使用与strcmp比较字符串函数的使用。 3、已有教材添加函数 该函数的核心内容是if函数嵌套和for函数的使用以及strcmp比较字符串函数的使用 4、教材信息保存函数 这个函数先建立一个文件并把具体的信息存入文件中 1、程序总体结构图 程序结构总图 设置界面函数
新教材信息的录入 教材信息的保存 教材信息的查询 教材信息
的更改 沈阳航空航天大学设计用纸
4 2、具体功能框图 (1)录入新教材信息函数 沈阳航空航天大学设计用纸
5 (2)查询教材信息 沈阳航空航天大学设计用纸
6 (3)添加已有教材信息 (4)保存教材信息函数 沈阳航空航天大学设计用纸
7 三、主要界面截图 图1 程序主界面 图2 录入界面 图3 查询界面 沈阳航空航天大学设计用纸
8 四、技术要点
(对本程序贡献较大的C语言知识点;重要算法的设计与实现) 1、结构体的应用 定义了结构体用来描述教材的名称、作者、出版社、编号、册数和售价,具体的定义如下: #define B 1000 typedef struct Book { char num[20]; char name[20]; char author[20]; char press[20]; int count; float shoujia; }book[B]; struct Book books[B];
所定义的结构体主要用于定义数组。
2、文件操作 包括了文件的写入、读取和保存三个方面。例如如下程序段用于保存教材信息: void save() { int i = 0; FILE *fp; fp = fopen("e:\\book.txt", "wr"); while(books[i].count > 0) 沈阳航空航天大学设计用纸 9 { fprintf(fp, "教材名称:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%f\n", books[i].name, books[i].author,books[i].press,books[i].count,books[i].num,books[i].shoujia); i++; } fclose(fp); }
3、关于查询函数
实现从系统中查询某教材的相关信息的查询函数稍微复杂一些,需要先进行选择是通过名称查询还是编号查询。如下是通过教材名称查询的函数: void chaxun() /*教材查询*/ { FILE *fp; int i,flag=0; int a; char x[32]; char y[32]; if((fp=fopen("e:\\book.txt","r"))==NULL) { printf("此文件无法打开!\n"); return; } printf("请选择查询方式:1.教材名 2.编号\n"); scanf("%d",&a); switch(a) { case 1: printf("输入教材名:\n");scanf("%s",x); for(i=0;i<1000;i++) if (strcmp(books[i].name,x)==0) /*比较输入名与存储名的字符串大小*/ {printf("教材名:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售沈阳航空航天大学设计用纸 10 价:%f\n",books[i].name,books[i].author,books[i].press,books[i].count,books[i].num,books[i].shoujia); flag=1; } if(flag==0) printf("此教材不存在\n"); break;
五、个人总结
C语言是一门既有趣又非常有用的课程,说难也不难,但是也不简单,只要会很好的应用,便会觉得编程过程也并不感觉枯燥,当程序编完且运行成功之后,便觉得非常有成就感,虽然有时也会被一时解决不了的问题弄的焦头烂额,但在解决的过程中逐渐的、更深的掌握这门课程的知识,所以,这一周的C语言课程设计实习的收获是非常的大的,甚至还有一点觉得实习的时间有点短。通过这次c语言课程设计,我对C语言的知识进行了比较全面的学习,了解到C语言的简单编程的实际应用。 我的程序基本功能符合题目要求,但也并不是太完美。例如在输入教材册数的时候如果输入的不是数字的话,不会有提示。我始终没有想到解决的办法…… 通过此次课程设计,我熟悉了函数的调用,指针的应沈阳航空航天大学设计用纸 11 用,数组的运用。程序可以实现题目所要求各项,知道了实践并真正上机操作的意义。
六、参考文献 1 谭浩强.C程序设计.北京:清华大学出版社,2009 七、源程序 #include #include #include #define B 1000 typedef struct Book /*定义教材结构体*/ { char num[20]; char name[20]; char author[20]; char press[20]; int count; float shoujia; }book[B]; struct Book books[B]; void luru() /*录入教材信息*/ { static int i = 0; printf("\n请输入教材名称:"); scanf("%s", books[i].name); printf("请输入作者:"); scanf("%s", books[i].author); printf("请输入出版社:"); scanf("%s", books[i].press); printf("请输入教材册数:");