#include<iostream>
using namespace std;
class student
{
public:
double id;
char name[20];
char sex;
int age;
void set()
{
double a;
char b[20];
char c;
int d;
cin>>a>>b>>c>>d;
id=a;
strcpy(name,b);
sex=c;
age=d;
}
void print()
{
cout<<id<<" "<<name<<" "<<sex<<" "<<age<<endl;
}
};
void main()
{
student stu[5];
cout<<"请输入五名学生的学号、姓名、性别、年龄:"<<endl;
for(int i=0;i<5;i++)
{
stu[i]set();
}
student a;
for(int i=1;i<5;i++)
for(int j=0;j<5-i;j++)
if(stu[j]age<stu[j+1]age)
{
a=stu[j+1];
stu[j+1]=stu[j];
stu[j]=a;
}
cout<<"五名学生从大到小的顺序是:"<<endl;
for(int i=0;i<5;i++)
{
stu[i]print();
}
}
18为身份z号码的第17位数字表示性别:奇数表示男性,偶数表示女性
所有代码中,只要截取出第17位的数字出来就可以判断性别,如:
String sex;
// 判断性别
if (IntegerparseInt(CardCodesubstring(16)substring(0, 1)) % 2 == 0) {
sex = "女";
} else {
sex = "男";
}
#include<stdioh>
void main()
{
char name[11],sex;
int age;
float score;
printf("Please input name age sex score:\n");
scanf("%s%d %c%f",name,&age,&sex,&score); //一般输入不需要+\t,\n输出才需要,因为你输入有空格,而读取字符时会把空格当作字符读取,所以%d和%c之间可以用空格隔开,消除你输入的空格,还有输入字符串直接用%s就可以了,后面+数组名name
printf("\nname\t\tage\tsex\tscore\n");
printf("%s\t\t%d\t%c\t%1f\n",name,age,sex,score);//后面用数组名name就可以了
name[11]='\0';
}
课程设计就是为了加深你的理解,检验你学到东西了没,如果一抄了之,害的是自己!!
以下是我专门为你写的一个,类似模版,我就写了两个模块,其他的有什么要求你自己发挥吧
#include "stdioh"
#include "stringh"
#define N 1
struct Student
{
char name[8];
char num[13];
char sex[2];
int score[3];
}stud[N];
void build();//信息录入子函数
void show();//显示子函数
void search();//查找子函数
/这里可以添加你想实现的模块/
void main()
{
build();
show();
}
void build()
{
printf("请输入%d个学生的信息:\n",N);
for(int i=0;i<N;i++)
{
printf("请输入学生姓名:");
gets(stud[i]name);
printf("请输入学生学号:");
gets(stud[i]num);
printf("请输入学生性别:");
gets(stud[i]sex);
printf("请输入学生三门课的成绩:");
scanf("%d%d%d",&stud[i]score[0],&stud[i]score[1],&stud[i]score[2]);
}
}
void show()
{
printf("学生信息如下:\n");
for(int i=0;i<N;i++)
{
printf("学生姓名:%s\n",stud[i]name);
printf("学生学号:%s\n",stud[i]num);
printf("学生性别:%s\n",stud[i]sex);
printf("学生三门课的成绩:%d %d %d\n",stud[i]score[0],stud[i]score[1],stud[i]score[2]);
printf("\n");
}
}
#include<stdioh>
#define N 200
struct child
{
char name[10];
char sex[3];
int age;
int height;
float weight;
struct {
int year;
int month;
int day;
}bdate;
}ch[N];
void input()
{
int i;
for(i=0;i<N;i++)
{
printf("\n请输入第%d名小朋友信息:\n",i+1);
printf("姓名:");
scanf("%s",ch[i]name);
printf("性别:");
scanf("%s",ch[i]sex);
printf("年龄:");
scanf("%d",&ch[i]age);
printf("身高:");
scanf("%d",&ch[i]height);
printf("体重:");
scanf("%f",&ch[i]weight);
printf("出生日期[YYYY-MM-DD]:");
scanf("%d-%d-%d",&ch[i]bdateyear,&ch[i]bdatemonth,&ch[i]bdateday);
}
}
void sort()
{
struct child ct;
int i,j;
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
if(ch[j]height<ch[j+1]height)
{
ct=ch[j];
ch[j]=ch[j+1];
ch[j+1]=ct;
}
}
void output()
{
int i;
printf("\n\t幼儿园小朋友一览(依身高排序)\n");
printf("===================================================\n");
printf(" 姓名 性别 年龄 身高 体重 出生日期 \n");
printf("===================================================\n");
for(i=0;i<N;i++)
printf(" %-8s %-2s %2d %d %31f %d%d%d\n",ch[i]name,ch[i]sex,ch[i]age,ch[i]height,ch[i]weight,ch[i]bdateyear,ch[i]bdatemonth,ch[i]bdateday);
}
void main()
{
input();
sort();
output();
}
//分给的忒少,呵呵
以上就是关于用类结构的形式编写一个程序,使其可实现输入5个学生姓名、性别和年龄,并按年龄从大到小进行排序输出。全部的内容,包括:用类结构的形式编写一个程序,使其可实现输入5个学生姓名、性别和年龄,并按年龄从大到小进行排序输出。、java编程输入18位身份z号办别女性男女 代码、编写程序:从键盘输入姓名 年龄 性别 成绩等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)