C语言基础—结构体数据类型课件.pptx

上传人(卖家):三亚风情 文档编号:3228977 上传时间:2022-08-08 格式:PPTX 页数:73 大小:194KB
下载 相关 举报
C语言基础—结构体数据类型课件.pptx_第1页
第1页 / 共73页
C语言基础—结构体数据类型课件.pptx_第2页
第2页 / 共73页
C语言基础—结构体数据类型课件.pptx_第3页
第3页 / 共73页
C语言基础—结构体数据类型课件.pptx_第4页
第4页 / 共73页
C语言基础—结构体数据类型课件.pptx_第5页
第5页 / 共73页
点击查看更多>>
资源描述

1、清华大学出版社清华大学出版社C语言程序设计清华大学出版社清华大学出版社清华大学出版社清华大学出版社项目7 学生成绩管理系统4.X本章学习目标本章学习目标l掌握结构体数据类型的定义l掌握结构体类型变量的定义、引用及初始化l掌握结构体类型数组的定义、引用及初始化l理解并掌握结构体数组编程清华大学出版社清华大学出版社项目7:学生成绩管理系统4.X学生成绩管理系统V4.X功能描述l学生成绩管理系统V4.X:学生成绩管理系统V4.X,采用结构体数据类型,存储、管理学生学号、姓名、成绩等相关信息,利用函数实现学生信息的输入、计算总成绩和平均成绩、输出、修改、查询、排序功能。清华大学出版社清华大学出版社 7

2、.1学生成绩管理系统V4.07.1.1 7.1.1 定义结构体类型定义结构体类型结构体是派生类型的一种自定义类型,遵循先定义后使用的规则。定义结构体类型的格式:struct 结构体名 数据类型1 成员1;数据类型2 成员2;.数据类型n 成员n;清华大学出版社清华大学出版社 7.1学生成绩管理系统V4.07.1.1 7.1.1 定义结构体类型定义结构体类型说明:说明:(1)struct 是定义结构体的关键字,结构体名遵循标识符命名规则。(2)结构体有若干数据成员,用 括起来。数据成员格式:数据类型 成员名;。数据成员可以是基本类型,也可以是派生类型,比如数组、结构体。(3)定义结构体类型,就是

3、定义了一种数据类型,与先前所学的int、float一样,只是结构体类型是一种复杂的数据类型,是基本数据类型的组合。清华大学出版社清华大学出版社 7.1学生成绩管理系统V4.0 7.1.27.1.2定义结构体类型变量定义结构体类型变量1.先定义结构体类型先定义结构体类型,再定义变量再定义变量例如:struct student /*定义结构体类型struct student*/int num;char name20;int age;float score;char addr40;分号不能少!struct student student1,student2;清华大学出版社清华大学出版社 7.1学生成

4、绩管理系统V4.0 7.1.27.1.2定义结构体类型变量定义结构体类型变量2.定义结构体类型的同时定义结构体变量定义结构体类型的同时定义结构体变量例如:struct student int num;char name20;int age;float score;char addr30;student1,student2;说明说明:定义struct student结构体类型变量student1,student2,与上面方法等价。结构体变量所占的存储空间是其各个成员所占存储空间的总和。清华大学出版社清华大学出版社7.1学生成绩管理系统V4.07.1.37.1.3结构体变量的引用结构体变量的引用在

5、定义结构体变量以后,不能直接引用变量,而是引用该变量的成员,格式如下:结构体变量名.成员名 说明:说明:(1)“.”称为成员运算符,在所有运算符中优先级最高,与圆括号()是一个级别。(2)不允许将结构体变量整体输入和输出,只能对结构体变量中的各个成员分别进行输入、输出和运算。例如:scanf(%d%s,&student1.num,student1.name);printf(%d,%s,student1.num,student1.name);student1.num=11303;student1.age+;(3)同一种类型的结构体变量之间可以直接赋值。例如:student2=student1;清

