| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1577 人关注过本帖
标题:录入模块录入不了,求大神帮助,实训课,明天就要交了,万分感谢
只看楼主 加入收藏
lurd
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-6-2
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:3 
录入模块录入不了,求大神帮助,实训课,明天就要交了,万分感谢
源程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student
{
    char number[15];
    char name[10];
    char sex[4];
    char bkzy[20];
    char clas[10];
}STUDENT;

//---------------------------界面-------------------------------
void mainmenu()
#define N 100
{
    int i;
    system("cls");
    printf("\n");
    printf("%60s\n","欢迎使用学生信息管理系统\n");
    for(i=0;i<120;i++)
        putchar('=');
    printf("\n");
    printf("                         1、录入学生信息                  2、显示学生信息\n");
    printf("                         3、查询学生信息                  4、删除学生信息\n");
    printf("                                                          0、退出\n");
    printf("                       \n");
    for(i=0;i<120;i++)
        putchar('=');
    putchar('\n');
    printf("%s","请输入需要执行的序号:");
}
void input(struct student *data,int *len);
void output(struct student *data,int len);
void find_xh(struct student *data,int len);
int sanchu(struct student *data,int len);

void main()
{
    STUDENT data[N];
    int len;
    int choice;
    mainmenu();
    scanf("%d",&choice);
    getchar();
    while(1)
    {
        switch(choice)
        {
        case 1:input(data,&len);break;
        case 2:output(data,len);break;
        case 3:find_xh(data,len);break;
        case 4:sanchu(data,len);break;
        case 0:exit(0);break;
        default:
            if (choice!='\n')
                printf("%s\n","\n输入错误!!");
            getchar();
            break;
        }
    if(choice!='\n') mainmenu();
    scanf("%d",&choice);
    getchar();
    }
}
//---------------------------录入学生信息-------------------------------
void input(struct student *data,int *len)
{
    char xh[15];
    system("cls");
    while(1)
    {
        printf("\n请输入学生信息,学号输入 -1 时表示结束输入\n");
        printf("请输入学号:");
        gets(xh);
        if(strcmp(xh,"-1")!=0)
        {
            printf("请输入学生姓名:");
            scanf("%s",&data[N].name);
            printf("请输入学生性别:");
            scanf("%s",&data[N].sex);
            printf("请输入学生专业:");
            scanf("%s",&data[N].bkzy);
            printf("请输入学生班级:");
            scanf("%s",&data[N].clas);
            getchar();      
        }
        else
            break;
     }
}
//---------------------------显示学生信息-------------------------------
void output(struct student *data,int len)
{
    int i;
    system("cls");
    putchar('\n');
    printf("%12s","学号");
    printf("%8s","姓名");
    printf("%4s","性别");
    printf("%15s","专业");
    printf("%10s","班级");
    putchar('\n');
    for(i=0;i<120;i++)
        putchar('=');
    for(i=0;i<len;i++)
    {
        printf("%12s",data[i].number);
        printf("%8s",data[i].name);
        printf("%4s",data[i].sex);
        printf("%15s",data[i].bkzy);
        printf("%10s",data[i].clas);
        putchar('\n');
    }
    for(i=0;i<120;i++)
        putchar('=');
    putchar('\n');
    printf("\n按回车返回\n");
    getchar();
}
//---------------------------查询学生信息-------------------------------
void find_xh(struct student *data,int len)
{
    char find_no[15];
    int i,result;
    while(1)
    {
        result=0;
        system("cls");
        printf("\n请输入查询的学号,退出当前操作请输入-1\n");
        gets(find_no);
        if(strcmp(find_no,"-1")==0) return;
        printf("\n查询结果如下:\n");
        for(i=0;i<120;i++)
            putchar('=');
        putchar('\n');
        printf("%12s","学号");
        printf("%8s","姓名");
        printf("%4s","性别");
        printf("%15s","专业");
        printf("%10s","班级");
        putchar('\n');
        for(i=0;i<len;i++)
            if(strcmp(data[i].name,find_no)==0)
            {
                printf("%12s",data[i].number);
                printf("%8s",data[i].name);
                printf("%4s",data[i].sex);
                printf("%15s",data[i].bkzy);
                printf("%10s",data[i].clas);
                putchar('\n');
            }
        for(i=0;i<120;i++)
            putchar('\n');
        printf("\n按回车键继续");
        getchar();
    }
}
//-----------------------------删除学生信息----------------------------
int sanchu(struct student *data,int len)
{
    char xh[15];
    int i,n;
    system("cls");
        printf("请输入学号:");
        scanf("%c",&xh);
            for(n=0;n<100;n++)
                {
                    if(data[i].number==xh)
                    {
                        for(i=n;i<100;i++)         
                        {         
                            strcpy(data[i].name,data[i+1].name);      
                            strcpy(data[i].bkzy,data[i+1].bkzy);      
                            printf("该学生信息已删除.\n");      
                            return n;
                        }
                        printf("没有找到相关记录\n");
}}}

请大神们耐心帮我看一下,再次谢过!
搜索更多相关主题的帖子: int printf putchar 输入 data 
2019-06-05 21:28
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:10 
scanf("%s",&data[N].clas);
这里错了
N 是一个常量 100, 用来定义数组用的
你这句话代表一直在 data[100] 赋值
而且, 不出意外的话越界了
2019-06-06 18:54
cstdio
Rank: 5Rank: 5
来 自:上海市静安区
等 级:贵宾
威 望:15
帖 子:97
专家分:44
注 册:2018-5-30
收藏
得分:10 
void mainmenu()
#define N 100//错了,void mainmenu()和{之间不允许有其他符号(回车、空格除外)
{
    int i;
    system("cls");
    printf("\n");
    printf("%60s\n","欢迎使用学生信息管理系统\n");
    for(i=0;i<120;i++)
        putchar('=');
    printf("\n");
    printf("                         1、录入学生信息                  2、显示学生信息\n");
    printf("                         3、查询学生信息                  4、删除学生信息\n");
    printf("                                                          0、退出\n");
    printf("                       \n");
    for(i=0;i<120;i++)
        putchar('=');
    putchar('\n');
    printf("%s","请输入需要执行的序号:");
}

import random
i=random.randint(100,100000)
print i
2019-06-07 16:29
cstdio
Rank: 5Rank: 5
来 自:上海市静安区
等 级:贵宾
威 望:15
帖 子:97
专家分:44
注 册:2018-5-30
收藏
得分:0 
void mainmenu()
#define N 100//错了,void mainmenu()和{之间不允许有其他符号(回车、空格除外)
{
    int i;
    system("cls");
    printf("\n");
    printf("%60s\n","欢迎使用学生信息管理系统\n");
    for(i=0;i<120;i++)
        putchar('=');
    printf("\n");
    printf("                         1、录入学生信息                  2、显示学生信息\n");
    printf("                         3、查询学生信息                  4、删除学生信息\n");
    printf("                                                          0、退出\n");
    printf("                       \n");
    for(i=0;i<120;i++)
        putchar('=');
    putchar('\n');
    printf("%s","请输入需要执行的序号:");
}

import random
i=random.randint(100,100000)
print i
2019-06-26 13:39
快速回复:录入模块录入不了,求大神帮助,实训课,明天就要交了,万分感谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027262 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved