C语言上机实验报告.docx

上传人:b****7 文档编号:16044717 上传时间:2023-07-10 格式:DOCX 页数:18 大小:165.45KB
下载 相关 举报
C语言上机实验报告.docx_第1页
第1页 / 共18页
C语言上机实验报告.docx_第2页
第2页 / 共18页
C语言上机实验报告.docx_第3页
第3页 / 共18页
C语言上机实验报告.docx_第4页
第4页 / 共18页
C语言上机实验报告.docx_第5页
第5页 / 共18页
C语言上机实验报告.docx_第6页
第6页 / 共18页
C语言上机实验报告.docx_第7页
第7页 / 共18页
C语言上机实验报告.docx_第8页
第8页 / 共18页
C语言上机实验报告.docx_第9页
第9页 / 共18页
C语言上机实验报告.docx_第10页
第10页 / 共18页
C语言上机实验报告.docx_第11页
第11页 / 共18页
C语言上机实验报告.docx_第12页
第12页 / 共18页
C语言上机实验报告.docx_第13页
第13页 / 共18页
C语言上机实验报告.docx_第14页
第14页 / 共18页
C语言上机实验报告.docx_第15页
第15页 / 共18页
C语言上机实验报告.docx_第16页
第16页 / 共18页
C语言上机实验报告.docx_第17页
第17页 / 共18页
C语言上机实验报告.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言上机实验报告.docx

《C语言上机实验报告.docx》由会员分享,可在线阅读,更多相关《C语言上机实验报告.docx(18页珍藏版)》请在冰点文库上搜索。

C语言上机实验报告.docx

C语言上机实验报告

长江大学计算机系

 

实验课程:

C语言程序设计基础

实验项目:

简易图书管理系统

指导教师:

肖颗

学生姓名:

梅亚龙

学生学号:

201162072

班级:

计算机网络(专)

实验地点:

717

实验时间:

2012年6月16日-6月29日

实验成绩:

评阅老师:

 

一.课程设计的题目与要求

1.题目:

C语言简易图书信息管理系统

2.遇到的问题:

用到一些生疏的函数。

例如:

fputs,fprintf,fopen。

还有一些没遇到的C语言设计的思想。

3.要求:

1)查询图书基本信息

2)按书名查询

3)查询数量>=2的图书信息

4)显示图书全部信息

5)按图书数量排序

6)按图书种类排序

7)每本图书总价

8)全部图书总价

9)修改图书信息

10)借出图书

二.课程设计题目功能

1.系统功能模块框图设计

:

功能函数模块

 

函数调用

 

 

2.数据结构説明

用到的数据:

int整型、float单精度浮点型、char字符型;

struct结构体;

函数:

menu()、readfile()、showbooks()、Qrybybookname()、Qrycount()、Qrylbooks()、sortbycount()、sortbychass()、abookprice()、allbookprice()、xie()、faxbook()、write()、brwbook()、exit(0);

F0LE*p指针;

For循环;

if如果;

while循环;

switch选择;

scanf输入;

printf输出;

return返回;

strcmp比较数组

fopen打开文件;

fclose关闭文件;

fgets,fscanf读文件;

fputs,fprintf写文件;

3.输出数据

查询图书基本信息

按书名查询

查询数量>=2的图书信息

显示图书全部信息

按图书数量排序

按图书种类排序

每本图书总价

全部图书总价

修改图书信息

借出图书

 

三.课程设计总结

程序过大,不够精简,无用文字太多。

学习耐心与细心不足,如scanf(“%d”,&n);中的“&”经常忘记。

编程思想不够发散。

在今后学习中应更多的动脑,综合运用所学。

基本功不够,如fputs()等函数用的不好,有时同样的问题多次犯,给实验课老师带来很大的麻烦。

这说明我的知识不够广,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。

就算以后C语言这门课程结束后,也应多看相关东西,多上机练习,才能真正从本质上提高自己。

知识不够广泛,如VC++6.0等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。

已会的东西掌握的还是不够好。

实验心得

通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。

其间开心过、郁闷过、无奈过、彷徨过……随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。

感谢肖颗老师的高标准、严要求。

感谢实验课上老师的耐心指点,也感谢我在实验中经历过的点点滴滴……伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。

对C语言,我会更加努力。

 

附录

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

#defineN10

structbook

{

intID;

charChass[10];

charBookname[25];

charAuthor[10];

charPublishing[25];

intCount;

floatPrice;

};

structbookbooks[N];

inti;

charh[100];

voidmenu()

{

printf("****************************");

printf("简易图书信息管理系统");

printf("**************************");

printf("1.查询图书基本信息");

printf("2.按书名查询");

printf("3.查询数量>=2的图书信息");

printf("4.显示图书全部信息");

printf("5.按图书数量排序");

printf("6.按图书种类排序");

printf("7.每本图书总价");

printf("8.全部图书总价");

printf("9.修改图书信息");

printf("10.借出图书");

printf("11.退出\n");

}

voidreadfile()