6、华大学出版社清华大学出版社 7.1学生成绩管理系统V4.07.1.147.1.14结构体变量的赋值结构体变量的赋值1结构体变量的初始化结构体变量的初始化结构体变量的初始化是指在定义结构体变量时即赋初值。例如:struct student int num;char name20;char sex;int age;float score;char addr30;student1=20050201,zhangqiang,M,18,456,Jining guanghe 13;清华大学出版社清华大学出版社 7.1学生成绩管理系统V4.07.1.147.1.14结构体变量的赋值结构体变量的赋值1结构体变量

7、的初始化结构体变量的初始化说明:说明:变量后面的一组数据用 括起来,其顺序要与结构体中的数据成员类型、顺序保持一致。初始化后,student1.num的值是20050201,student1.age的值是18。清华大学出版社清华大学出版社 7.1学生成绩管理系统V4.07.1.147.1.14结构体变量的赋值结构体变量的赋值2用用scanf()函数给结构体变量的成员赋值。函数给结构体变量的成员赋值。例如:例如:scanf(%d%s%d%f%s,&student1.num,student1.name,&student1.age,&student1.score,student1.addr);清华大

8、学出版社清华大学出版社 7.1学生成绩管理系统V4.07.1.147.1.14结构体变量的赋值结构体变量的赋值【示例7-1】使用结构体类型变量存储学生学号、姓名、入学成绩,并输出。#include int main()struct student int num;char name20;float score;char addr30;student1=20130101,张琳,356,山东;/*初始化*/printf(=n);printf(学号tt姓名t入学总成绩t地址n);printf(n%dt%st%.1ftt%sn,student1.num,student1.name,student1.s

9、core,student1.addr);printf(=n);return 0;清华大学出版社清华大学出版社 7.1学生成绩管理系统V4.07.1.147.1.14结构体变量的赋值结构体变量的赋值【示例7-1】使用结构体类型变量存储学生学号、姓名、入学成绩,并输出。#include int main()struct student int num;char name20;float score;char addr30;student1=20130101,张琳,356,山东;/*初始化*/printf(=n);printf(学号tt姓名t入学总成绩t地址n);printf(n%dt%st%.1f

10、tt%sn,student1.num,student1.name,student1.score,student1.addr);printf(=n);return 0;清华大学出版社清华大学出版社 7.1学生成绩管理系统V4.07.1.147.1.14结构体变量的赋值结构体变量的赋值运行结果:清华大学出版社清华大学出版社7.1学生成绩管理系统V4.07.1.57.1.5学生成绩管理系统学生成绩管理系统V4.0V4.0设计设计1.明确功能明确功能学生成绩管理系统V4.0功能:使用结构体类型及变量,实现学生学号、姓名和入学总成绩等信息的输入和输出(以2个学生为例)。2.分析问题分析问题定义struc

11、t student结构体类型,包括学号、姓名、成绩三个数据成员。结构体定义如下:struct student int num;char name20;float score;清华大学出版社清华大学出版社7.1学生成绩管理系统V4.07.1.57.1.5学生成绩管理系统学生成绩管理系统V4.0V4.0设计设计3.逻辑设计逻辑设计学生成绩管理系统4.0伪代码:开始:main函数 定义struct student 结构体类型 定义2个struct student类型变量 输入两个学生信息 输出两个学生信息结束清华大学出版社清华大学出版社7.1学生成绩管理系统V4.07.1.57.1.5学生成绩管理系

12、统学生成绩管理系统V4.0V4.0设计设计1.编写代码编写代码#include struct student int num;char name20;float score;student1,student2;int main()printf(请输入2个学生的学号、姓名、入学总成绩:n);scanf(%d%s%f,&student1.num,student1.name,&student1.score);scanf(%d%s%f,&student2.num,student2.name,&student2.score);printf(=n);printf(学号 姓名 入学总成绩:n);printf

13、(n%d%6s%12.1fn,student1.num,student1.name,student1.score);printf(n%d%6s%12.1fn,student2.num,student2.name,student2.score);printf(=n);return 0;清华大学出版社清华大学出版社7.1学生成绩管理系统V4.07.1.57.1.5学生成绩管理系统学生成绩管理系统V4.0V4.0设计设计5.输入、保存程序输入、保存程序程序输入,要保存后,再运行。6.运行、调试程序运行、调试程序运行程序,如果出错,检查程序,修改错误,并重新运行。运行结果:清华大学出版社清华大学出版社

