结构体作业
来源:互联网 发布:2016中国留学生数据 编辑:程序博客网 时间:2024/05/16 17:05
#include<stdio.h>
#include<string.h>
struct data
{
int year;
int mouth;
int day;
};
struct acmer
{
char name[30];
char num[20];
char tel[20];
int solved;
struct data birthday;
};
struct acmer str[100];
struct acmer temp;
void tongji(int n)
{
int f=0,i,m;
printf("统计分数>n的同学,请输入n的值:");
scanf("%d",&m);
for(i=0;i<n;i++)
{
if(str[i].solved>m)
{
f=1;
printf("%s %s %s %d %d.%d.%d\n",str[i].name,str[i].num,str[i].tel,str[i].solved,str[i].birthday.year,str[i].birthday.mouth,str[i].birthday.day);
}
}
if(f==0)printf("没有符合条件的同学!\n");
}
void chazhao(int n)
{
int m,i,f=0;
char ming[30],hao[30];
printf("请输入查找类别编号:\n");
printf("1.按姓名查找。\n");
printf("2.按学号查找。\n");
scanf("%d",&m);
if(m==1)
{
printf("请输入要查找学生的姓名:\n");
scanf("%s",ming);
for(i=0;i<n;i++)
if(strcmp(ming,str[i].name)==0)
{
f=1;
printf("%s %s %s %d %d.%d.%d\n",str[i].name,str[i].num,str[i].tel,str[i].solved,str[i].birthday.year,str[i].birthday.mouth,str[i].birthday.day);
}
if(f==0)printf("没有该名字的同学!\n");
}
if(m==2)
{
printf("请输入要查找学生的学号:\n");
scanf("%s",hao);
for(i=0;i<n;i++)
if(strcmp(hao,str[i].num)==0)
{
f=1;
printf("%s %s %s %d %d.%d.%d\n",str[i].name,str[i].num,str[i].tel,str[i].solved,str[i].birthday.year,str[i].birthday.mouth,str[i].birthday.day);
}
if(f==0)printf("没有该学号的同学!\n");
}
}
void xiugai(int n)
{
int m,i,t,f=0;
char tp[30],after[30];
printf("请输入要修改同学的姓名:\n");
scanf("%s",tp);
for(i=0;i<n;i++)
if(strcmp(tp,str[i].name)==0)
{
f=1;
t=i;
printf("修改前的信息为:\n");
printf("%s %s %s %d %d.%d.%d\n",str[i].name,str[i].num,str[i].tel,str[i].solved,str[i].birthday.year,str[i].birthday.mouth,str[i].birthday.day);
}
if(f==0)printf("没有该名字的同学!\n");
printf("请输入要修改的内容编号:\n");
printf("1.姓名\n2.学号\n3.手机号\n4.解题数\n5.出生年份\n6.出生月份\n7.出生日\n");
scanf("%d",&m);
if(m==1)
{
printf("请输入修改后的姓名:\n");
scanf("%s",after);
strcpy(str[t].name,after);
printf("修改后的信息为:\n");
printf("%s %s %s %d %d.%d.%d\n",str[t].name,str[t].num,str[t].tel,str[t].solved,str[t].birthday.year,str[t].birthday.mouth,str[t].birthday.day);
}
else if(m==2)
{
printf("请输入修改后的学号:\n");
scanf("%s",after);
strcpy(str[t].num,after);
printf("修改后的信息为:\n");
printf("%s %s %s %d %d.%d.%d\n",str[t].name,str[t].num,str[t].tel,str[t].solved,str[t].birthday.year,str[t].birthday.mouth,str[t].birthday.day);
}
else if(m==3)
{
printf("请输入修改后的手机号:\n");
scanf("%s",after);
strcpy(str[t].num,after);
printf("修改后的信息为:\n");
printf("%s %s %s %d %d.%d.%d\n",str[t].name,str[t].num,str[t].tel,str[t].solved,str[t].birthday.year,str[t].birthday.mouth,str[t].birthday.day);
}
else if(m==4)
{
printf("请输入修改后的解题数:\n");
scanf("%d",&f);
str[t].solved=f;
printf("修改后的信息为:\n");
printf("%s %s %s %d %d.%d.%d\n",str[t].name,str[t].num,str[t].tel,str[t].solved,str[t].birthday.year,str[t].birthday.mouth,str[t].birthday.day);
}
else if(m==5)
{
printf("请输入修改后的出生年份:\n");
scanf("%d",&f);
str[t].birthday.year=f;
printf("修改后的信息为:\n");
printf("%s %s %s %d %d.%d.%d\n",str[t].name,str[t].num,str[t].tel,str[t].solved,str[t].birthday.year,str[t].birthday.mouth,str[t].birthday.day);
}
else if(m==6)
{
printf("请输入修改后的出生月份:\n");
scanf("%d",&f);
str[t].birthday.mouth=f;
printf("修改后的信息为:\n");
printf("%s %s %s %d %d.%d.%d\n",str[t].name,str[t].num,str[t].tel,str[t].solved,str[t].birthday.year,str[t].birthday.mouth,str[t].birthday.day);
}
else if(m==7)
{
printf("请输入修改后的出生日:\n");
scanf("%d",&f);
str[t].birthday.day=f;
printf("修改后的信息为:\n");
printf("%s %s %s %d %d.%d.%d\n",str[t].name,str[t].num,str[t].tel,str[t].solved,str[t].birthday.year,str[t].birthday.mouth,str[t].birthday.day);
}
}
void paixu(int n)
{
int i,j;
char tp[30];
printf("请输入排序方式编号:\n1.做题数目由多到少。\n2.做题数目由少到多。");
scanf("%d",&j);
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(str[j].solved>str[j+1].solved)
{
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
if(j==1)
{
printf("按做题数目由多到少排序结果为:\n");
for(i=n-1;i>=0;i--)
printf("%s %s %s %d %d.%d.%d\n",str[i].name,str[i].num,str[i].tel,str[i].solved,str[i].birthday.year,str[i].birthday.mouth,str[i].birthday.day);
}
else
{
printf("按做题数目由少到多排序结果为:\n");
for(i=0;i<n;i++)
printf("%s %s %s %d %d.%d.%d\n",str[i].name,str[i].num,str[i].tel,str[i].solved,str[i].birthday.year,str[i].birthday.mouth,str[i].birthday.day);
}
}
void main()
{
int n,i,m;
printf("请输入人数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d个人的:姓名,学号,手机号,做题数,出生日期的年,月,日:\n",i+1);
scanf("%s %s %s %d%d%d%d",str[i].name,str[i].num,str[i].tel,&str[i].solved,&str[i].birthday.year,&str[i].birthday.mouth,&str[i].birthday.day);
}
while(1)
{
printf("\n\n\n\n\n请输入想要实现的功能编号:\n");
printf("1.统计做题数大于n的人数。\n");
printf("2.查找。\n");
printf("3.修改学生信息。\n");
printf("4.按做题数目进行排序。\n");
printf("5.结束程序。\n");
scanf("%d",&m);
if(m==1)tongji(n);
else if(m==2)chazhao(n);
else if(m==3)xiugai(n);
else if(m==4)paixu(n);
else if(m==5)break;
}
}
- 结构体作业
- 结构体作业
- C语言 作业一 结构体专题
- 作业《IOS_C语言》结构体、结构体数组
- 目录结构作业
- 第八章作业,结构体,共用体和枚举
- 寒假集训作业(1)——结构体
- 通信录作业,在链表中的结构体数组有点多此一举了
- 第十六周课后作业——项目一——复数结构体
- 第十六周课后作业——项目三——点结构体(1)
- 第十六周课后作业——项目三——点结构体(2)
- 学生成绩简单统计-结构体的应用-浙大第三周作业
- 第二次试验上机作业1选择结构
- c++作业3—选择结构程序设计
- C++作业4:循环结构程序设计
- 作业2 链式存储结构及其操作
- 《IOS_作业C语言》高级指针(结构体指针、结构体数组指针、结构体数组指针,作为函数的参数使用、预编译指令)
- 【数据结构作业二】写出单链表结点的结构体类型定义及查找、插入、删除算法,并以单链表作存储结构,实现有序表的合并
- TLB和cache关系
- C++ 关键字 static
- Linux动态库(一)之同名符号
- 电商第一站:大学生创业忌讳的三大要素
- 工具接口标准(TIS)可执行链接格式(ELF)规范-卷III-附录A-Intel架构和System V Release 4依赖(一)
- 结构体作业
- c++ 操作注册表
- CodeForces 282A 19周周赛
- 开源 FlexPaper 制作的PDF,FLV等文件的播放器
- js获取非行间样式获取与定义
- C语言字节对齐
- 我的Shaderlab学习总结
- 基于VC++的GDI常用坐标系统及应用
- 后缀数组 倍增算法 出自http://www.cnblogs.com/staginner/archive/2012/02/02/2335600.html