| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 679 人关注过本帖
标题:为什么我的这个search涵数不行啊~~
只看楼主 加入收藏
lty871127
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-6-16
收藏
 问题点数:0 回复次数:7 
为什么我的这个search涵数不行啊~~

#include <stdio.h>
struct student
{

char number[11];
char name [25];
char sex;
int age;
float score[3];
float sum;
float aver;
int i,j;

};
struct student stu[10]={
{"3106005748","LanTianRan",'M',20,90,90,90},
{"3000000001","huangLei",'M',21,59,59,90},
{"3000000002","huangMing",'F',17,89,70,90},
{"3000000003","JinLing",'F',20,20,84,30},
{"3000000004","LiMing",'F',20, 89,50,90},
{"3000000005","LiHua",'F',48, 20,40,50},
{"3000000006","LiMing",'F',20, 95,84,85},
{"3000000007","Lichao",'F',20, 60,60,70},
{"3000000008","Lijia",'F',20, 96,84,90},
{"3000000009","Lishan you",'F',19,89,84,90}
};


void main()
{ int n;
printf("\n\n\n\n");
printf("\t\t\t ****************************\n\n");
printf("\t\t\t Class: 06dianzishangwu06 Name:蓝天然 3106005748\n\n");
printf("\t\t\t *** welcome to system *** \n\n");
printf("\t\t\t ****************************\n\n\n\n");
printf("\t\t\t 1 成绩显示 \n\n");
printf("\t\t\t 2 成绩排序 \n\n");
printf("\t\t\t 3 成绩查找 \n\n");
printf("\t\t\t 4 成绩统计 \n\n");
printf("\t\t\t 0 退出系统 \n\n");
do
{
scanf("%d",&n);
switch(n)
{
case 1:lty();
case 2:secrch();

}
}while((n>3)&&(n<1)); }


secrch()
{
int n,i;
printf("请输入学生学号:");
scanf("%10s",&i);
for(n=0;n<10;n++)
{
if(stu[10].number==i&&stu[10].number!=0)
{
printf("学号:%d\n",stu[10].number);
printf("姓名:%s\n",stu[10].name);
printf("年龄:%d\n",stu[10].age);
return n;
}
}
printf("\n输入错误或学号不存在.\n");
return -1;
}

lty()
{struct student *p;
printf("\tNo. Name sex age math english computer\n ");
for(p=stu;p<stu+10;p++)
printf(" %10s %-12s %2c %4d %3.1f %3.1f %3.1f\n",
p->number,p->name,p->sex,p->age,p->score[1],p->score[2],p->score[2]);
getch();
}
进入操作菜单后,按2输入学号后却提示说没有这个学号,高手请指教

搜索更多相关主题的帖子: search 
2007-06-23 13:06
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

for(n=0;n<10;n++)
{
if(stu[10].number==i&&stu[10].number!=0)
{
printf("学号:%d\n",stu[10].number);
printf("姓名:%s\n",stu[10].name);
printf("年龄:%d\n",stu[10].age);
return n;
}
这段代码要表达什么意思?

[此贴子已经被作者于2007-6-23 14:58:20编辑过]


深山苦学C语言,终年不见外面世界。
2007-06-23 14:55
lty871127
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-6-16
收藏
得分:0 
这不是输入学号,然号与上面的学号相对,如果相同的话就输出学号姓名,年龄
2007-06-23 17:45
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

for(n=0;n<10;n++)
{
if(stu[10].number==i&&stu[10].number!=0)
这段代码不就是你输入的学号与数组第十个元素里的学号进行比较?
那你这代码还有意义?for(n=0;n<10;n++)应该是把stu[10].number里面10元素换成n来进行比较吧?


深山苦学C语言,终年不见外面世界。
2007-06-23 18:04
gospark
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-6-1
收藏
得分:0 
四楼所说的有理,这个程序在这儿就错了
不过我改过来之后,发现还是不能查找成功,请再仔细看一看

软硬结合才是发展之路~~~
2007-06-24 02:06
wulai111222
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-12-14
收藏
得分:0 
scanf("%10s",&i);
之后你输出下i看你这个变量的内容是不是你想要得到的
2007-06-25 09:41
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

输入字符串,不需要加&地址运算符。


深山苦学C语言,终年不见外面世界。
2007-06-25 11:49
zm1573
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-6-19
收藏
得分:0 
   输入学生学号时,定义时的类型int和使用时的类型char相冲突,因而不能得到正确的赋值...
 

2007-06-25 21:17
快速回复:为什么我的这个search涵数不行啊~~
数据加载中...
 
   



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

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