7) void choose(book*h) { int i; int a = 1; while (a>0) { menu(); printf("请选择:"); scanf("%d",&i); switch (i) { case 1: h=GreatLink(); break; case 2: PrintLink(h); break; case 3: Insert(h); break; case 4: Search(h); break; case 5: revise(h); break; case 6: delete(h); break; case 0: printf("【退出】\n"); printf("退出成功!感谢您的使用!\n"); system("pause");//暂停,避免输出过快 exit(0); break; default: printf("无效的命令!\n"); a = -1;//跳出循环条件 break; } } }
时间: 2024-03-31 19:38:19 浏览: 18
该函数需要一个book类型的指针h作为参数,表示书籍链表的头指针。函数主要功能是根据用户的选择执行相应的操作,具体如下:
1. 显示菜单(menu()函数);
2. 提示用户输入选择(printf("请选择:")),并读取用户输入(scanf("%d",&i));
3. 根据用户输入的选择(i)执行相应的操作,包括:
1) 创建一个新的书籍链表,并返回链表的头指针(GreatLink()函数);
2) 打印书籍链表(PrintLink()函数);
3) 在书籍链表中插入一本新书(Insert()函数);
4) 在书籍链表中查找一本书籍(Search()函数);
5) 修改一本书籍的信息(revise()函数);
6) 删除一本书籍(delete()函数);
7) 退出程序,输出感谢信息(printf()和exit(0)函数)。
4. 当用户输入无效命令时,输出提示信息(printf("无效的命令!\n")),并将循环条件a赋值为-1,跳出while循环。
需要注意的是,函数中的book类型指针h是通过传值的方式传入函数的,因此在函数内部对h的修改不会影响到函数外部的h指针。而且,在函数内部通过GreatLink()函数创建的链表头指针也不能被外部函数访问到,因此该函数的作用仅限于对链表的操作,而不会影响到链表的头指针。
相关问题
#include <stdio.h> #define N 8 void main() { int a(N)={1,5,8,7,6,3,2,4}; /*error1*/ int i,j,k,t; for(i=0;i<N-1;i++) { k=i; for(j=i+1;j<N;j++) if(a[k]<a[j]) /*error2*/ k=j; t=a[i],a[i]=a[j],a[j]=t; /*error3*/ } for(i=0;i<N;i++) printf("%5d",a[i]); printf("\n"); }
这段代码有三处错误:
1. `int a(N)={1,5,8,7,6,3,2,4};` 这里的定义方式是错误的,应该是 `int a[N]={1,5,8,7,6,3,2,4};`。
2. `if(a[k]<a[j])` 应该是 `if(a[k]<a[j])`,这里应该比较 `a[k]` 和 `a[j]` 的大小。
3. `t=a[i],a[i]=a[j],a[j]=t;` 这行代码有误,正确的写法是 `t=a[i],a[i]=a[k],a[k]=t;`,交换 `a[i]` 和 `a[k]` 的值。
正确的代码如下:
```c
#include <stdio.h>
#define N 8
void main() {
int a[N]={1,5,8,7,6,3,2,4};
int i,j,k,t;
for(i=0;i<N-1;i++) {
k=i;
for(j=i+1;j<N;j++)
if(a[k]<a[j])
k=j;
t=a[i],a[i]=a[k],a[k]=t;
}
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
}
```
void fun_b(int *x, int *y) { int *p; *x=*y;*y=*x;
这是一个交换两个整数值的函数,函数名为fun_b,函数参数为两个指向整型变量的指针x和y。函数体内定义了一个指向整型变量的指针p,然后将y指向的值赋给x指向的值,将x指向的值赋给y指向的值,实现了两个整数值的交换。
```c
void fun_b(int *x, int *y) {
int *p;
int temp;
temp = *x;
*x = *y;
*y = temp;
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)