黑马程序员技术交流社区
标题:
学生管理系统项目,如何按名字查询?
[打印本页]
作者:
ITman007
时间:
2016-7-16 00:42
标题:
学生管理系统项目,如何按名字查询?
/**
* 定义一个结构体学生信息变量
*/
typedef struct
{
//int stuentNum;
char *name;
Gender gender;
int age;
int score;
}Student;
//保存学生的数量
#define STUNUM 100
int realStuNum = 7;
// 全部学生信息
Student students[STUNUM] ={
{"Jack",GenderMale,18,75},
{"Rose",GenderFemale,17,80},
{"Lilei",GenderMale,20,90},
{"Lucy",GenderFemale,23,82},
{"MeiMei",GenderFemale,25,73},
{"Poly",GenderMale,30,72},
{"Ming",GenderMale,15,60}};
/**
* 提示用户输入姓名
*/
printf("请输入你要查询的姓名:");
char name[10];
rewind(stdin);
gets(name);
puts(name);
//fgets(stu.name, 20, stdin);
// 遍历所有学生,查找与输入姓名相符的人并打印其信息
for(int i = 0;i < realStuNum;i++)
{
if(students[i].name == name)
{
printf("%d\t%s\t%s\t%d \t %d\n",
i+1,
students[i].name,
students[i].gender == GenderMale?"男":"女",
students[i].age,
students[i].score);
}
else
{
printf("对不起,你查找的学生不存在\n");
}
}
为什么总是显示找不到?
作者:
wangxiaopang
时间:
2016-7-16 02:50
各种问题....如果你的程序可以跑起来,那就是你比较字符串的方法问题strcpy(str1,str2)==0来判断就好了
作者:
wangxiaopang
时间:
2016-7-16 02:51
#include <stdio.h>
#include <string.h>
int main(){
enum Gender{
GenderMale,GenderFemale
};
struct Student
{
//int stuentNum;
char *name;
enum Gender gender;
int age;
int score;
};
//保存学生的数量
#define STUNUM 100
int realStuNum = 7;
// 全部学生信息
struct Student stu[STUNUM] ={
{"Jack",GenderMale,18,75},
{"Rose",GenderFemale,17,80},
{"Lilei",GenderMale,20,90},
{"Lucy",GenderFemale,23,82},
{"MeiMei",GenderFemale,25,73},
{"Poly",GenderMale,30,72},
{"Ming",GenderMale,15,60}};
/**
* 提示用户输入姓名
*/
printf("请输入你要查询的姓名:");
char name[10];
rewind(stdin);
gets(name);
puts(name);
//fgets(stu.name, 20, stdin);
// 遍历所有学生,查找与输入姓名相符的人并打印其信息
for(int i = 0;i < realStuNum;i++)
{
if(strcmp(name, stu[i].name)==0)
{
printf("%d\t%s\t%s\t%d \t %d\n",
i+1,
stu[i].name,
stu[i].gender == GenderMale?"男":"女",
stu[i].age,
stu[i].score);
return 0;
}
}
printf("找不到学生\n");
}
复制代码
作者:
13453650568
时间:
2016-7-16 23:46
字符串是不能那么比较的;要用strcpy来比较
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2