c语言结构体字符长度计算,C语言课设、求字符长度、结构体数组、图书管理程序.doc...

这篇博客介绍了三个C语言编程任务:使用自定义函数计算字符串长度,设计结构体数组并输出平均分及低于平均分的同学信息,以及创建图书管理程序,包括输入、显示图书信息及按作者筛选。通过这些实例,展示了C语言在数据结构和控制流程方面的应用。
摘要由CSDN通过智能技术生成

C语言课设、求字符长度、结构体数组、图书管理程序

PAGE

PAGE 1

———————————————————————————————— 作者:

———————————————————————————————— 日期:

PAGE

PAGE I

课程设计任务书

学院

信息科学与工程学院

专业

电子信息科学与技术

姓名

李沈

学号

0803070116

题目:求字符长度、结构体数组、图书管理程序

内容及要求:

输入一字符串,调用函数,求出字符长度,不能引用函数库中strlen函数。

设计结构体数组,结构中包含十个同学成绩,输出平均分和低于平均分的同学的信息。

图书管理程序

主要用借个数据组实现,结构中包含数据:图书编号、图书名称、作者姓名、出版社名、出版日期。涉及各个函数分别实现以下功能:

图书信息的输入

显示所有图书的信息

输入作者姓名,显示该作者编写的图书的记录

设计菜单,通过选择菜单调用以上各函数

进度安排:

18周:布置题目,查阅资料,对问题给出解决方案及其编程。

19周:答辩验收,书写教学实习报告。

指导老师(签字):

年 月 日

学院院长(签字):

年 月 日

目 录

TOC \o "1-3" \u 一 题目1 1

1 题目内容 1

2 设计实现 1

3 程序结果 1

二 题目2 2

1 题目内容 2

2 设计实现 2

3 程序结果 2

三 题目3 3

1 题目内容 3

2 设计实现 3

3 程序结果 4

参考文献 7

一 题目1

1 题目内容

输入一字符串,调用函数,求出字符长度,不能用引用函数库中strlen函数。

2 设计实现

#include

int _strlen(char *p)

{

int L=0;

while(*(p+L)!='\0')L++;

return L;

}

void main()

{

char a[80];

int L;

printf("请输入一字符串:\n\n");

gets(a);

L=_strlen(a);

printf("字符串长度为:%d\n",L);

}

3 程序结果

二 题目2

1 题目内容

设计结构体数组,结构中包含十个同学姓名、成绩,输出平均分和低于平均分的同学的信息。

2 设计实现

#include

int j=0;

typedef struct

{

char name[16];

float s;

}STU;

float fun(STU *p,STU *q)

{

int i;

float a=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);

return a;

}

void main()

{

int i=0;

float ave;

STU h[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 题目内容

图书管理程序:

主要用结构体数组实现,结构中包含数据为:图书编号、图书名称。作者姓名、出版

名、出版日期。设计各个函数分别实现以下功能:

图书信息的输入

显示所有图书的信息

输入作者姓名,显示该作者编写的图书记录

设计菜单,通过选择菜单调用以上各函数。

2 设计实现

#include

#include

#include

#define N 20

int n=0;

struct BOOK

{

int num;

char bname[

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值