灰与 2021-12-15 08:37 采纳率: 100%
浏览 67
已结题

刚刚学编程 修改问题,用c语言基础的就行

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct SPB
{
int seller_num;
int fit_num;
int building_num;
int count;
int update;
struct SPB *next;
struct SPB *data;
}ListNode,*LinkList;
int main()
{
struct SPB *head = (struct SPB *)malloc (sizeof(struct SPB));
if (head == NULL)
{ printf("分配失败,程序结束");
exit(0);
}
head->next = NULL;
struct SPB p;
p = head;
for (int i = 0; i < 4; i++)
{
struct SPB *s = (struct SPB *)malloc(sizeof (struct SPB));
p->next = s;
s->next = NULL;
p = s;
}//菜单
printf("MUNU
\n");
printf("add data--------1\n");
printf("delete data------2\n");
printf("update data------3\n");
printf("exit -----------4a\n");
printf("******************\n\n");
int ch;
printf("请输入你的选择");
scanf("%d", &ch);
while (ch != 4)
{ if (ch == 1)
{ struct SPB *pf, pb;
int i,
head = NULL;
for (i = 0; i < 2; i++)
{
pb = (struct SPB *) malloc(sizeof (struct SPB));
if (NULL == pb)
{ printf("malloc fail!\n");
return head;
}
}
printf("seller's number: ");
printf("fit's number: ");
printf("builiding's number: ");
printf("count's number: ");
scanf("%d,%d,%d,%d", pb->seller_num, pb->fit_num, pb->building_num, pb->count);
}
if (ch == 2) {
int i;
ListNode
L;
int j = 1;
struct SPB *q, *p;
p=L; //没有初始化啊,后面怎么能用呢
printf("请输入需删除的项");
scanf("%d", i);
while (p->next && j < i)
{
p = p->next;
j++;
}
if (p->next == NULL & j > i)
q = (p).next;
(p).next = p->next->next;
free(q);
{
if (ch == 3)
{
ListNode
L;
if(L->next==NULL)
return -1;
int j=1,i;
scanf("%d",&i);
printf("请输入你要修改的数据 1,销售商号码 2,配件号 3,工地号 4,数量");
ListNode
p=L->next;
while(p&&j<i)
{p=p->next;j++;}
if(j==i)
{
printf("找到该数据,请输入修改后的值:");
scanf("%d", LinkList->update);
p->data=LinkList->update;
}
}
}
}

  • 写回答

3条回答 默认 最新

  • 万小橘 2021-12-15 09:04
    关注

    ```c

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    typedef struct SPB
    {
    int seller_num;
    int date;
    int fit_num;
    int building_num;
    int count;
    int update;
    struct SPB *next;
    struct SPB *data;
    }ListNode,*LinkList;
    LinkList p,q;
    int main()
    {
    struct SPB *head = (struct SPB *)malloc (sizeof(struct SPB));
    if (head == NULL)
    { printf("分配失败,程序结束");
    exit(0);
    }
    //LinkList p;
    head->next = NULL;
    struct SPBp;
    p = head;
    for (int i = 0; i < 4; i++)
    {
    struct SPB *s = (struct SPB *)malloc(sizeof (struct SPB));
    p->next = s;
    s->next = NULL;
    p = s;
    }//菜单
    printf("MUNU\n");
    printf("add data--------1\n");
    printf("delete data------2\n");
    printf("update data------3\n");
    printf("exit -----------4a\n");
    printf("******************\n\n");
    int ch;
    printf("请输入你的选择");
    scanf("%d", &ch);
    while (ch != 4)
    {
    if (ch == 1)
    { LinkList pf,pb;
    int i,
    head = NULL;
    for (i = 0; i < 2; i++)
    {
    pb = (struct SPB *) malloc(sizeof (struct SPB));
    if (NULL == pb)
    { printf("malloc fail!\n");
    return head;
    }
    }
    printf("seller's number: ");
    printf("fit's number: ");
    printf("builiding's number: ");
    printf("count's number: ");
    scanf("%d,%d,%d,%d", pb->seller_num, pb->fit_num, pb->building_num, pb->count);
    }
    if (ch == 2) {
    int i;
    LinkList L;
    int j = 1;
    //struct SPB *q, *p;
    p=L; //没有初始化啊,后面怎么能用呢
    printf("请输入需删除的项");
    scanf("%d", i);
    while (p->next && j < i)
    {
    p = p->next;
    j++;
    }

    if (p->next == NULL & j > i)
    q = (p)->next;
    (p)->next = p->next->next;
    free(q);
    

    }
    if (ch == 3)
    {
    LinkList L;
    if(L->next==NULL)
    return -1;
    int j=1,i;
    scanf("%d",&i);
    printf("请输入你要修改的数据 1,销售商号码 2,配件号 3,工地号 4,数量");
    //ListNodep=L->next;找不到ListNodep是干什么的
    while(p&&j<i)
    {p=p->next;j++;}
    if(j==i)
    {
    printf("找到该数据,请输入修改后的值:");
    scanf("%d", L->data );
    p->data=L->data ;
    }
    }
    }
    }

    ```不知道是不是你想要的结果,反正错误是没有了,还有提醒一下,打代码的大括号要注意一下啊,都找不到在哪里是一段,尽量把操作放函数里头,没有的变量你咋调用啊!如果有帮助的话,请采纳一下谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 12月15日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100