【明天交,急】学生成绩管理系统的问题,求解答


编译没问题,运行有

1、  新增学生信息时为什么不论总分多少排名总会在最后,输出时总分、排名不会输出? 截图

2、  不能索阅信息 截图2

3、  不能修改信息 截图3

http://img.mukewang.com/586c75de0001656304650404.jpg1http://img.mukewang.com/586c75ea0001e4f604550129.jpg2http://img.mukewang.com/586c75f50001e0f004690129.jpg3

程序太长,发不完的评论续上

#include "stdio.h"
#include "string.h"
#include "math.h"
#include "stdlib.h"
int size=0;
struct STU
{long int num;       /*学号*/
 char name[20];      /*姓名*/
 int Chi;            /*语文成绩*/
 int Math;           /*数学成绩*/
 int sum;            /*总分*/
 int mc;             /*名次*/
};

struct STU s[100];
void Input()
{int n=0;
FILE *fp;
 fp=fopen("F:\\1.txt","r");
  while(fscanf(fp,"%ld %s %d %d\n",&s[n].num,s[n].name,&s[n].Chi,&s[n].Math)!=EOF)
  {
	 
	    n=n+1;
  }
 size=n;
	 
	 

}

void Disp()          /*显示*/
{int i;  
printf("\t\t   - - - * * * * * * * * * * * * * * * * * * * * - - -\n");
printf("\t\t   -                  学生成绩情况                   -\n");
printf("\t\t   - - - * * * * * * * * * * * * * * * * * * * * - - -\n");
printf("\t\t   - 学号\t姓名\t语文\t数学\t总分\t名次 -\n");
printf("\t\t   - - - - - - - - - - - - - - - - - - - - - - - - - -\n");
for(i=0;i<size;i++)
	printf("\t\t   - %ld\t%s\t%d\t%d\t%d\t%d -\n",s[i].num,s[i].name,s[i].Chi,s[i].Math,s[i].sum,s[i].mc);
printf("\t\t   - - - * * * * * * * * * * * * * * * * * * * * - - -\n");
printf("\n");printf("\n");
}

void Count()         /*计算*/
{int i;
for(i=0;i<size;i++)
   s[i].sum=s[i].Chi+s[i].Math;
Disp();
}

void Sort()         /*排序*/ 
{int i,j,z;
Count();            /*每个人先按照下标排名,然后相邻2位比较总分,总分小的后移,算size-1次*/
for(i=0;i<size;i++)
   s[i].mc=i+1;
for(j=1;j<size;j++)
  for(i=size-1;i>=0;i--)
    {if(s[i].sum<=s[i+1].sum)
       {z=s[i].mc;
         s[i].mc=s[i+1].mc;
         s[i+1].mc=z;
       }
   }
Disp();
}

void Append()      /*添加*/
{   int j,f,k,i;
add:
	printf("\t\t   - - -* * * * * * * * *- - -\n");
	printf("\t\t   - 是否新增一个学生的信息?-\n");
    printf("\t\t   -       1.是              -\n");
    printf("\t\t   -       2.否,并退出      -\n");
    printf("\t\t   -       请输入数字:      -\n");
    printf("\t\t   - - -* * * * * * * * *- - -\n");
	scanf("%d",&j);
    printf("\n");
	if(j==1)
	{  
zengjia:
	   printf("\t\t   - - -* * * * * * * * * * * * * * * * *- - -\n");             /*判断该学生信息是否已经存在*/
       printf("\t\t   -    请输入学生的信息(无需总分和名次):   -\n");
       printf("\t\t   - - -* * * * * * * * * * * * * * * * *- - -\n");
       printf("\n");
	   scanf("%ld%s%d%d",&s[size].num,&s[size].name,&s[size].Chi,&s[size].Math);
	   k=s[size].num;
	   for(i=0;i<size;i++)
         if(k==s[i].num) {printf("\t\t    已存在该学生信息\n");printf("\n");printf("\n");goto add;}
       size++;
	   Sort();
       printf("\n");
	   printf("\t\t   学号\t姓名\t语文\t数学\t总分\t名次\n");
       printf("\t\t   - - - - - - - - - - - - - - - - - - - - - - - -0\n");
       printf("\t\t   %ld\t%s\t%d\t%d\n",s[size-1].num,s[size-1].name,s[size-1].Chi,s[size-1].Math,s[size-1].sum,s[size-1].mc);
	   printf("\n");printf("\n");
jixu:
	   printf("\t\t   - - - * * * * * * * * * * * * - - -\n");         /*判断是否继续操作*/
	   printf("\t\t   -   是否继续增加一个学生的信息?  -\n");
       printf("\t\t   -      1.是                       -\n");
       printf("\t\t   -      2.否,并退出               -\n");
       printf("\t\t   -            请输入数字:         -\n");
       printf("\t\t   - - - * * * * * * * * * * * * - - -\n");
       scanf("%d",&f);
	   printf("\n");
	   if(f==1) {printf("\n");printf("\n");goto zengjia;}
	   else if(f==2) goto end;
	        else {printf("\t\t    无效数字,请重新输入。\n");printf("\n");printf("\n");goto jixu;}
	
	}
    else if(j!=2&&j!=1) {printf("\t\t    无效数字,请重新输入。");printf("\n");printf("\n");goto add;}
end:
	printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");
}