14、7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组结构体数组是指数组的类型为结构体类型,即数组的每个元素都是该结构体类型的变量。定义结构体数组和定义结构体变量的方法相同。结构体数组的初始化和结构体变量的初始化方法相同,只是每个结构体数组元素的初始化值“”括起来。清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组 1先定义结构体,再定义数组先定义结构体,再定义数组。例如:利用结构体数组来保存3个学生的信息。struct student int num;char name20;int age;float score;char ad

15、dr30;struct student stu3=20050201,“zhangqiang”,18,56,“Jining”,20050202,“liling”,19,86,“qufu”,20050203,“wanglei”,18,73,“Jining”;定义了结构体数组后,可以采用“数组元素.成员名”引用结构体数组某个元素的成员。清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组2定义结构体的同时定义数组例如:利用结构体数组来保存3个学生的信息。struct student int num;char name20;int age;float sc

16、ore;char addr30;stu3=20050201,zhangqiang,18,456,Jining,20050202,liling,19,406,qufu,20050203,wanglei,18,503,Jining;18,73,“Jining”;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组 【示例7-2】候选人得票统计程序。每次输入一个得票的候选人的名字,票数加1。要求最后输出各人的得票数(以3个候选人为例)。#include#include Struct candi char name20;int count;/*得票数用co

17、unt来计数*/leader3=wang,0,liu,0,song,0;int main()int i,j;char name20;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组 for(i=0;i10;i+)/*假设总共十人投票*/scanf(%s,name);/*输入姓名*/for(j=0;j3;j+)if(strcmp(name,leaderj.name)=0)leaderj.count+;printf(n姓名 票数n);for(j=0;j3;j+)printf(%-5s%5dn,leaderj.name,leaderj.count);

18、/%-5s表示输出leaderj.name计票姓名时,按字符串格式输出/宽度占5列,-控制姓名字符串左对齐,右补空格return 0;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组【示例7-3】使用结构体数组,存储学生学号、姓名和三门课程成绩信息,利用函数实现学生信息的输入、输出(以3个学生为例)。#include#include#define N 3void input();void display();struct student int num;char name20;float score3;/*分别存放三门课程的成绩*/;struc

19、t student stuN;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组void input()/*输入函数*/int i,j;printf(请输入学生学号、姓名、英语成绩、数学成绩、C语言成绩:n);for(i=0;iN;i+)scanf(%d%s%,&stui.num,stui.name);for(j=0;j3;j+)scanf(%f,&stui.scorej);void display()/*输出函数*/int i;printf(学号 姓名 英语 数学 C语言n);for(i=0;iN;i+)printf(%d%7s%7.1f%7.

20、1f%7.1f%n,stui.num,stui.name,stui.score0,stui.score1,stui.score2);清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组int main()input();display();return 0;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组【示例7-4】使用结构体数组,利用函数实现按学生学号和姓名的查询操作。#include#include#define N 3void input();void display();void loca

21、tedata();struct student int num;char name20;float score3;/*分别存放三门课程的成绩*/;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组struct student stuN;void input()/*输入函数*/int i,j;printf(请输入学生学号、姓名、英语成绩、数学成绩、C语言成绩:n);for(i=0;iN;i+)scanf(%d%s%,&stui.num,stui.name);for(j=0;j3;j+)scanf(%f,&stui.scorej);void disp

22、lay()/*输出函数*/int i;printf(学号 姓名 英语 数学 C语言n);for(i=0;iN;i+)printf(%d%7s%7.1f%7.1f%7.1f%n,stui.num,stui.name,stui.score0,stui.score1,stui.score2);清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组void locatedata()int i,select;int number;char name20;printf(1:按学号查询 2:按姓名查询:n);printf(请选择1或者2:n);scanf(%d,&

23、select);if(select=1)printf(请输入要查找学生的学号:);scanf(%d,&number);for(i=0;i3;i+)if(number=stui.num)break;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组else if(select=2)printf(请输入要查找学生的姓名:);scanf(%s,name);for(i=0;i=0&iN)printf(第%d条记录:n,i+1);printf(学号 姓名 英语 数学 C语言n);printf(%d%7s%7.1f%7.1f%7.1fn,stui.num,s

24、tui.name,stui.score0,stui.score1,stui.score2);else printf(该学生信息不存在n);清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.17.2.1结构体数组结构体数组int main()input();display();locatedata();return 0;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生成绩管理系统学生成绩管理系统V4.1V4.1设计设计 1.明确功能明确功能学生成绩管理系统V4.1版使用结构体数组,存储学生学号、姓名、三门课程成绩信息,利用函数实现学生信息的输