{

FILE*p;

p=fopen("E:

\\梅亚龙201162075.txt","r");

if(p==0)

{

printf("图书信息打开文件错误!

\n");

return;

}

fgets(h,100,p);

for(i=0;i<=N;i++)

{

fscanf(p,"%d%s%s%s%s%d%f",&books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,&books[i].Count,&books[i].Price);

}

fclose(p);

}

voidShowbooks()/*查询图书基本信息*/

{

readfile();

printf("编号分类书名作者出版社数量单价\n");

for(i=0;i<=N;i++)

{

printf("%d%s%s%s%s%d%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

}

}

voidQrybybookname()/*按书名查询*/

{

charbookname1[25];

printf("请输入书名:

\n");

scanf("%s",bookname1);

printf("编号分类书名作者出版社数量单价\n");

readfile();

for(i=0;i<=N;i++)

{

if(strcmp(bookname1,books[i].Bookname)==0)

{

printf("%d%s%s%s%s%d%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

}

}

}

 

voidQrycount()/*查询数量>=2的图书信息*/

{

printf("编号分类书名作者出版社数量单价\n");

readfile();

for(i=0;i<=N;i++)

{

if(books[i].Count>=2)

{

printf("%d%s%s%s%s%d%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

}

}

}

voidQryallbook()/*显示图书全部信息*/

{

printf("编号分类书名作者出版社数量单价总价\n");

readfile();

floats,x=0;

for(i=0;i<=N;i++)

{

s=books[i].Count*books[i].Price;

printf("%d%s%s%s%s%d%.2f%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price,s);

x=x+s;

}

printf("全部图书总价:

%.2f\n",x);

}

voidSortbycount()/*按图书数量排序*/

{

ints=0;

printf("编号分类书名作者出版社数量单价\n");

readfile();

for(s=0;s>=0;s++)

for(i=0;i<=N;i++)

{

if(books[i].Count==s)

{

printf("%d%s%s%s%s%d%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

}

}

}

 

voidSortbychass()/*按图书种类排序*/

{

intj;

readfile();

printf("编号分类书名作者出版社数量单价\n");

structbookbook1;

for(i=0;i

for(j=i+1;j

if(strcmp(books[i].Chass,books[j].Chass)>0)

{

book1=books[i];

books[i]=books[j];

books[j]=book1;

}

for(i=0;i

{

printf("%d%s%s%s%s%d%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

}

}

voidabookprice()/*每本图书总价*/

{

printf("书名总价\n");

floats;

readfile();

for(i=0;i<=N;i++)

{

s=books[i].Count*books[i].Price;

printf("%s%.2f\n",books[i].Bookname,s);

}

}

voidallbookprice()/*全部图书总价*/

{

floats;

floatx=0;

readfile();

printf("全部图书总价:

");

for(i=0;i<=N;i++)

{

s=books[i].Count*books[i].Price;

x=x+s;

}

printf("%.2f\n",x);

}

voidxie()

{

FILE*fp;

fp=fopen("E:

\\梅亚龙201162075.txt","r");

if(fp==0)

{

printf("图书信息打开文件错误!

\n");

return;

}

fputs(h,fp);

for(i=0;i<=N;i++)

{

fprintf(fp,"%s%s%s%s%d%f",books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

}

printf("修改成功!

");

fclose(fp);

}

voidfaxbook()/*修改图书信息*/

{

inta;

readfile();

printf("请输入修改书号:

");

scanf("%d",&a);

printf("编号分类书名作者出版社数量单价\n");

for(i=0;i<=N;i++)

{

if(a==books[i].ID)

{

printf("%d%s%s%s%s%d%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

printf("请输入修改后的信息:

\n");

scanf("%s%s%s%s%d%f",books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,&books[i].Count,&books[i].Price);

printf("修改后的信息:

\n");

printf("编号分类书名作者出版社数量单价\n");

for(i=0;i<=N;i++)

{

printf("%d%s%s%s%s%d%.2f",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

}

xie();

}

}

}

voidwrite()

{

FILE*fp;

fp=fopen("E:

\\梅亚龙201162075.txt","r");

if(fp==0)

{

printf("图书信息打开文件错误!

\n");

return;

}

fputs(h,fp);

for(i=0;i<=N;i++)

{

fprintf(fp,"%d",books[i].Count);

}

printf("借出成功!

");

fclose(fp);

}

voidbrwbook()/*借出图书*/

{

inta;

readfile();

printf("请输入借出图书的书号:

");

scanf("%d",&a);

printf("编号分类书名作者出版社数量单价\n");

for(i=0;i<=N;i++)

{

if(a==books[i].ID)

{

printf("%d%s%s%s%s%d%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

books[i].Count=books[i].Count-1;

printf("借出后的图书信息:

\n");

printf("编号分类书名作者出版社数量单价\n");

for(i=0;i<=N;i++)

{

printf("%d%s%s%s%s%d%.2f\n",books[i].ID,books[i].Chass,books[i].Bookname,books[i].Author,books[i].Publishing,books[i].Count,books[i].Price);

}

write();

}

}

if(a>=N)

{

printf("该图书已借出或不存在!

");

return;

}

}

voidmain()

{

intidt;

while

(1)

{

menu();

printf("请输入编号:

");

scanf("%d",&idt);

switch(idt)

{

case1:

Showbooks();break;

case2:

Qrybybookname();break;

case3:

Qrycount();break;

case4:

Qryallbook();break;

case5:

Sortbycount();break;

case6:

Sortbychass();break;

case7:

abookprice();break;

case8:

allbookprice();break;

case9:

faxbook();break;

case10:

brwbook();break;

case11:

exit(0);break;

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2