小新冲冲冲 2023-03-13 08:48 采纳率: 96.7%
浏览 53
已结题

我的代码为什么运行不起来呢?

我写了三个文件,一个头文件,两个源文件,这个是其中一个源文件
它可以运行,但是效果和我想的不一样,这个运行起来那个框怎么都输不进内容


#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include"tou.h"
#include<string.h>

void menu(int* x,gs* pc) {//px表示地址   *px表示值     而此处是写一个函数,所以px是形参
    int c = 0;
    switch (*x) {
    case 0:
        printf("请选择:1.商家\t2.客户\t\n");
        scanf("%d", x);//此处直接改变地址上的值也可以改变x的值    x已经是地址了,不需要&
    case 1:
        printf("请选择:3.入驻\t4.注销商家\t\n");
        scanf("%d", x);
    case 3:
        zj(pc);
        break;
    case 4:
        sc(pc);
        break;
    case 2:
        dy1(pc);
        printf("请输入需要点单的商家的数字码:");
        scanf("%d", &c);
        dy2(pc,c);
        printf("可以开始点单了");
        break;
    }
}


int main() {
    gs biao1;
    cs(&biao1);//初始结构体
    int x = 0;
    do {
        menu(&x, &biao1);
        printf("退出程序请按0,循环进去程序请按-1:");
        scanf("%d", &x);
    } while (x != -1);
}

展开全部

  • 写回答

4条回答 默认 最新

  • a5156520 2023-03-13 11:18
    关注

    我这里使用下面的测试代码,程序是正常运行的,只是修改了下执行的流程,测试如下:

     
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    #include<string.h>
     
    struct gs{
        int id;
        
    }; 
      
    void zj(struct gs * pc){
        printf("入驻成功!\n");
    } 
    
    void sc(struct gs * ps){
        printf("注销成功!\n");
    }
    
    void dy1(struct gs * pc){
        printf("dy1\n");
    }
    
    void dy2(struct gs * pc,int c){
        printf("dy2");
    }
    
    void cs(struct gs * biao){
        biao->id=0;
    }
    
    void menu(int* x,gs* pc) {//px表示地址   *px表示值     而此处是写一个函数,所以px是形参
    
        int c = 0;
        
         printf("请选择:1.商家\t2.客户\t\n");  
        scanf("%d", x);//此处直接改变地址上的值也可以改变x的值    x已经是地址了,不需要&
        
            if (*x==1){
            printf("请选择:3.入驻\t4.注销商家\t\n");
            scanf("%d",x);        
        }
        
        switch (*x) {
                               
            case 3:
                zj(pc);
                break;
            case 4:
                sc(pc);
                break;
            case 2:
                dy1(pc);
                printf("请输入需要点单的商家的数字码:");
                scanf("%d", &c);
                dy2(pc,c);
                printf("可以开始点单了\n");
                break;
        }
       
    }
     
     
    int main() {
        gs biao1;
        cs(&biao1);//初始结构体
        int x = 0;
        do {
            menu(&x, &biao1);
            printf("退出程序请按0,循环进去程序请按-1:");
            scanf("%d", &x);
        } while (x != 0);
    }
     
    

    img

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    小新冲冲冲 2023-03-13 11:59

    不过我觉得我们写的逻辑没有区别,为什么我的在运行框的界面怎么敲击键盘店铺没有反应呢?(你的那些函数的定义我都有写的)

    回复
    a5156520 回复 小新冲冲冲 2023-03-13 12:01

    你原来的程序,我加上函数定义后,是可以运行的,但不知道你为啥没有运行成功,不知道是不是代码有些地方不同?

    回复
    小新冲冲冲 回复 a5156520 2023-03-13 12:15

    我原来的程序并没有报错,不过就是点开运行框之后,我不管怎么敲击键盘都没有反应,关掉倒是可以关掉

    回复
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日

悬赏问题

  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)
  • ¥15 传人记程序做的plc 485从机程序该如何写
  • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?
  • ¥50 libwebsockets 如何添加其他socket事件回调
  • ¥50 实现画布拖拽算子排布,通过flink实现算子编排计算,请提供思路
  • ¥15 esium自定义材质拉伸问题
  • ¥15 cmake+mingw使用<mysqlx/xdevapi.h>报错
  • ¥15 eNSP中防火墙的使用
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部