25、入、输出、求总成绩和平均成绩以及按学生学号、姓名查询功能。2.分析问题分析问题学生成绩管理系统V4.1利用结构体数组来实现,有4个操作选择:输入、输出、统计总成绩、平均成绩和查询。(1)输入模块:由输入函数input()实现,输入若干同学的学号、姓名、三门课程成绩信息。(2)输出模块:由输出函数display()实现,输出若干学生的学号、姓名、成绩信息。(3)统计模块:由函数sum()实现,计算每位同学各科成绩的总成绩和平均成绩。(4)查询模块:由函数locatedata()实现,根据学生学号或姓名查询学生信息。清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2

26、学生成绩管理系统学生成绩管理系统V4.1V4.1设计设计 3.逻辑设计逻辑设计开始:main函数调用manager()函数调用operate()函数,输出操作菜单根据用户输入值1、2、3、4、0,依次调用input函数输入学生信息调用display函数输出学生信息调用sum函数求总成绩和平均成绩调用locatedata函数查询符合条件的学生信息输出“谢谢使用,再见”信息输入值1或0,选择是否继续使用学生成绩管理系统V4.1输入1,继续使用学生成绩管理系统V4.1输入0,退出使用学生成绩管理系统V4.1结束清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生成绩

27、管理系统学生成绩管理系统V4.1V4.1设计设计 4.编写代码编写代码#include#include#include#include#define N 3void input();void display();void sum();void locatedata();void operate();void manage();struct student int num;char name20;float score5;/*分别存放三门课程的成绩、总成绩和平均成绩*/;struct student stuN;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生

28、成绩管理系统学生成绩管理系统V4.1V4.1设计设计void input()/*输入函数*/int i,j;printf(请输入学生学号、姓名、英语成绩、数学成绩、C语言成绩:n);for(i=0;iN;i+)scanf(%d%s%,&stui.num,stui.name);for(j=0;j3;j+)scanf(%f,&stui.scorej);void display()/*输出函数*/int i;printf(学号 姓名 英语 数学 C语言 总成绩 平均成绩n);for(i=0;iN;i+)printf(%d%7s%7.1f%7.1f%7.1f%8.1f%9.1fn,stui.num,s

29、tui.name,stui.score0,stui.score1,stui.score2,stui.score3,stui.score4);清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生成绩管理系统学生成绩管理系统V4.1V4.1设计设计/*求每一位学生总成绩及求平均成绩函数*/void sum()int i,j;for(i=0;iN;i+)stui.score3=0;for(j=0;j3;j+)stui.score3+=stui.scorej;stui.score4=stui.score3/3;/*根据学号或姓名查询学生信息函数*/void locat

30、edata()int i,select;int number;char name20;printf(1:按学号查询 2:按姓名查询:n);printf(请选择1或者2:n);scanf(%d,&select);清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生成绩管理系统学生成绩管理系统V4.1V4.1设计设计if(select=1)printf(请输入要查找学生的学号:);scanf(%d,&number);for(i=0;i3;i+)if(number=stui.num)break;else if(select=2)printf(请输入要查找学生的姓名:

31、);scanf(%s,name);for(i=0;i=0&iN)printf(第%d条记录:n,i+1);printf(学号 姓名 英语 数学 C语言 总成绩 平均成绩n);printf(%d%7s%7.1f%7.1f%7.1f%8.1f%9.1fn,stui.num,stui.name,stui.score0,stui.score1,stui.score2,stui.score3,stui.score4);else printf(该学生信息不存在n);清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生成绩管理系统学生成绩管理系统V4.1V4.1设计设计vo

