| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 971 人关注过本帖
标题:[原创]结构体例程
取消只看楼主 加入收藏
qilindh
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-10-7
收藏
 问题点数:0 回复次数:0 
[原创]结构体例程

实验内容

在某系的成绩登记册中,每个班最多有40个学生,每份成绩表中的信息包括:学号(9个字符),姓名(8个字符),成绩(百分制),备注(20位字符)。设计程序以及处理一个班级的成绩信息,包括输入、输出、查询(给定分数以上或者以下的学生信息)、按分数排序等。

1、算法思想

定义一个结构体,用于存放学生的相关信息,制作简单的操作界面,由用户选择进入相应的处理模块。

2、程序代码3

#include "stdio.h"
#include "string.h"
#define count 2
struct student //结构类型
{char num[10];
char name[8];
int chengji;
char other[20];
}stu[count],temp;

main()
{int i,jishuqi,c,b,min,max; char tem,xiaji; char chaxun[9];
jishuqi=0;

printf("########请选择程序的相应功能#############\n");
A:printf(" 1、资料录入\n");
printf(" 2、资料概览\n");
printf(" 3、信息查询\n");
printf(" 4、分数排序\n");
printf(" 5、退出系统\n");

tem=getchar();
if(tem=='1')
{jishuqi=jishuqi+1;
for(i=0;i<count;i++)
{printf("请输入9位学号:");
scanf("%s",stu[i].num);
printf("请输入8位姓名:");
scanf("%s",stu[i].name);
printf("请输入3位成绩:");
scanf("%d",&stu[i].chengji);
printf("请输入20位以内备注:");
scanf("%s",&stu[i].other);
}

printf("输入完毕,请选择下一步\n");
getchar();
goto A;
}
if(tem=='2')
{ printf("学号 姓名 成绩 备注\n");
for(i=0;i<count;i++)
printf("%9s %8s %3d %20s\n",stu[i].num,stu[i].name,stu[i].chengji,stu[i].other);
printf("浏览完毕,请选择下一步\n");
getchar();
goto A;
}
if(tem=='3')
{printf("1、按学号查询\n");
printf("2、按某分数以下查询\n");
printf("3、按某分数以上查询\n");
getchar();
xiaji=getchar();
if(xiaji=='1')
{ printf("请输入要查询的学号");
scanf("%s",chaxun);
for(i=0;i<count;i++)
{if(strcmp(stu[i].num,chaxun)==0)
printf("%9s %8s %3d %20s\n",stu[i].num,stu[i].name,stu[i].chengji,stu[i].other);
}
printf("查询完毕,请选择下一步\n");
getchar();
goto A;
}
if(xiaji=='2')
{ printf("请输入要查询多少分以下的学生");
scanf("%d",&max);
//printf("%d",max);exit(0);
for(i=0;i<count;i++)
{if((stu[i].chengji)<max)
printf("%9s %8s %3d %20s\n",stu[i].num,stu[i].name,stu[i].chengji,stu[i].other);
}
printf("查询完毕,请选择下一步\n");
getchar();
goto A;
}

if(xiaji=='3')
{ printf("请输入要查询多少分以上的学生");
scanf("%d",&min);
for(i=0;i<count;i++)
{if(stu[i].chengji>min)
printf("%9s %8s %3d %20s\n",stu[i].num,stu[i].name,stu[i].chengji,stu[i].other);
}
printf("查询完毕,请选择下一步\n");
getchar();
goto A;
}

}

if(tem=='4')
{printf("当前学生数据按成绩降序排列为\n");
for(c=0;c<2;c++)
for(b=1;b>c;b--)
if((stu[b].chengji)<(stu[b-1].chengji))
{
temp.num=stu[b-1].num;
temp.name=stu[b-1].name;
temp.chengji=stu[b-1].chengji;
temp.other=stu[b-1].other;
stu[b-1].num=stu[b].num;
stu[b-1].name=stu[b].name;
stu[b-1].chengji=stu[b].chengji;
stu[b-1].other=stu[b].other;
stu[b].num=temp.num;
stu[b].name=temp.name;
stu[b].chengji=temp.chengji;
stu[b].other=temp.other;
};
printf("学号 姓名 成绩 备注\n");
for(i=0;i<count;i++)
printf("%9s %8s %3d %20s\n",stu[i].num,stu[i].name,stu[i].chengji,stu[i].other);
printf("浏览完毕,请选择下一步\n");
getchar();
goto A;
}
/////////////////////////////////////////////
if(tem=='5') exit(0);

}


搜索更多相关主题的帖子: 体例 结构 字符 include 
2007-08-25 10:41
快速回复:[原创]结构体例程
数据加载中...
 
   



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

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