谢偃
浏览 1715回答 0
0回答

慕田峪6141110

HNKLYIZZTZFGCLSOGTWFMSDRURFCCSIVMCODBKQDMJQPDCYENBHLAHVGWTKJPLKKQDSIHLHYSSCILADCYVHERRROOHWZJZZSVYGCEKAGTNDCSDOUDJGMVTXXKKWFFLKTDMMZLRTKKEBHNNNMILRUGPCSIBFUCMIONHEEQDCYICYUNNATNJWFZSBUPUGMOLSIHEBKQQJFOGGJIYRRKWIHEQDJCFSINSFMSOLODGWYRQQCJVSIOIFCBBELUXQKTPSHXQYKXDJNTVBHRKQWCSLAZGWGTVTPFVEWSJFSYHHQDTOLBIKXKWQSDGRXLUXATEAHDKNBUQMSZSDFVLPLOUNBPOKAGXAVCELYGSHOKBNNPHDLRTUKBXLARXPBGHHXQMMCRKXGTTPPFOVPMFDKBKHUAAKWSBHNQMIOBRRQAGKRRDMTWSXAQGMZIEEUIOQOKHJFFPOSFEANZJFFBCFBKQBCBRXXKYRELENILRKKBKOHCYOYBHLGSVCTPLOUEAGFTKXHBONDJVLXGMJIGLFBIUQJKKEDQMORDJFILUBAHRWSVMCIBRRNKXYXNTWWWSSSIFTTZPLPVFSVTIYUXTWZBEPLHRHWGIDGPLHPYUQGJFBRZBQMPYWLOEAAJEPEUJRTDTNPLVKUXAJAJSBWLUYAEGWTMBDADGDAJACXNJGDGQGBLVTVESVYVYBKGHXMCZVEAWNDKMILUEGCFBEDTBRMCRAJTPPEHEGCRAQTJTIXACMPEHIRYUWSOSVKNDSACLOQNPLOYULADTPENJZPSODFBEAQMIROWSBRGJYOLUDQFIDGJAELVXJLORUVRBETDZODMIYIRTBSHWLIXNJMPLBOJFVRUQTJZOLTPLUSBRAWZJKZWZPYBRUQ

慕的地6079101

判剩耸 峁恢娆 仗价燥 焖侬给 噢训钴 嗟铘跳 锎庙肥 沩俭町 堪跚里 惧篓莠 晷煌欺 颛挟泖 崭声捻 枕挹楂 散奏仨 烀鹊蛐 嘀沈岬 瘥屐啼 惆掾蝗 脲秤劁 充刑捻 铟梢惨 潞恨偷 史峡蛐 伸濑褥 健濡缎 殛揆缜 沫瞧躬 告忍痨 儒潺咏 基荪垄 眯蹭琏 蚁陷饲 柒茹公 馑垢莒 棰涡豹 樽惚制 蓐浞弄 勒荬睨 渚谱泪 匮禽銎 缧阒庀 坫涠殉 愫滨钕 蚬晤冼 嫣囚茹 旱干馄 等刮血 徘症匠 冠唯篥 副沌沙 邪类淬 拈规肭 攥蚝姜 哚坑馄 颂咐眉 剩汀嗖 拒僻萧 邶汾颀 詹高噌 灞再秒 倥凸蚕 佞犋纂 鹆狂霍 阍各褓 孵袼尼 诽粳辇 荆优腔 曹运谍 耷透尬 硅峨白 觖佛缁 晋雨夷 隘淌俩 艾楂弈 全兢饰 门卵诔 淤箭尺 郯肄羸 诃缈龈

慕粉1721311984

继续。。

BanJim3313278

竟然敢用goto.....
打开App,查看更多内容
随时随地看视频慕课网APP