32、id operate()printf(t 欢迎进入学生成绩管理系统V4.1n);printf(=n);printf(tt请你选择操作类型:n);printf(tt1输入学生信息n);printf(tt2显示学生信息n);printf(tt3统计总成绩、平均成绩n);printf(tt4查询学生信息 n);printf(tt0返回n);printf(=n);清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生成绩管理系统学生成绩管理系统V4.1V4.1设计设计void manage()int choicemanage;int choice=1;system(cl

33、s);while(choice)operate();printf(请选择:);scanf(%d,&choicemanage);switch(choicemanage)case 1:input();break;case 2:display();break;case 3:sum();display();break;case 4:locatedata();break;case 0:printf(谢谢使用 再见n);return;default:printf(输入有误,请重新输入!n);清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生成绩管理系统学生成绩管理系统V

34、4.1V4.1设计设计printf(是否继续管理?(0/1);scanf(%d,&choice);system(cls);if(!choice)/输入0时 printf(操作完毕,按任意键返回n);getch();return;清华大学出版社清华大学出版社7.2学生成绩管理系统V4.17.2.2 7.2.2 学生成绩管理系统学生成绩管理系统V4.1V4.1设计设计printf(是否继续管理?(0/1);scanf(%d,&choice);system(cls);if(!choice)/输入0时 printf(操作完毕,按任意键返回n);getch();return;int main()mana

35、ge();return 0;清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计1.明确功能明确功能学生成绩管理系统V4.2:使用结构体数组,利用函数实现学生信息的输入、输出、求总成绩和平均成绩、查询、修改、删除、排序、统计功能。2.分析问题分析问题学生成绩管理系统学生成绩管理系统V4.2V4.2登录主界面登录主界面操作选择界面操作选择界面输输入输输出出查查询询统统计计修修改改排排序序删删除除清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4

36、.2V4.2设计设计学生成绩管理系统V4.2的操作步骤如下:(1)按三次有效次数输入系统登录密码,登录“学生成绩管理系统V4.2”。(2)进入系统主界面,按提示选择需要的操作:进入系统、退出系统。(3)进入系统操作功能界面,具体实现以下操作:输入模块:输入学生的记录,包括学号、姓名和三门课程成绩。输出模块:输出学生的记录,包括学号、姓名和三门课程成绩(此时还没有调用sum函数,因此总成绩和平均成绩均显示为0)。统计模块:计算并输出每个学生学号、姓名、课程成绩及总成绩、平均成绩。查询模块:按学号、姓名查询学生信息并输出。修改模块:根据课程代码,修改学生指定课程成绩。删除模块:先调用查询函数查找到

37、符合条件的学生,然后删除。排序模块:按平均成绩排序,输出排序后的学生信息。返回退出。(4)输入操作类型,分别调用相应函数模块实现成绩管理功能。清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计3.逻辑设计逻辑设计 学生成绩管理系统V4.2伪代码开始:main函数 输入密码登陆到主用户界面 选择使用使用或是退出系统 当使用系统时 根据输入值来选择 调用input函数输入学生信息 调用display函数输出学生信息 调用sum函数求总成绩和平均成绩 调用locatedata查询符合条件的信息 调用update函

38、数修改学生信息 调用deletedata函数删除学生信息 调用sort函数按平均成绩升序排序结束清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计4.编写代码编写代码#include#include#include#include#define N 3int LEN;void inland();void manage();void input();void display();void update();void sum();int locatedata();void sort();void deleted

39、ata();char password10=jsjteach;清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计4.编写代码编写代码struct student int num;char name20;float score5;struct student stuN;int main()char s12;int choice;int flag=0;int n=3;do printf(请输入密码:n);scanf(%s,s);清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学

40、生成绩管理系统学生成绩管理系统V4.2V4.2设计设计if(!strcmp(s,password)/*若密码正确*/printf(恭喜您 登陆成功!nn);flag=1;break;printf(输入有误,请重新输入n);n-;while(n0);if(flag)do printf(按任意键继续n);getch();system(cls);/*包含在头文件stdlib.h中*/inland();scanf(%d,&choice);清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计switch(choice)

41、case 1:manage();break;case 0:printf(谢谢使用 再见!n);if(choice=0)break;while(1);else printf(对不起,您的输入次数已到!再见n);return 0;清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计void inland()printf(n);printf(t 欢迎使用学生成绩管理系统V4.2n);printf(n);printf(tt 请您选择操作类型:n);printf(=n);printf(tt 1进入管理系统n);prin

42、tf(tt 0退出管理系统n);printf(=n);清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计void operate()printf(t 欢迎进入学生成绩管理系统V4.2n);printf(=n);printf(tt请你选择操作类型:n);printf(tt1输入学生信息n);printf(tt2显示学生信息n);printf(tt3统计总成绩、平均成绩n);printf(tt4查询学生信息 n);printf(tt5修改学生成绩n);printf(tt6删除学生n);printf(tt7平均成

43、绩升序排序n);printf(tt0返回n);printf(=n);清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计void manage()int choicemanage;int choice=1;system(cls);while(choice)operate();printf(请选择:);scanf(%d,&choicemanage);switch(choicemanage)case 1:input();break;case 2:display();break;case 3:sum();displ

44、ay();break;case 4:locatedata();break;case 5:update();break;/*修改完要更新总成绩及平均成绩*/case 6:deletedata();break;case 7:sort();break;case 0:printf(谢谢使用 再见n);return;清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计default:printf(输入有误,请重新输入!n);printf(是否继续管理?(0/1);scanf(%d,&choice);system(cls

45、);if(!choice)printf(操作完毕,任意键返回n);getch();return;清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计void input()int i,j;printf(请输入学生学号、姓名、英语成绩、数学成绩、C语言成绩:n);for(i=0;iN;i+)scanf(%d%s%,&stui.num,stui.name);for(j=0;j3;j+)scanf(%f,&stui.scorej);清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学

46、生成绩管理系统学生成绩管理系统V4.2V4.2设计设计void display()int i;printf(学号 姓名 英语 数学 C语言 总成绩 平均成绩n);for(i=0;iN;i+)printf(%d%7s%7.1f%7.1f%7.1f%8.1f%9.1fn,stui.num,stui.name,stui.score0,stui.score1,stui.score2,stui.score3,stui.score4);清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计void update()int

47、i,j;i=locatedata();if(i=N)printf(查无此人);else printf(请选择要修改成绩代码:n);printf(1英语成绩 2数学成绩 3C语言成绩,请选择数字1-3n);scanf(%d,&j);switch(j)case 1:printf(请输入英语成绩:);scanf(%f,&stui.score0);break;case 2:printf(请输入数学成绩:);scanf(%f,&stui.score1);break;case 3:printf(请输入C语言成绩:);scanf(%f,&stui.score2);break;default:printf(请

48、输入1到3之间的数据n);sum();printf(修改成功!n);display();int locatedata()/*在修改及删除函数内需要定位记录,因此需要有函数返回值*/int i,select;int number;char name20;printf(1:按学号查询 2:按姓名查询:n);printf(请选择1或者2:n);scanf(%d,&select);if(select=1)printf(请输入要查找学生的学号:);scanf(%d,&number);for(i=0;i3;i+)if(number=stui.num)break;清华大学出版社清华大学出版社7.3学生成绩管

49、理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计sum();printf(修改成功!n);display();void sum()int i,j;for(i=0;iN;i+)stui.score3=0;for(j=0;j3;j+)stui.score3+=stui.scorej;stui.score4=stui.score3/3;清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计int locatedata()/*在修改及删除函数内需要定位记录,因此需要有函数返

50、回值*/int i,select;int number;char name20;printf(1:按学号查询 2:按姓名查询:n);printf(请选择1或者2:n);scanf(%d,&select);if(select=1)printf(请输入要查找学生的学号:);scanf(%d,&number);for(i=0;i3;i+)if(number=stui.num)break;清华大学出版社清华大学出版社7.3学生成绩管理系统V4.27.3.1 7.3.1 学生成绩管理系统学生成绩管理系统V4.2V4.2设计设计else if(select=2)printf(请输入要查找学生的姓名:);s

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C语言基础—结构体数据类型课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|