搜档网
当前位置:搜档网 › C语言图书管理系统实验报告完整版

C语言图书管理系统实验报告完整版

C语言图书管理系统实验报告完整版
C语言图书管理系统实验报告完整版

C语言图书管理系统实

验报告

HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

课程报告课程名称:程序设计实践

专业班级:信息类1110 学生姓名:

学号:

任课教师:

学期:20101-2012学年第二学期

课程报告任务书

成绩评定教师:

1 需求分析

这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。通过这些信息使之提供以下功能:

(1)图书信息创建功能。其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。(图书信息用文件保存)。

(2)图书信息查看功能。用来查看各项图书信息。

(3)图书信息查找功能。通过已知信息来查找想要的图书。

(4)图书信息的删除。可以删除特定图书。

(5)图书信息的修改。可以修改图书的各项信息。

(6)图书信息的排序功能。按图书信息对录入的图书进行排序。

(7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能

2 概要设计

⑴数据结构

图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。

菜单

函数的原型:void menu()

函数的功能:调用菜单,使用各项功能 程序: void menu(){

printf("\n\n*******************************<图书信息管理系

统>*******************************\n");

printf("-------------------------------------主菜单-----------------

-------------------- \n");

printf("\t\t\t <1;创建图书信息 > \n");

printf("\t\t\t <2;查找图书信息 > \n");

printf("\t\t\t <3;删除图书信息 > \n");

printf("\t\t\t <4;修改图书信息 > \n");

printf("\t\t\t <5;显示图书信息 > \n");

printf("\t\t\t <6;按出版时间排序> \n");

printf("\t\t\t <0;退出 > \n");

printf("------------------------------------------------------

-------------------------- \n");

}

2.新建文件

函数的原型:int ReadinfoFromFile()

函数的功能:建立文件储存数据

程序

int ReadinfoFromFile() f",&p->price);

fscanf(fp,"%d",&p->type);

if(p->type==1)

{

if(head==NULL){

head=p;

p->next=NULL;

}

else{

p->next=head;

head=p;

}

}

else{

if(head_==NULL){

head_=p;

p->next=NULL;

}

else{

p->next=head_;

head_=p;

}

}

}

fclose(fp);

return 0;

}

3.创建图书信息

函数的原型:int chuangjian()

函数的功能:记录图书的各项信息

程序:

int chuangjian() 找图书信息

函数的原型:void chazhao()

函数的功能:通过书名查找、作者查找、组合查找三种方式查找图书信息。程序:

void chazhao() n按作者名查找请按2.\n按组合查询请按3.\n"); scanf("%d",&i);

if(i==1)

{

printf("请输入要查找的书名:");

scanf("%s",name);

for(p=head;p!=NULL;p=p->next) f\n",p->price);

}

}

if(head==NULL) printf("<查无此书>\n");

if(b) printf("<查找的图书信息不存在!>\n"); f\n",p->price);

}

}

if(head==NULL) printf("<查无此书>\n");

if(b) printf("<查找的图书信息不存在!>\n"); f\n",p->price);

}

}

if(head==NULL) printf("查无此书\n");

if(b) printf("<查找的图书信息不存在!>\n"); 除图书信息

函数的原型:void shanchu()

函数的功能:通过书名确定图书,进而删除该书

程序:

void shanchu() n");

system("PAUSE");

}

6.修改图书信息

函数的原型:void xiugai()

函数的功能:通过书名确定图书,进而修改该书的各项信息

程序:

void xiugai() f\n",p->price);

printf("<是否确定修改? 0 (是)or 1(否)>\n");

scanf("%d",&a);

if(a==0){

printf("**********请重新输入信息*********\n");

printf("请输入书名:");

scanf("%s",p->name);

printf("请输入作者名:");

scanf("%s",p->writer);

printf("请输入书号:");

scanf("%s",p->shuhao);

printf("请输入分类:");

scanf("%s",&p->fenlei);

printf("请输入出版社:");

scanf("%s",&p->chuban);

printf("请输入出版时间:");

scanf("%d",&p->chubantime);

printf("请输入价格:");

scanf("%f",&p->price);

p->type=news;

printf("\n\n <提醒:信息修改成功!>\n\n"); }

}

