C语言课设1求字符长度2结构体数组3图书管理程序.docx
- 文档编号:10566793
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:10
- 大小:33.49KB
C语言课设1求字符长度2结构体数组3图书管理程序.docx
《C语言课设1求字符长度2结构体数组3图书管理程序.docx》由会员分享,可在线阅读,更多相关《C语言课设1求字符长度2结构体数组3图书管理程序.docx(10页珍藏版)》请在冰豆网上搜索。
C语言课设1求字符长度2结构体数组3图书管理程序
C语言课设1、求字符长度2、结构体数组3、图书管理程序
课程设计任务书
学院
信息科学与工程学院
专业
电子信息科学与技术
姓名
李沈
学号
0803070116
1、题目:
求字符长度、结构体数组、图书管理程序
2、内容及要求:
(1)输入一字符串,调用函数,求出字符长度,不能引用函数库中strlen函数。
(2)设计结构体数组,结构中包含十个同学成绩,输出平均分和低于平均分的同学的信息。
(3)图书管理程序
主要用借个数据组实现,结构中包含数据:
图书编号、图书名称、作者姓名、出版社名、出版日期。
涉及各个函数分别实现以下功能:
1)图书信息的输入
2)显示所有图书的信息
3)输入作者姓名,显示该作者编写的图书的记录
设计菜单,通过选择菜单调用以上各函数
进度安排:
18周:
布置题目,查阅资料,对问题给出解决方案及其编程。
19周:
答辩验收,书写教学实习报告。
一题目1
1题目内容
输入一字符串,调用函数,求出字符长度,不能用引用函数库中strlen函数。
2设计实现
#include
int_strlen(char*p)
{
intL=0;
while(*(p+L)!
='\0')L++;
returnL;
}
voidmain()
{
chara[80];
intL;
printf("请输入一字符串:
\n\n");
gets(a);
L=_strlen(a);
printf("字符串长度为:
%d\n",L);
}
3程序结果
二题目2
1题目内容
设计结构体数组,结构中包含十个同学姓名、成绩,输出平均分和低于平均分的同学的信息。
2设计实现
#include
intj=0;
typedefstruct
{
charname[16];
floats;
}STU;
floatfun(STU*p,STU*q)
{
inti;
floata=0;
for(i=0;i<10;i++)
a+=(p+i)->s;
a/=(float)10;
for(i=0;i<10;i++)
{
if(a<=(p+i)->s)q[j++]=p[i];
}
printf("高于平均分的同学如下:
\n姓名分数:
\n");
for(i=0;i printf("%-16s%f\n",(q+i)->name,(q+i)->s); returna; } voidmain() { inti=0; floatave; STUh[10],s[10]={{"aa",78},{"bb",90},{"cc",67},{"dd",75},{"ee",85}, {"ff",71},{"gg",45},{"hh",43},{"ii",57},{"jj",79}}; printf("所有同学成绩如下: \n姓名分数: \n"); for(i=0;i<10;i++) printf("%-16s%f\n",(s+i)->name,(s+i)->s); ave=fun(s,h); printf("平均分为%f\n",ave); } 3程序结果 三题目3 1题目内容 图书管理程序: 主要用结构体数组实现,结构中包含数据为: 图书编号、图书名称。 作者姓名、出版 名、出版日期。 设计各个函数分别实现以下功能: (1)图书信息的输入 (2)显示所有图书的信息 (3)输入作者姓名,显示该作者编写的图书记录 设计菜单,通过选择菜单调用以上各函数。 2设计实现 #include #include #include #defineN20 intn=0; structBOOK { intnum; charbname[20]; charwname[16]; charpname[20]; charpdate[16]; }book[N]; voidgetdata() { printf("请输入%d图书的名称: \n",n+1); scanf("%s",book[n].bname); printf("请输入%d图书的作者姓名: \n",n+1); scanf("%s",book[n].wname); printf("请输入%d图书的出版社名: \n",n+1); scanf("%s",book[n].pname); printf("请输入%d图书的出版日期: \n",n+1); scanf("%s",book[n].pdate); book[n].num=1+n++; } voidputdata() { inti; printf("图书编号图书名称作者姓名出版社名出版日期\n"); for(i=0;i { printf("%-8d%-20s%-16s%-20s%-16s\n",book[i].num,book[i].bname,book[i].wname,book[i].pname,book[i].pdate); } } voidselect() { inti; charname[16]; printf("请输入作者姓名: \n"); scanf("%s",name); printf("图书编号图书名称作者姓名出版社名出版日期\n"); for(i=0;i if(! strcmp(name,book[i].wname)) { printf("%-8d%-20s%-16s%-20s%-16s\n",book[i].num,book[i].bname,book[i].wname,book[i].pname,book[i].pdate); } } intmenu() { inta; printf("输入图书信息请按1\n显示所有图书信息请按2\n输入作者姓名并显示该作者编写的图书记录请按3\n退出请按0\n"); scanf("%d",&a); returna; } voidmain() { inta; printf("\n********菜单请选择! ********\n"); do { a=menu(); switch(a) { case(0): exit(0); case (1): getdata();break; case (2): putdata();break; case(3): select(); } }while (1); } 3程序结果 参考文献 1.马秀丽,刘志妩,李筠.C语言程序设计.北京: 清华大学出版社,2008年 2.谭浩强.C程序设计(第2版).北京: 清华大学出版社,2004年 3.钱能.C++程序设计教程.北京: 清华大学出版社,2002年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 字符 长度 结构 数组 图书 管理程序
![提示](https://static.bdocx.com/images/bang_tan.gif)