void xiugai(node *s){ int ch; system("cls"); system("color 6B"); printf("\n\n\n\t~~~~~~~修改订单~~~~~~~~~\n\n"); printf("\t输入1修改订单\t输入0返回上一级:"); scanf("%d",&ch); while(1){ switch(ch){ case 1:printf(h);break; case 0:printf("0");break; default:online();//退出 } printf("\t输入1修改订单\t输入0返回上一级:"); scanf("%d",&ch); if(ch==0){ printf("返回上一级\n"); break; } } }node* modification(node *h){//修改订单 node *s,*r; if(h==NULL) { h=malloc(sizeof(node)); h->next=NULL; r=h; } else{ r=h; while(r->next!=NULL) r=r->next; } s=malloc(sizeof(node)); printf("名称:"); scanf("%s",s->data.name); printf("增加时间:"); scanf("%lf",&s->data.time); printf("类型:"); scanf("%d",&s->data.type); r->next=s; r=s; r->next=NULL; return h; } void xiugai(node *s){ printf("修改订单:\n");//修改订单 while(s->next!=NULL){ s=s->next; printf("名称:"); printf("%s\n",&s->data.name); printf("增加时间:"); printf("%s\n",&s->data.time); printf("手机尾号:"); printf("%s\n",&s->data.useful); printf("类型:"); printf("%s\n",&s->data.type); } }
时间: 2024-03-27 09:39:51 浏览: 138
个人通讯录管理系统C语言源程序优秀版.doc
这段代码中存在以下问题:
1. `void xiugai(node *s)` 函数被定义了两次,这会导致编译错误。需要将其中一个函数的名称修改为其他名称。
2. `case 1:printf(h);` 应该改为 `case 1:xiugai(h);`,因为需要调用 `xiugai` 函数来修改订单。
3. `scanf("%s",&s->data.time);` 应该改为 `scanf("%lf",&s->data.time);`,因为订单时间是一个实数类型。
4. `printf("%s\n",&s->data.time);` 应该改为 `printf("%lf\n",s->data.time);`,因为订单时间是一个实数类型,需要使用 `%lf` 格式化符号输出。
5. `printf("%s\n",&s->data.useful);` 应该改为 `printf("%d\n", s->data.useful);`,因为手机尾号是一个整数类型。
下面是修改后的代码:
```c
void modify(node *s) {
int ch;
system("cls");
system("color 6B");
printf("\n\n\n\t~~~~~~~修改订单~~~~~~~~~\n\n");
printf("\t输入1修改订单\t输入0返回上一级:");
scanf("%d", &ch);
while (1) {
switch (ch) {
case 1:
xiugai(s);
break;
case 0:
printf("返回上一级\n");
break;
default:
online(); //退出
break;
}
printf("\t输入1修改订单\t输入0返回上一级:");
scanf("%d", &ch);
if (ch == 0) {
printf("返回上一级\n");
break;
}
}
}
node* xiugai(node *h) {
node *s, *r;
if (h == NULL) {
h = malloc(sizeof(node));
h->next = NULL;
r = h;
} else {
r = h;
while (r->next != NULL)
r = r->next;
}
s = malloc(sizeof(node));
printf("名称:");
scanf("%s", s->data.name);
printf("增加时间:");
scanf("%lf", &s->data.time);
printf("手机尾号:");
scanf("%d", &s->data.useful);
printf("类型:");
scanf("%d", &s->data.type);
r->next = s;
r = s;
r->next = NULL;
return h;
}
void print(node *s) {
printf("修改订单:\n");
while (s->next != NULL) {
s = s->next;
printf("名称:%s\n", s->data.name);
printf("增加时间:%lf\n", s->data.time);
printf("手机尾号:%d\n", s->data.useful);
printf("类型:%d\n", s->data.type);
}
}
```
阅读全文