if(b==1) printf("<没有您要修改的信息!>\n"); }

system("PAUSE");

}

7.显示图书信息

函数的原型:void show()

函数的功能:显示已存图书的各项信息

程序:

void show() f\n",p->price);

system("PAUSE");

}

}

8.图书排序

函数的原型:void paixu()

函数的功能:按出版时间的不同将记录的图书排序

程序:

void paixu() f\n",a[i]->price);

}

system("PAUSE");

}

4 调试分析

此次编写的图书管理系统,相对于以前学到的程序,它要大得多,也要复杂的多。涉及到多个模块的调用,每个模块都给我带来一些困惑。其中感觉图书查找和排序这两个最为麻烦。查找模块涉及到指针和链表问题后来在同学的帮助下得以解决,我就模仿按书名查找的方法另外设计出了两种查找方法。排序中的for循环刚开始不是太熟练,出了很多错误。程序设计好后,数据的输出格式不太规范,而且各模块也出现了一些小问题,经过修改最后运行的结果基本上达到了预期的目的。由于准备的有点仓促,没能把一些细节优化好,而且没能加入一些其他功能,比如图书借阅模块,那样程序将会比较完美。

5测试结果

测试的部分数据

登录号任意输入

下面为测试的部分结果截图

6 课程心得总结

通过这次亲自动手编写C语言图书管理系统,从中收获了很多。很多学过的知识得以巩固,对链表、数组指针、结构体等知识有了更深一步的了解。编写的过程中我也借鉴别人设计的一些程序,从中发现了自己的一些不足,在构建框架和编写源程序上面的一些问题。在源程序编写好后,对源程序的检测花费了我很多时间,这也算是锻炼了我的耐心。在检测中发现的一些细节上的毛病和粗心这个坏习惯都需要我加以改正。同时同学对我的帮助也比较大,有些问题很感谢他们对我的帮助。亲自编写了这个大型程序后,我领悟了“实践出真知”这个道理,体会到了C语言的巨大用处,对C语言有了更浓厚的兴趣。在今后我也会更加深入的学习C语言,打好稳固的基础,努力掌握这门技术,能够编写出更多更好的程序。

大一上期C语言实验报告1熟悉实验环境

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟悉C语言运行环境,了解和使用Visual6.0++集成开发环境(2)熟悉Visual6.0++环境的功能键和常用的功能菜单命令 (3)掌握C语言程序的书写格式和C语言程序的结构 (4)掌握C语言上机步骤,以及编辑、编译和运行一个C语言程序的方法 (5)熟悉Visual6.0++环境下的程序调试方法 2.实验内容 (1)按照实验步骤编辑、编译、运行第一个”Hello World”程序(2)利用实验指导中的第二个程序熟悉调试工具,在已知x,y值的情况下,计算出x和y的和、差、积、商,并显示出来(3)编写一个程序,输入a、b、c三个值,输出它们的和与平均值c 3.源程序 (1)#include void main() {printf(”Hello World”);} (2)#include void main() {int x=5,y=2; int s,d,p,q; s=x+y; d=x-y; p=x*y; q=x/y; printf(“和:%d差:%d积%d商:%d“,s,d,p,q);}

(3)#include void main() {int a,b,c.sum; float ave; Printf(“Please enter the a,b,c:”); scanf(“%d%d%d”,&a,&b,&c); sum=a+b+c; ave=(float)sum/3; printf(“sum=%d,ave=%f\n”,sum,ave);} 4.运行结果 (1) (2) (3)输入18、46、69测试得出答案如下

C语言实验报告《函数》

C语言实验报告《函数》 C语言实验报告《函数》 学号: __________ 姓名: __________ 班级: __________ 日期: __________ 指导教师: __________ 成绩: __________ 实验四函数 一、实验目的 1、掌握函数定义、调用和声明的方法 2、掌握实参和形参之间的传递方式 3、函数的嵌套调用 二、实验内容 1、写一个函数,将两个字符串连接。(习题 8. 6) 2、编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。(习题 8.9)

