Echo32398 2023-03-23 23:20 采纳率: 80%
浏览 26
已结题

有关与链表的运动会管理系统部分代码的疑问


#include<stdio.h>
#include<stdlib.h>
typedef struct Node{

    char major[50];//专业 
    int grade;//年级 
    char name[50];//姓名 
    char sex[10];//性别 
    char item;//项目 
    int score;//成绩 
    //char Field[5][10] = {"跳高", "跳远", "铅球", "实心球", "立定跳远"};
    //char Track[8][20] = {"60米", "100米", "400米", "800米", "1500米", "4*100米接力", "4*400米接力", "异程接力"}; 
    char college[11][20] = {"工学院", "理学院", "文学院", "法学院", "商学院", "医学院", "长江新闻与传播学院", "长江艺术与设计学院", "开放学院", "马克思主义学院", "国际学院"};
    int sum;//总和 
    struct Node*next;//指针域 
}node;

node List;//链表
 
void menu();
void show();//发布 
void addInfo();//录入 
void insertInfo(node*L,node e);//插入 功能 

int main()    {
        int choice=0;
        menu() ;
        scanf("%d",&choice);
        switch(choice){
            case 1:
            //发布运动会信息
            show() ;
                break;
            case 2:
            //录入运动会信息 
            addInfo();
                break;
        }
    
        return 0; 
    }

    void menu() {
    printf("\t\t\t===================运动会项目管理系统==================\n");
    printf("\t\t\t*                                                       *\n");
    printf("\t\t\t*          1>. 运动会项目信息公告                       *\n");
    printf("\t\t\t*          2>. 录入运动会项目信息                       *\n");
    printf("\t\t\t=========================================================\n");
    printf("请输入对应功能键") ;
}


    void show(){
        printf("\t\t\t公告\n");
        printf("全校师生:\n\t我校将在田径场举办运动会,期望大家踊跃报名参加。\n");
        printf("  现有项目:\n");
        printf("\t************************************************\n") ;
        char *Field[] = {"跳高", "跳远", "铅球", "实心球", "立定跳远"};
        int i;
        for(i=0;i<5;i++){
                printf("\t*\t田赛: %s\t\t\t\t*\n",Field[i]);
        }
        printf("\t************************************************\n") ;
        char *Track[] = {"60米", "100米", "400米", "800米", "1500米", "4*100米", "4*400米", "异程接力"}; 
        int j;
        for(j=0;j<8;j++){
                printf("\t*\t径赛: %s\t\t\t\t*\n",Track[j]);
        }
        printf("\t************************************************\n") ;
        
    

         
    }
    void addInfo(){
        printf("录入运动会信息\n");
        node st;
        printf("请输入参赛学生相关信息\n") ;
        printf("学院:");
        scanf("%s",st.college) ;
        printf("年级:");
        scanf("%d",st.grade) ;
        printf("专业:");
        scanf("%s",st.major) ;
        printf("姓名:");
        scanf("%s",st.name);
        printf("性别:");
        scanf("%s",st.sex) ;
        printf("项目:") ;
        scanf("%s",st.item);
        printf("成绩:");
        scanf("%d",st.score);
        insertInfo(&List,st);
        
        
    }
    //头插法 
    void insertInfo(node *L,node e) {
        node *h=L;
        node *s=(node *)malloc(sizeof(node));
        *s=e;
        s->next=h->next;
        h->next=s;
    }

可以帮忙看一下,为什么我的代码跑起来,到了专业时,输入不了文字,就停止了,不继续跑了,想了一个晚上,没有想明白,期望能有人帮忙解疑,Thanks♪(・ω・)ノ

img

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-03-23 23:35
    关注
    printf("年级:");
    scanf("%d",st.grade) ;
    应该是
    scanf("%d",&st.grade) ;
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 3月23日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助