1、定义图书信息结构体:书名,作者,出版社,单价\n2、定义输入图书信息函数,输出图书信息函数。\n3、将输入三本不同书本信息,并保存到磁盘。\n4、读取磁盘图书信息文件,将读取的书本信息显示出来。
时间: 2023-04-30 11:04:32 浏览: 60
1、定义图书信息结构体:书名,作者,出版社,单价
2、定义输入图书信息函数,输入图书信息函数,输出图书信息函数。
3、将输入的三本不同书本信息,保存到磁盘。
4、读取磁盘图书信息文件,将读取的书本信息显示出来。
相关问题
1、定义图书信息结构体:书名,作者,出版社,单价
struct Book {
char name[50]; // 书名
char author[20]; // 作者
char publisher[30]; // 出版社
float price; // 单价
};
试验任务:定义一个结构体:姓名,成绩 ,共两个成员。编写输入函数,输出函数,排序函数,实现结构体信息的输入、输出以及按结构体姓名成员的拼音顺序排序功能,并在main函数测试结果。
好的,以下是中文回复:
这个试验任务要求我们定义一个结构体,包含姓名和成绩两个成员。我们需要编写输入函数、输出函数和排序函数,以实现结构体信息的输入、输出和按姓名拼音排序的功能。最后在main函数中测试结果。
具体实现方法如下:
1. 定义结构体
我们可以定义一个名为“Student”的结构体,包含两个成员:姓名和成绩。
```
struct Student {
char name[20];
int score;
};
```
2. 编写输入函数
输入函数可以使用scanf函数,依次输入学生的姓名和成绩。
```
void input(Student *stu) {
printf("请输入学生姓名:");
scanf("%s", stu->name);
printf("请输入学生成绩:");
scanf("%d", &(stu->score));
}
```
3. 编写输出函数
输出函数可以使用printf函数,按照一定格式输出学生的姓名和成绩。
```
void output(Student *stu) {
printf("姓名:%s,成绩:%d\n", stu->name, stu->score);
}
```
4. 编写排序函数
排序函数可以使用qsort函数,按照学生姓名的拼音顺序进行排序。需要注意的是,qsort函数需要传入一个比较函数,用于比较两个元素的大小。
```
int cmp(const void *a, const void *b) {
return strcmp(((Student *)a)->name, ((Student *)b)->name);
}
void sort(Student *stu, int n) {
qsort(stu, n, sizeof(Student), cmp);
}
```
5. 在main函数中测试结果
在main函数中,我们可以先定义一个包含若干个学生信息的数组,然后依次调用输入函数、输出函数和排序函数,最后输出排序后的结果。
```
int main() {
int n;
printf("请输入学生人数:");
scanf("%d", &n);
Student stu[n];
for (int i = 0; i < n; i++) {
input(&stu[i]);
}
printf("输入的学生信息为:\n");
for (int i = 0; i < n; i++) {
output(&stu[i]);
}
sort(stu, n);
printf("按姓名拼音排序后的结果为:\n");
for (int i = 0; i < n; i++) {
output(&stu[i]);
}
return 0;
}
```
以上就是实现这个试验任务的具体方法。