3、请将实验三中的实验内容三改正后,再改写成函数形式(排序部分)。物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板 三、实验步骤与过程 四、程序调试记录 一、实验目的 1.观察植物细胞有丝分裂的过程,识别有丝分裂的不同时期。 初步掌握制作洋葱根尖有丝分裂装片的技能。 3.初步掌握绘制生物图的方法。 二、实验原理在植物体中,有丝分裂常见于根尖、茎尖等分生区细胞,高等植物细胞有丝分裂的过程,分为分裂间期和分裂期的前期、中期、后期、末期。可以用高倍显微镜观察植物细胞的有丝分裂的过程,根据各个时期细胞内染色体(或染色质)的变化情况,识别该细胞处于有丝分裂的哪个时期,细胞核内的染色体容易被碱性染料着色。 三、材料用具洋葱根尖、显微镜、载玻片、盖玻片、滴管、镊子、培养皿、铅笔、质量分数为15%的盐酸、体积分数为95%的酒精、质量分数为0.01gml的龙胆紫(或紫药水) 四、实验过程(见书P39) 1.洋葱根尖的培养(提前3—4天) 2.解离: 5min 3.漂洗: 10min 4.染色: 5min

C语言图书管理系统课程设计报告[1]

第三章图书管理系统的设计与实现 3.1系统的需求分析 图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作 系统功能需求分析描述如下: (1)系统主菜单:进入系统和退出系统 (2)功能菜单:显示可以进行的操作 (3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息 (4)借还书主菜单:可以进行借书和还书等操作 3.2系统的设计 3.2.1 系统的总统设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果,图书管理系统可以分为三大模块:查询

图书模块、借书功能模块、还书功能模块。 系统模块结构如图: 3.2.2 系统的概要设计 ㈠系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。 ㈡查询图书信息 进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。 图书查询模块流程如图:

3.3 测试结果系统主界面

功能菜单 查询系统菜单

借还系统菜单 3.4 源代码 # include # include # include typedef struct link { char number[100]; char bookname[100]; char author[100]; char publish[100]; char time[100]; float price; char status[100]; struct link *next;

C语言实验报告参考答案 原

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include main() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include main() { int a,b,c,d; float x; a=160; b=46; c=18;

d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

图书管理系统的设计(C语言)

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include struct book{ char book_name[30]; int bianhao; double price; char author[20];

char state[20]; char name[20]; char sex[10]; int xuehao; struct book *book_next; }; struct club{ char name[20]; char sex[10]; int xuehao; char borrow[30]; struct club *club_next; }; void Print_Book(struct book *head_book);/*浏览所有图书信息*/ void Print_Club(struct club *head_club);/*浏览所有会员信息*/ struct book *Create_New_Book();/*创建新的图书库,图书编号输入为0时结束*/ struct book *Search_Book_bianhao(int bianhao,struct book *head_book); struct book *Search_Book_name(char *b_name,struct book *head_book); struct book *Search_Book_price(double price_h,double price_l,struct book *head_book); struct book *Insert_Book(struct book *head_book,struct book *stud_book);/*增加图书,逐个添加*/

C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include <> main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include<> main() { int a,b,c,x,y; a=150; b=20; c=45;

x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句

:C语言实验报告册-2016.3资料

学生实验报告册 (理工类) 课程名称:C语言程序设计实验专业班级: 16数字媒体技术学生学号: 1613031008 学生姓名:李翔 所属院部:计算机工程学院指导教师:吕艳林 20 16 ——20 17 学年第一学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:初级程序设计实验学时: 6 实验地点: A107 实验日期: 2016年10月13,20,27 实验成绩: 批改教师:批改时间:

实验1 初级程序设计 一、实验目的和要求 (1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试; (2)掌握C语言中各种运算符的使用; (3)掌握C语言中各种数据类型的区别与应用; (4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用; (5)掌握C语言中输入/输出函数的使用; (6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。 二、实验仪器和设备 奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。 三、实验内容与过程 1、程序调试 (1)#include main() { int s,t,p,sum; scanf(“%d%d%d”,&s,&t,&p); sum=s+t+p; printf(“sum=%d\n”,sum); } (2)#include main() { int k=3; if(k=3) printf(“***”); else printf(“###”); } (3)#include main() {int k=0; do { printf(“k=%d\n”,k); }while(k++>0); } 2、程序改错

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

图书管理系统 (c语言)

程序设计方法课程设计

问题提出: 设计一个图书馆的图书管理,具体要求如下: 1.录入新采购的图书信息,做成文件book.in,要求有良好的输入界面; 2.查询各种图书的基本信息,设计出良好的查询界面; 3.按图书编号进行排序,将排好序的图书信息输出到文件book.out中。 4.统计各类图书册数、图书馆的图书总册数。 5.统计图书的借阅情况。 1.需求分析 对于图书馆的管理系统,应该满足以下的用户需求: ○1用户能够增加和删除一些图书。 ○2用户根据一些基本信息查询相应的图书,系统可以准确输出所有符合条件的图书信息。 ○3用户可以借阅和归还图书馆中的图书。 ○4系统可以对图书做出统计,包括图书总数,各类图书数目,图书的借阅情况。 2.设计分析 定义图书结构体,其成员包括书名、作者、类型、出版社、价格、是否借阅(整型,1为借出,0为未借)、编号。 输入新书时,利用结构体储存书的信息,同时将新书信息以二进制写入book.in文件中,录入结束后,将新书按输入顺序写入book.out中,并且以原来存书的最大编号为基准对新书进行编号,这样可以保证book.out文件存储的图书都是按编号进行排序的。 查找图书时,获得所查书目基本信息后,以二进制依次读取文件中的每一本图书信息,并与输入信息相比较,输出符合信息的图书。 删除图书时,通过输入的图书编号(编号可通过查找图书获得)查找相应图书,删除相应数据并保存。 借阅或归还图书时,通过图书编号(编号可通过查找图书获得)查找相应图书,修改图书的属性(是否借阅)并保存。 实现统计功能时,以二进制依次读取文件中的每一本图书信息,设置变量统计图书类型、借阅情况和图书总数,到文件结尾时,输出各个变量的值。

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

C语言实验报告合集

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 二、实验目的 1. 熟悉C 程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C 程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C 程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h"int main(){int a,b,sum;a=2;b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum);return 0;} 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C 语言数据类型以及变量的声明。 (2)掌握C 语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C 语言的整型和字符型的混合运算。(4)掌握C 语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f ,请编写程序把它转换为摄氏温度c 。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3. 将字符串“China ”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2. 软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码:运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

c语言程序设计报告 图书管理系统

中国地质大学本科生课程论文封面 课程名称c语言课程设计 教师姓名樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语

注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录

课程设计评语 (1) 目录 (2) 1.课程论文题目 (3) 2.程序设计思路 (3) 3.功能模块图 (4) 4.数据结构设计 (4) 5.算法设计 (4) 6.程序代码 (5) 7.程序运行结果 (11) 8.编程中遇到的困难及解决方法 (14) 9.总结心得及良好建议 (15) 10.致谢 (15) 1.课程论文题目 图书管理系统 2.程序设计思路

根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。 3.功能模块图 系统功能模块图 4.数据结构设计 先写主函数main (),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。 5.算法设计

先定义结构体数组struct books,然后设置主界面,主界面出现6个功能选项,分 别是输入sr() 、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下: 输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者, 然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb. 查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。 删除模块就是在查找功能的图书后,选择删除,将strcpy将s[i+1]的值赋给s[i]。借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt变为已借出,然后输入姓名,学号,性别,最后显示出已借出。 还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。 退出模块使flag=1,而在main就有bool flag 且main中已令main=0.这样就实现了退出功能。 其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。 6.程序代码 #include #include #include #include #define M 100 struct books { char tsmc[12]; int tsbh; float dj; char zz[12]; char czzt[12]; char xm[12];

哈工大(威海)c语言实验报告册答案

实验1简单判定性问题求解 一、实验学时 完成本实验需4学时。 二、实验目的 1、阅读程序题 (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法; (2)掌握不同的类型数据之间赋值的规律; (3)掌握数据在内存中的存储方式; (4)学会输入、输出函数的基本格式和使用方法; (5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。 2、编程题 (1)如何运用if-else判定性结构进行程序设计; (2)如何运用switch判定性结构进行程序设计。 3、调试题 (1)熟悉C程序的编辑、编译、连接和运行的过程。 三、实验指导 为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。 2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。要注意简单判定性问题的结构选择。 3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。

四、实验内容 1、阅读程序题 (1)main( ) { /*定义字符型变量*/ char c1,c2; /*向字符变量赋以整数*/ c1=97; c2=98; printf("%c %c\n",c1,c2); /*以字符形式输出*/ printf("%d %d\n",c1,c2); /*以整数形式输出*/ } 思考:可否改成int c1,c2;输出结果是?相同 (2)main() { int a=7,b=5; printf("%d\n",b=b/a); } 思考:若将printf语句中%d变为%f,可否输出分式的值?可以(3)main() { int a=9; a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/ printf("%d\n",a); } 思考:赋值表达式a+=a-=a+a的求解步骤? 第一步:a=a-(a+a)=-9 第二步a=a+a=18 (4)main() { int k=-1; printf("%d,%u\n",k,k);

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

C语言实验报告

实验一进制转换 一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。 五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n"); } else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c; char cIn = 0; do { printf("\n输入正整数,转换的进制:"); scanf("%d %d",&a,&c); fun(a,c); printf("Go on? (Y/N):"); cIn = getchar( ); if(cIn == 'N' || cIn == 'n') return 0; } while(1);fun(a,c);

c语言最全的图书管理系统程序

题目名称:图书管理系统 算法分析: 1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格 2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息); (2)定义输出函数,每3个表一页直到最后一个; (3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。 (4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。 (6)定义信息统计函数。输入一个字符串作为出版社,比较M 本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。 (7)定义图书编号排序函数。用冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用

修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。 流程设计:

C语言实验报告参考源代码

实验5三种基本结构的综合应用 4.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=100;i<=999;i++) {for(j=2;j=i) /*三位数是素数时*/ {k=i%100; /*去掉百位数字*/ if(k>=10) /*十位数字不是0时*/ {for(m=2;m=k) /*两位数是素数时*/ {p=i%10; /*p为个位数字*/ for(q=2;q=p)n++;}}}} printf("%d\n",n);} Key:57 5.求[2,400]中相差为10的相邻素数对的对数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=2;i<=400;i++) {for(j=2;j=i) /*i是素数时*/ {for(k=i+1;k=k)break;} /*k是素数时终止if语句的外层循环*/ if(k>=i+10) /*[i+1,i+9]不是素数时*/ {for(q=2;q

C语言软件实验报告册

广州商学院 实验报告册(软件) 信息技术与工程学院院/系商业软件工程专业一年级 2 班 课程名称:C语言程序设计 姓名:蔡东燕 学号:201506110190

广州商学院 实验报告(第 1 次) 实验名称:选择控制语句的练习实验时间: 一.实验目的 熟悉if语句、if-else语句、switch-case语句、关系运算符和逻辑运算符,以及不同类型数据的输入输出方法。 二.实验内容 身高预测实验题 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素包括遗传、饮食习惯与锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。 设faHeight为其父身高,moHeight为其母身高,身高预测公式为:男性成人时身高=(faHeight + moHeight)×0.54cm 女性成人时身高=(faHeight×0.923 + moHeight)/2cm 此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。 编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight 为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。 三.源程序及主要算法说明

三. 主要问题和解决方案 问题:关系运算符时常弄乱,等于和赋值总是分不清;输入回车时程序会出错或停止运行 解决方案:多记记关系运算符,弄清getchar()函数功能,利用getchar()函数去接收回车可防止错误 四.测试数据及结果 五.心得体会与自我评价 刚开始接触觉得好难,写个编程要好长时间而且还出错,一开始觉得快要疯了。后面多去写多看书多请教别人,慢慢会了,觉得挺有趣的。 现在的我是个初学者,很多都不懂,水平低下,但我觉得认真学,通过努力一定可以学好的。

相关主题