| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 240 人关注过本帖
标题:哪位大侠帮我找找错误
只看楼主 加入收藏
红豆o
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-1-18
结帖率:0
收藏
已结贴  问题点数:10 回复次数:3 
哪位大侠帮我找找错误
#include"stdio.h"
struct student
{int num;
char name[10];
int score[5];
int aver;
int sum;
int mc;
}d[4];
char course[5][10];
main()
{
int a;
int i=0,f=0,j;
char p[7],mm[7]="123456";
printf("请输入密码\n");
while(i<3)
{
for(j=0;j<6;j++)
{
p[j]=getch();
printf("*");}
p[j]='\0';i++;
if(strcmp(p,mm)==0)
{f=1;break;}
printf("\n");
if(i<3)
printf("请输入正确密码\n");}
if(f==0){printf("再见\n");getch();}
else{printf("欢迎你\n");
printf("*********************\n");
printf("辽宁信息职业技术学院\n");
printf("C语言程序\n");
printf("题目:学生成绩管理系统\n");
printf("设计者:陈忠和\n");
printf("学号:05\n");
printf("指导老师:高阁\n");
printf("日期:2010年12月20日\n");
printf("*********************\n");
while(1)
{
printf("1-录入 2-查询 3-排序 4-修改 5-统计 6-退出\n");
printf("请选择:\n");
scanf("%d",&a);
switch(a)
{
case 1:ll();break;
case 2:xg();break;
case 3:px();break;
case 4:xg();break;
case 5:tj();break;
case 6:exit(0);
default:printf("你输入错误,请在次选择:\n");
}
}
}
}
ll()
{
int i,j;
printf("请输入本学期的四门课程:\n");
for(i=1;i<=4;i++)
scanf("%s",course[i]);
for(i=1;i<4;i++)
{
printf("请输入%d个人的成绩:\n",i);
printf("学号:");scanf("%d",&d[i].num);
printf("姓名:");scanf("%s",d[i].name);
for(j=1;j<=4;j++)
{
printf("%s",course[j]);
scanf("%d",&d[i].score[j]);
}
}
printf(" 学号  姓名%7s%8s%8s%8s  总成绩 平均分 名次\n",
course[1],course[2],course[3],course[4]);
for(i=1;i<4;i++)
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],
d[i].sum,d[i].aver,d[i].mc);
}
cx()
{
int xh;
do
{
printf("1---学号查询   2---姓名查询\n");
printf("3---返回菜单\n");
printf("请选择:\n");
scanf("%d",&xh);
switch(xh)
{
case 1:xhcx();break;
case 2:xmcx();break;
case 3:break;
default:printf("选择错误,重新选择:\n");
}
}
while(xh!=3);
}
xhcx()
{
int i,xh;
printf("请输入学号:\n");
scanf("%d",&xh);
for(i=1;i<4;i++)
if(d[i].num==xh)
{
printf("学号   姓名%7s%8s%8s%8s   总成绩  平均分  名次\n",
course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],
d[i].sum,d[i].aver,d[i].mc);break;
}
}
xmcx()
{
int i;
char xm[10];
printf("请输入姓名:\n");
scanf("%s",xm);
for(i=1;i<4;i++)
if(strcmp(d[i].name,xm)==0)
{
printf("学号   姓名%7s%8s%8s%8s   总成绩   平均分   名次\n",
course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],
d[i].sum,d[i].aver,d[i].mc);
break;
}
}
px()
{
int a;
do
{
printf("1---平均分排序    2---总分排序\n");
printf("3---回到主菜单\n");
printf("请选择:\n");
scanf("%d",&a);
switch(a)
{
case 1:pjf();break;
case 2:zf();break;
case 3:break;
default:printf("选择错误,请重新选择:\n");
}
}
while(a!=3);
}
zf()
{
int ss[4],i,j,t;
for(i=1;i<4;i++)
{
d[i].sum=d[i].score[1]+d[i].score[2]+d[i].score[3]+d[i].score[4];
ss[i]=d[i].sum;
}
for(i=1;i<4;i++)
for(j=1;j<4;j++)
if(ss[j]<ss[j+1])
{
t=ss[j];ss[j]=ss[j+1];ss[j+1]=t;
}
for(i=1;i<4;i++)
for(j=1;j<4;j++)
if(d[j].sum==ss[i])
d[j].mc=i;
printf("学号    姓名%7s%8s%8s%8s    总成绩   平均分   名次\n",
course[1],course[2],course[3],course[4]);
for(i=1;i<4;i++)
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],
d[i].sum,d[i].aver,d[i].mc);
}
pjf()
{int ss[4],i,j,t;
for(i=1;i<4;i++)
{
d[i].aver=(d[i].score[1]+d[i].score[2]+d[i].score[3]+d[i].score[4])/4;
ss[i]=d[i].aver;
}
for(i=1;i<3;i++)
for(j=1;j<4;j++)
if(ss[j]<ss[j+1])
{
t=ss[j];ss[j]=ss[j+1];ss[j+1]=t;
}
for(i=1;i<4;i++)
for(j=1;j<4;j++)
if(d[j].aver==ss[i])
d[j].mc=i;
printf("学号    姓名%7s%8s%8s%8s    总成绩   平均分   名次\n",
course[1],course[2],course[3],course[4]);
for(i=1;i<4;i++)
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",d[i].num,d[i].name,d[i].score[1],d[i].
score[2],d[i].score[3],d[i].score[3],
d[i].sum,d[i].aver,d[i].mc);
}
xg()
{int a;
do
{printf("1-学号  2-姓名  3-返回主菜单\n");
printf("请选择:\n");
scanf("%d",&a);
switch(a)
{case 1:xhxg();break;
case 2:xmxg();break;
case 3:break;
default:printf("输入错误,请重新输入\n");
}}
while(a!=3);
}
xhxg()
{int xh,i,j;
printf("请输入查询学号");
scanf("%d",&xh);
for(i=1;i<4;i++)
if(d[i].num==xh)
{printf("学号姓名 %8s %8s %8s %8s 总分  平均分  名次\n",
 course[1],course[2],course[3],course[4]);
 printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
 d[i].num,d[i].
 name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],d[i].sum,d[i].aver,d[i].mc);
 printf("请输入正确信息\n");
 printf("学号:");
 scanf("%d",&d[i].num);
 printf("姓名:");
 scanf("%s",d[i].name);
 for(j=1;j<=4;j++)
 {printf("%s:",course[j]);
 scanf("%d",&d[i].score[j]);
 }
 printf("学号姓名 %8s %8s %8s %8s 总分 平均分 名次 \n",
 course[1],course[2],course[3],course[4]);
 printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
 d[i].num,d[i].
 name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],d[i].sum,d[i].aver,d[i].mc);
 }
 }
 xmxg()
 {int i,j;
 char xm[10];
 printf("请输入查询姓名:");
  scanf("%s",xm);
for(i=1;i<4;i++)
if(strcmp(d[i].name,xm)==0)
{printf("学号  姓名 %8s%8s%8s%8s 总分 平均分 名次\n",course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],d[i].sum,d[i].aver,d[i].mc);
printf("请输入正确信息\n");
printf("学号:");
scanf("%d",&d[i].num);
printf("姓名:");
scanf("%s",d[i].name);
for(j=1;j<=4;j++)
{printf("%s:",course[j]);
scanf("%d",&d[i].score[j]);
}
printf(" 学号 姓名%8s %8s %8s %8s总分 平均分 名次\n",course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],d[i].sum,d[i].aver,d[i].mc);
}
}
tj()
{int a;
do
{printf("1-统计每人的平均分 2-统计总分 3-统计全班平均分 4-返回主菜单\n");
printf("请选择:\n");
scanf("%d",&a);
switch(a)
{case 1:tjpf();break;
case 2:tjzf();break;
case 3:tjbpf();break;
case 4:break;
default:printf("输入错误,请重新输入\n");
}}
while(a!=4);  }
tjzf()
{int i;
for(i=1;i<=4;i++)
d[i].sum=d[i].score[1]+d[i].score[2]+d[i].score[3]+d[i].score[4];
printf("每个人的总分为:\n");
printf("学号 姓名   总分\n");
for(i=1;i<=4;i++)
printf("%3d%5s%3d\n",d[i].num,d[i].name,d[i].sum);
}
tjbpf()
{int i,t=0;
for(i=1;i<=4;i++)
t+=d[i].sum;
t=t/4;
printf("本班的平均分为:\n");
printf("%3d\n",t);
}

tjpf()
{int i;
for(i=1;i<=4;i++)
d[i].aver=(d[i].score[1]+d[i].score[2]+d[i].score[3]+d[i].score[4])/4;
printf("每个人的平均分为:\n");
printf("学号 姓名  平均分\n");
for(i=1;i<=4;i++)
printf("%3d%5s%3d\n",d[i].num,d[i].name,d[i].aver);
}
2010-12-20 15:20
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
求求你  用链表作吧
链表类.rar (1.9 KB)

                                         
===========深入<----------------->浅出============
2010-12-20 17:59
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
如果你用链表做   你们老师肯定会很看重你的哦
加油   放弃你的数组

                                         
===========深入<----------------->浅出============
2010-12-20 17:59
红豆o
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-1-18
收藏
得分:0 
回复 2楼 laoyang103
谢谢了 可惜只能用数组做
2010-12-21 09:24
快速回复:哪位大侠帮我找找错误
数据加载中...
 
   



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

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