实际效果如此打击人...我想要个列表,不影响别的的

emmm...我想要这种效果,可是。。。/泄气(_ _)

确成了这样,还有原来能够运行的,也出问题了/难受...( _ _)ノ|

img

想象中的↑↑↑,现实给我的↓↓↓ 虽然知道是我不懂,但是还是很打击人

img

代码是这个

void chazhaoren()  //查找人
{
    int i;
    char m[20];
    printf("请输入您想查询的学生姓名:");
    scanf("%s",m); 
    printf("成绩1:%.2f\n成绩2:%.2f\n成绩3:%.2f\n",score1(m),score2(m),score3(m));

}

img

帮帮孩子吧,呜呜呜~

#include <stdio.h>
#include <string.h>
#include <windows.h>
int A;
int now_no=0; 

struct school  //学生信息
{
    int num;
    char name[50],sex[5];    //使用char数组
    float score1,score2,score3;
    int no;
} s[100]={{1,"bingqian","女",92,95,90},{2,"zhouzhou","女",94,92,93},{3,"qinying","女",95,98,89}};

void input()  /*原始数据录入模块*/ 
{
    int m,i;
    printf("请输入您要录入的人数:");
    scanf("%d",&m);
    for(i=1;i<m+1;i++)
    {
        printf("请输入您要录入的学号:");
        scanf("%d",&s[i].num);
        printf("请输入您要录入的姓名:");
        scanf("%s",s[i].name);
        printf("请输入您要录入的性别:");
        scanf("%s",s[i].sex);
        printf("请输入您要录入的成绩1:");
        scanf("%f",&s[i].score1);
        printf("请输入您要录入的成绩2:");
        scanf("%f",&s[i].score2);
        printf("请输入您要录入的成绩3:");
        scanf("%f",&s[i].score3);
    }
    printf("创建完毕!\n");
}

void chazhaoren()  //查找人
{
    int i;
    char m[20];
    printf("请输入您想查询的学生姓名:");
    scanf("%s",m); 
    printf("成绩1:%.2f\n成绩2:%.2f\n成绩3:%.2f\n",score1(m),score2(m),score3(m));

}

int num(char a[20])   //学号
{
    int i;
    for(i=0;i<10;i++)
        if(strcmp(s[i].name,a)==0)
            return s[i].num;
}

float score1(char a[20])   //成绩1 
{
    int i;
    for(i=0;i<10;i++)
        if(strcmp(s[i].name,a)==0)
            return s[i].score1;
}

float score2(char a[20])   //成绩2
{
    int i;
    for(i=0;i<10;i++)
        if(strcmp(s[i].name,a)==0)
            return s[i].score2;
}

float score3(char a[20])  //成绩3
{
    int i;
    for(i=0;i<10;i++)
        if(strcmp(s[i].name,a)==0)
            return s[i].score3;
}

int sex(char a[20])   //性别
{
    int i;
    for(i=0;i<10;i++)
        if(strcmp(s[i].name,a)==0)
            return i;
}

void display() /*显示数据函数*/ 
{ 
    int i;
    char m[20],as;
    do
    {
        printf("\t\t\t学生信息列表\n"); 
        printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\n");
        for(i=0;i<now_no&&s[i].name[0];i++) 
            printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",num(m),m,s[sex(m)].sex,score1(m),score2(m),score3(m)); 
    }
    while(!as);
}

void chaxinxi()
{
    char m[20];
    printf("请输入想要查询的学生姓名:");
    scanf("%s",m);
    printf("学号:%d\n姓名:%s\n性别:%s\n成绩1:%.2f\n成绩2:%.2f\n成绩3:%.2f\n",num(m),m,s[sex(m)].sex,score1(m),score2(m),score3(m));
}

void del()  /*删除数据函数*/ 
{ 
    int k,i; 
    printf("输入要删除学生的编号:"); 
    scanf("%d",&k); 
    for(i=0; i<now_no; i++) 
    { 
        if(s[i].no==k) 
        { 
            if(i==now_no)  now_no-=1; 
            else 
            { 
                s[i]=s[now_no-1]; 
                now_no-=1; 
            }  
            break; 
        } 
    }
} 

