查找学生成绩与学号编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

云南师范大学

实验报告

课程:《计算机技术基础》任课教师:陈娟实验指导教师:陈娟

姓名:李华福学号:114090395 专业:物电学院电子信息科学类日期:2012-5-31

成绩:

一.实验项目名称:《学生成绩查询》

二.实验项目的目的和任务:存入N个学生的成绩表(学号、姓名、成绩),输入学号或姓名,查找其成绩。输入学生信息,制成学生成绩信息表,通过查找方法查询该学生成绩(比较输入的学生姓名或学号与原来的信息大小,判断是否符合),最后输出表及成绩。

三.实验内容:通过input函数录入学生成绩表,并通过output函数输出学生成绩表;xmchazhao函数和xhchazhao函数能分别以不同的方式查找成绩;最后顺利查找到学生成绩。

四.程序描述:考虑到结构体非常适合该题解答(后面总结结构体与与数组在该题中的优劣),首先定义结构体struct biao[],并分别定义了序号、姓名、学号、成绩信息(假设其为10个字符长)。编写函数input(),该函数实现了从键盘输入数据,构成前面说到列表。随之的是函数output(),实现把学生信息制表。Xmchazhao()(姓名查找)函数能比较两字符串的大小,将其输出,xhchazhao()(学号查找)函数类似前一个函数。最后是主函数,实现了调用input()、output()、xmchazhao()、xhchazhao ()函数,并利用switch( )函数选择查找方式。

五.运行截图:

(图一:录入数据并制表)

(图二:按1通过姓名查找成绩) (图三:按2通过学号查找成绩)

(图四:输入的不是1和2) (图五:姓名输入错误)

(图六:学号输入错误)

五.程序代码:

六.#include

七.#include

八.#define N 3 //N 位同学的信息

九.struct //定义结构体

十.{

十一. int num; //序号

十二. char xingming[11]; //姓名

十三. char xuehao[11]; //学号

十四. char chengji[11]; //成绩

十五. }biao[N];

十六. int input() //输入函数

十七. {

十八. int n=0;

十九. while(n

二十. {

二十一. biao[n].num=n+1;

二十二. printf("\n 第%d 条信息:

\n",biao[n].num);

二十三.printf("请输入姓名:");

二十四.gets(biao[n].xingming);

二十五.if(biao[n].xingming[0]=='\0')

二十六.break;

二十七.printf("请输入学号:");

二十八.gets(biao[n].xuehao);

二十九.printf("请输入成绩:");

三十.gets(biao[n].chengji);

三十一.n++;

三十二.}

三十三.

三十四.return n;

三十五.}

三十六.void output() //输出函数

三十七.{

三十八. int i;

三十九.puts("\n序号\t姓名\t学号\t成绩");

四十.for(i=0;i

四十一.

printf("%d\t%s\t%s\t%s\n",biao[i].num,biao[i].xingming,biao[i] .xuehao,biao[i].chengji);

四十二.}

四十三.int xmchazhao() //按姓名查找

四十四.{

四十五. int i=0;

四十六. char xm[11];

四十七. printf("\n请输入姓名:");

四十八. scanf("%s",xm);

四十九. while(strcmp(xm,biao[i].xingming)!=0&&i

五十.i++;

五十一.

五十二.if(i>=N)

五十三.i=-1;

五十四.return i;

五十五.}

五十六.int xhchazhao() //按学号查找

五十七.{

五十八.int i=0;

五十九.char xh[11];

六十.printf("\n请输入学号:");

六十一.scanf("%s",xh);

六十二.while(strcmp(xh,biao[i].xuahao)!=0&&i

六十三.i++;

六十四.if(i>=N)

六十五.i=-1;

六十六.return i;

六十七.}

六十八.Void main()

六十九.{

七十.

七十一. int n,i;char ch;char A[11],B[11];

七十二. n=input(n);

七十三. output(n);

七十四. puts("\n1.通过姓名查找!");

七十五. puts("\n2.通过学号查找!");

七十六. printf("请选择:");

七十七. scanf("%d",&ch);

七十八.switch(ch)

七十九. {

八十. case 1:i=xmchazhao();

八十一. if(i>=0) puts(strcpy(A,biao[i].chengji));

//如果找到,把它复制到数组A中

八十二. else

八十三. printf("输入错误!");

八十四. break;

八十五. case 2:i=xhchazhao();

八十六. if(i>=0) puts(strcpy(B,biao[i].chengji));

//如果找到,把它复制到数组B中

八十七.

八十八. else

八十九. printf("输入错误!");

九十. break;

九十一. default: //当输入的

相关文档
最新文档