用类结构的形式编写一个程序,使其可实现输入5个学生姓名、性别和年龄,并按年龄从大到小进行排序输出。

用类结构的形式编写一个程序,使其可实现输入5个学生姓名、性别和年龄,并按年龄从大到小进行排序输出。,第1张

#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号办别女性男女 代码、编写程序:从键盘输入姓名 年龄 性别 成绩等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10158589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存