void menu()   
{
    printf("--------------欢迎进入学生信息管理系统--------------\n\n\n");
    printf("1.录入学生信息\n");
    printf("2.学生信息列表\n");
    printf("3.删学生信息\n");
    printf("4.查询学生成绩\n");
    printf("5.退出\n\n\n");
    printf("----------------------------------------------------\n\n\n");
    printf("请输入您要执行的项目:");
}

int main()     //主函数
{
    int x,i;
    for(i=0;i<10;i++)
    {
        menu();
        scanf("%d",&x);
        switch(x)
        {
            case 1:input();break;
            case 2:display();break;
            case 3:del();break;
            case 4:chazhaoren();break;
            case 5:exit(0);
            default:printf("无此数字!\n");
        }
    }
}

修改如下,供参考:

#include <stdio.h>
#include<conio.h>
#include <string.h>
#include <windows.h>
int A;
int now_no=3;
struct school  //学生信息
{
    int   num;
    char  name[50],sex[5];    //使用char数组
    float score1,score2,score3;
    int   no;
} s[100]={{1,"bingqian","女",92,95,90},{2,"zhouzhou","女",94,92,93},{3,"qinying","女",95,98,89}};

void input()  /*原始数据录入模块*/ 
{
    int m,i;
    printf("请输入您要录入的人数:");
    scanf("%d",&m);
    for(i=now_no;i < now_no+m;i++)
    {
        printf("请输入您要录入的学号:");
        scanf("%d",&s[i].num);
        printf("请输入您要录入的姓名:");
        scanf("%s",s[i].name);
        printf("请输入您要录入的性别:");
        scanf("%s",s[i].sex);
        printf("请输入您要录入的成绩1:");
        scanf("%f",&s[i].score1);
        printf("请输入您要录入的成绩2:");
        scanf("%f",&s[i].score2);
        printf("请输入您要录入的成绩3:");
        scanf("%f",&s[i].score3);
    }
    printf("创建完毕!\n");
    now_no += m;
    getch();
}

void chazhaoren()  //查找人
{
    int i;
    char m[20];
    printf("请输入您想查询的学生姓名:");
    scanf("%s",m);
    for(i=0;i < now_no;i++)
    {
        if(strcmp(s[i].name,m)==0) break;
    }
    if(i >= now_no) printf("无此记录!\n");
    else{
            printf("\n学号\t姓名\t\t性别\t成绩1\t成绩2\t成绩3\n");
            printf("%d\t%-10s\t%-4s\t%.2f\t%.2f\t%.2f\n",
               s[i].num,s[i].name,s[i].sex,s[i].score1,s[i].score2,s[i].score3);
    }
    getch();
}

void display() /*显示数据函数*/
{
    int i;
    printf("\n\t\t\t学生信息列表\n\n");
    printf("学号\t姓名\t\t性别\t成绩1\t成绩2\t成绩3\n");
    for(i=0;i<now_no;i++)
        printf("%d\t%-10s\t%-4s\t%.2f\t%.2f\t%.2f\n",
               s[i].num,s[i].name,s[i].sex,s[i].score1,s[i].score2,s[i].score3);
    printf("\n\n");
    getch();
}
void del()  /*删除数据函数*/ 
{ 
    int k,i,j,flg=0;
    printf("输入要删除学生的编号:");
    scanf("%d",&k);
    for(i=0; i < now_no; i++)
    {
        if(s[i].num == k)
        {
            if(i==now_no) now_no--;
            else
            {
                for(j=i;j < now_no-1;j++)
                    s[j] = s[j+1];
                now_no--;
            }
            flg = 1;
            break;
        }
    }
    if(flg == 0) printf("无此记录!\n");
    else         printf("删除成功!\n");
    getch();
} 
void menu()   
{
    printf("--------------欢迎进入学生信息管理系统--------------\n\n\n");
    printf("1.录入学生信息\n");
    printf("2.学生信息列表\n");
    printf("3.删学生信息\n");
    printf("4.查询学生成绩\n");
    printf("5.退出\n\n\n");
    printf("----------------------------------------------------\n\n\n");
    printf("请输入您要执行的项目:");
}
int main()     //主函数
{
    int x,i;
    while(1) //for(i=0;i<10;i++)
    {
        menu();
        scanf("%d",&x);
        switch(x)
        {
            case 1:input();     break;
            case 2:display();   break;
            case 3:del();       break;
            case 4:chazhaoren();break;
            case 5:exit(0);
            default:printf("无此数字!\n");
        }
    }
}