版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件 111实验日期姓名赵亚东学号201107209实验成绩实验名称实验一 C程序的运行环境和运行C程序的方法实验目的及要求1熟悉Visual C+6.0环境。 2了解建立控制台应用程序的基本步骤。3初步了解Visual C+6.0的环境设置。4初步学会简单的程序调试方法。5学会编写简单的C程序。6初步熟悉C语言操输入scanf函数、输出printf函数的使用。7掌握C语言基本数据类型,熟悉变量的定义及变量的初始化和赋值操作。8掌握不同的类型数据之间赋值的规律。9掌握C语言的算术运算符的使用以及算术表达式的使用;掌握自加自减运
2、算符的特点及使用。实验环境Visual 6.0+ Windows 7实验内容1按照上述步骤,创建一个基于控制台的应用程序,该程序项目中只包含一个源程序文件。功能为求两个整数的和,数据从键盘输入。2创建一个基于控制台的应用程序,求一元二次方程的根。使得当输入三个实数a,b,c(满足b*b-4*a*c>0),能够求出方程a*x*x+b*x+c=0的两个实根,并显示在屏幕上。分析提示: 通过键盘输入方程系数a,b,c的值,而后根据求根公式计算并输出它的两个根。算法描述及实验步骤实验 一 1、 先定义两个变量 a,b。2、键入a和b。3、输出两个数的和。实验 二1、定义并输入a b c。2、判断
3、d=b2-4ac的大小。3、如果小于零则无解,等于零有一个解,x1=(-b)/(2*a)。4、大于零有两个解。x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);5、输出结果。调试过程及实验结果1 2 总结掌握了掌握C语言基本数据类型,变量的定义及变量的初始化和赋值操作,不同的类型数据之间赋值的规律。了解了C语言的算术运算符的使用以及算术表达式的使用,自加自减运算符的特点及使用。附录实验一 1#include<stdio.h>void main()int a,b,s;scanf("%d%d",&a,&b);prin
4、tf("s=%dn",a+b);实验一 2#include<stdio.h>#include<math.h>void main()double a,b,c,d,x1,x2;printf("a b c :");scanf("%lf%lf%lf",&a,&b,&c);d=b*b-4*a*c;if (d<0)printf("无解n");else if (d=0)x1=(-b)/(2*a);printf("一个解:x=%gn",x1);else x1
5、=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf("两个解:x1=%g,x2=%gn",x1,x2);青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件 111实验日期姓名赵亚东学号201107209实验成绩实验名称实验二 选择结构程序设计实验目的及要求1掌握赋值语句的使用方法。2掌握各种类型数据的输入输出方法,能正确使用各种格式转换符。3能正确使用关系运算符及表达式、逻辑运算符及表达式。4熟练掌握if语句,学会使用if-else语句设计双分支和多分支结构程序。5熟练掌握switch语句的特点,学会使用swi
6、tch语句设计多分支结构程序。实验环境Visual 6.0+ Windows 7实验内容3编写程序,根据输入的学生成绩,给出相应的等级。90分以上的等级为A,60分以下的等级为E,其余每10分为一个等级。要求分别用if语句和switch语句实现。4使用switch语句编写简单的四则运算程序。算法描述及实验步骤实验 3 用if 语句时:先输入学生成绩,判断等级,然后直接输出等级代号A,B,C,D,E。 用switch 语句时:先输入学生成绩,除以十,取整。根据数值6到9判断等级。然后输出等级代号A,B,C,D,E。实验 4 先定义字符变量c和数值变量a,b。然后判断字符变量为何种运算符号。最后输
7、出相应结果。调试过程及实验结果34总结掌握了赋值语句的使用方法,各种类型数据的输入输出方法,能正确使用各种格式转换符、关系运算符及表达式、逻辑运算符及表达式。 掌握了if语句,学会使用if-else语句设计双分支和多分支结构程序;掌握了switch语句的特点,学会使用switch语句设计多分支结构程序附录实验二 3用 if 语句:#include<stdio.h>void main()int a;printf("请输入学生成绩:n");scanf("%d",&a);if (a>90)printf("该学生成绩等级是 A
8、n");else if (a>80)printf("该学生成绩等级是 Bn");else if (a>70)printf("该学生成绩等级是 Cn");else if (a>60)printf("该学生成绩等级是 Dn");else printf("该学生成绩等级是 En");用 switch 语句:#include<stdio.h>void main()int a,m;printf("请输入学生成绩:n");scanf("%d",&a
9、mp;a);m=a/10;switch(m)case 9:printf("该学生的成绩等级是:An");case 8:printf("该学生的成绩等级是:Bn");case 7:printf("该学生的成绩等级是:Cn");case 6:printf("该学生的成绩等级是:Dn");default:printf("该学生的成绩等级是:En");实验二 4#include<stdio.h>void main()float a,b;char c;scanf("%f%c%f&qu
10、ot;,&a,&c,&b);switch(c)case '+':printf("%fn",a+b);break;case '-':printf("%fn",a-b);break;case '*':printf("%fn",a*b);break;case '/':printf("%fn",a/b);break;青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012-5-2姓名赵亚东学号201
11、107209实验成绩实验名称实验三 循环结构程序设计实验目的及要求1熟练掌握while、do-while、for语句的特点,学会设计循环结构程序。2掌握break语句以及continue语句的特点及使用范围。3学会编写循环嵌套程序。3结合程序掌握一些简单的算法。4进一步学习调试程序。实验环境Visual 6.0+ Windows 7实验内容4编程练习。求 的部分和。直到最后一项的值小于1.0e-4。 提示:第 n 项 un=xn/n!, 第 n+1 项 un+1= xn+1/(n+1)! 及 un+1 = un(x/(n+1)5编程练习。有1、2、3、4四个数字,能组成多少个互不相同且无重复数
12、字的三位数?分别是多少?算法描述及实验步骤实验四1、调用<math,h>函数。2、定义x s i j。输入x。3、直到n大于10000。4、i=i*(x/(j+1); s=s+i; 5、输出s实验五 1、定义i j k fre=0。2、利用三重for语句。for(i=1;i<=4;i+)for(j=1;j<=4;j+);for(k=1;k<=4;k+)。3、if(i!=k&&i!=j&&k!=j),输出i*100+j*10+k。4、最后输出("总数为:%dn",fre) 调试过程及实验结果3、4、总结(对实验结果
13、进行分析,问题回答,实验心得体会及改进意见)附录实验三 3#include<stdio.h>#include<math.h>void main()int x;double s,i,j;scanf("%d",&x);s=1,j=0;for(i=1;i>=pow(10,-4);j+)i=i*(x/(j+1);s=s+i;printf("s=%fn",s);实验三 4#include <stdio.h>void main()int i,j,k,fre=0;for(i=1;i<=4;i+)for(j=1;j
14、<=4;j+)for(k=1;k<=4;k+)if(i!=k&&i!=j&&k!=j)printf("%5d",i*100+j*10+k);fre=fre+1;printf("n");printf("总数为:%dn",fre);青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012-5-2姓名赵亚东学号201107209实验成绩实验名称实验四 数组程序设计实验目的及要求1.掌握一维数组、二维数组的定义、引用及其存储方式。2.掌握字符数组、字符串以及字符
15、串数组的含义及区别。3.掌握常用字符函数及字符串函数的使用。4.掌握常用数组的排序、查找等算法。实验环境Visual C+6.0 Windows XP实验内容2编写程序,定义一个含有30个元素的int类型数组.依次给数组元素赋奇数1、3、5、7;然后按每行十个数顺序输出,最后再按每行十个数逆序输出。3已知数组中的值在0-9的范围内,统计每个整数的个数。算 法描述及实验步骤实验2 1、定义一个一维数组a30,i,j=1。2、利用for循环输出,ai+1=ai+2;printf("%6d",ai)。 3、输出数组,定义初始值1或者59。确定顺、逆序。实验 3 1、定义一个一维随
16、机数组含20个数。2、输出该一维数组。 3、利用for循环int m,n,k; for(m=0;m<=9;m+) for(n=0;n<20;n+) if(m=an)。4、输出每个数各有几个。调试过程及实验结果 2、3、总结掌握常用字符函数及字符串函数的使用,掌握常用数组的排序、查找等算法。附录实验2#include<stdio.h>void main()int a30,i,j=1;for(i=1;i<31;i+)a1=1;ai+1=ai+2;printf("%6d",ai);if(i%10=0)printf("n");pri
17、ntf("n");for(i=1;i<31;i+)a1=59;ai+1=ai-2;printf("%6d",ai);if(i%10=0)printf("n");实验4#include<stdio.h>#include<stdlib.h>void main()int i,a20;for(i=0;i<20;i+)ai=rand()%10;printf("%3d",ai);printf("n");int m,n,k;for(m=0;m<=9;m+)k=0;fo
18、r(n=0;n<20;n+)if(m=an)k+;printf("%d有%d个n",m,k);青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012-5-7姓名赵亚东学号201107209实验成绩实验名称实验五 函数实验目的及要求1掌握函数定义的各个要素。如函数返回值的类型、形式参数与实际参数等。2掌握变量的作用域和生存期的概念。3掌握局部变量与全局变量的区别、静态局部变量和局部变量的区别、静态全局变量和全局变量的区别;理解外部变量和外部函数的概念。4理解数组作为函数的参数的含义。5理解函数的嵌套调用。6掌握函数的递归调用。实验
19、环境Visual C+6.0 window7实验内容3求100200之间的素数。要求:每行10个数输出;定义子函数isprime,函数原型为 int isprime( int n);4设f(x)=(2x3+3x2-4x+1)/(10x2+3),q(x)=3f(x)3+2f(x)2+f(x),编程实现输入x的值,计算输出q(x)的值,要求有q(x)和f(x)的定义。5求菲波那契数列1,1,2,3,5,8,13,21,34的前20项。要求:使用递归;每行输出5个数。算法描述及实验步骤实验3 1、定义函数 isprime(int n)。2、当(n%i=0)时,返回0.否则返回1。3、定义main函数
20、。确定范围100200. 4、当isprime函数成立,每五个一行输出。实验 4 1、定义函数f= (2*pow(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3); q= 3*pow(f(x),3)+2*pow(f(x),2)+f(x);。2、定义main 函数。3、输出q函数。实验 5 1、定义fib函数。前两项为1.2、利用递归函。Fib(x)= fib(x-1)+fib(x-2);。3、每五项一行输出。调试过程及实验结果3、4、5、总结1,掌握了函数定义的各个要素。2,如函数返回值的类型、形式参数与实际参数等.3,需要进一步掌握函数。附录实验 3#includ
21、e<stdio.h>int isprime(int n)int i;for(i=2;i<n;i+)if(n%i=0)return 0;return 1;main()int n,m=0;for(n=100;n<=200;n+)if(isprime(n)printf("%5d",n);m+;if(m%10=0)printf("n");printf("n");实验 4#include<stdio.h>#include<math.h>double f(float x)double c;c=(2*
22、pow(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3);return c;double q(float x)double c;c=3*pow(f(x),3)+2*pow(f(x),2)+f(x);return c;main()float x;double y;scanf("%f",&x);y=q(x);printf("%lfn",y);实验 5#include<stdio.h>int fib(int x)if(x=1|x=2)return 1;elsereturn fib(x-1)+fib(x-2);ma
23、in()int n,s;for(n=1;n<=20;n+)s=fib(n);printf("%-5d",s);if(n%5=0)printf("n");printf("%n");青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012-5-16姓名赵亚东学号201107209实验成绩实验名称实验六 指针实验目的及要求1.理解指针的定义,学会指针变量的初始化以及指针可以参与的运算。2.掌握指针和一维数组的关系。3.理解指针和二维数组的关系、理解行指针(或数组指针)的概念。4.理解指针数组和数组
24、指针的区别。5.理解指针和函数的关系以及指针函数和函数指针的含义。6.了解指针的指针(即二级指针)。实验环境Visual C+6.0 window7实验内容6编写程序。读入三个浮点数,将整数部分和小数部分分别输出。要求使用指针作形参。7编写一个函数,返回数组元素中最大值的地址,并在主函数中输出该元素。算法描述及实验步骤实验6 1、定义函数,指针做形参。2、定义a为整数部分,*p-a既是小数部分。然后输出。3、主函数中,键入三个浮点型数。并使用fu函数。实验71、定义dizhi函数,指针做形参。返回地址。2、定义主函数,以及一个数组。3、调用dizhi函数,输出数组和最大值。调试过程及实验结果6
25、、7、总结1.运用指针时应时刻注意指针指向的改变,避免逻辑上的错误,加大编程时的难度。2.通过指针变量可以提高程序质量,编写程序方便灵活,可以实现多个值的返回附录实验6#include<stdio.h>void fu(float *p)int a;a=(int)*p;printf("整数部分是%d 小数部分是%fn",a,*p-a);main()float a3;int i;for(i=0;i<3;i+)scanf("%f",&ai);fu(&ai); 实验7#include<stdio.h>int dizh
26、i(int *p)int s;p=&s;printf("地址是:%dn",p);return p;main()int i,s,a10,*p;for(i=0;i<10;i+) ai=rand()%10;printf("%d ",ai);printf("n");s=a0;for(i=0;i<10;i+)if(s<ai+1)s=ai;printf("最大数是;%dn",s);dizhi(&s);青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012
27、-5-16姓名赵亚东学号201107209实验成绩实验名称指针实验目的及要求1.理解指针的定义,学会指针变量的初始化以及指针可以参与的运算。2.掌握指针和一维数组的关系。3.理解指针和二维数组的关系、理解行指针(或数组指针)的概念。4.理解指针数组和数组指针的区别。5.理解指针和函数的关系以及指针函数和函数指针的含义。6.了解指针的指针(即二级指针)。实验环境Visual C+6.0 window7实验内容6编写程序。读入三个浮点数,将整数部分和小数部分分别输出。要求使用指针作形参。7编写一个函数,返回数组元素中最大值的地址,并在主函数中输出该元素。算法描述及实验步骤实验6 1、定义函数,指针
28、做形参。2、定义a为整数部分,*p-a既是小数部分。然后输出。3、主函数中,键入三个浮点型数。并使用fu函数。实验71、定义dizhi函数,指针做形参。返回地址。2、定义主函数,以及一个数组。3、调用dizhi函数,输出数组和最大值。调试过程及实验结果6、7、总结1.运用指针时应时刻注意指针指向的改变,避免逻辑上的错误,加大编程时的难度。2.通过指针变量可以提高程序质量,编写程序方便灵活,可以实现多个值的返回附录实验6#include<stdio.h>void fu(float *p)int a;a=(int)*p;printf("整数部分是%d 小数部分是%fn&quo
29、t;,a,*p-a);main()float a3;int i;for(i=0;i<3;i+)scanf("%f",&ai);fu(&ai); 实验7#include<stdio.h>int dizhi(int *p)int s;p=&s;printf("地址是:%dn",p);return p;main()int i,s,a10,*p;for(i=0;i<10;i+) ai=rand()%10;printf("%d ",ai);printf("n");s=a0;fo
30、r(i=0;i<10;i+)if(s<ai+1)s=ai;printf("最大数是;%dn",s);dizhi(&s);青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2011-5-30姓名赵亚东学号201107209实验成绩实验名称实验七 链表实验目的及要求1掌握结构体类型变量的定义和使用。2掌握结构体类型数组的概念和应用。3掌握链表的概念,初步学会对链表进行操作。实验环境VC+6.0实验内容1编写程序。有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据,要求输出3门课总平均成绩,以及最
31、高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。2建立一个学生链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。算法描述及实验步骤第一题定义一个结构体变量,包含学号、姓名、3门课的成绩定义一个可以输入学生信息的函数。定义一个函数可以求平均分并返回。输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。第二题定义一个结构体变量,包括学号、姓名、性别、年龄和指向下一个节点的指针。创建链表,输入学生信息。定义一个可以输出学生信息函数。定义一个可以删除节点的函数,当输入一个年龄时,如果链表中的
32、结点所包含的年龄等于此年龄,则将此结点删去。调试过程及实验结果12 总结熟练地掌握共用体;在写程序时可以熟练地使用链表进行数据操作。附录/第一题代码如下:#include<stdio.h>#define N 5void input(struct student stud);double av1(struct student stud);double av2(struct student stud);double av3(struct student stud);int max(struct student stud);struct studentint no;char name10
33、;double degree1;double degree2;double degree3;void main()struct student studN;double aver3,avg;int a,i;input(stud);aver0=av1(stud);aver1=av2(stud);aver2=av3(stud);a=max(stud);avg=(studa.degree1+studa.degree2+studa.degree3)/3.0;for(i=0;i<3;i+) printf("第%d门平均分:t",i+1);printf("%.2lfn&
34、quot;,averi);printf("分数最高的学生信息如下:n");printf("%dt%st%.2lf %.2lf %.2lf %.2lfn",studa.no,,studa.degree1,studa.degree2,studa.degree3,avg);void input(struct student stud)/输入N个学生的信息int i;printf("学生信息输入格式:学号、姓名 、分开输入三门分数n");for(i=0;i<N;i+)printf("输入第%d个学生信息:n
35、",i+1);scanf("%d%s%lf%lf%lf",&studi.no,,&studi.degree1,&studi.degree2,&studi.degree3);double av1(struct student stud)/计算第一门课的平均分int i;double a=0.0,b;for(i=0;i<N;i+)a+=studi.degree1;b=a/N;return b;double av2(struct student stud)/计算第二门课的平均分int i;double a=0.0
36、,b;for(i=0;i<N;i+)a+=studi.degree2;b=a/N;return b;double av3(struct student stud)/计算第三门课的平均分int i;double a=0.0,b;for(i=0;i<N;i+)a+=studi.degree3;b=a/N;return b;int max(struct student stud)/查找分数最大的学生下标double m=0,aN;int i,k=0;for(i=0;i<N;i+)ai=studi.degree1+studi.degree2+studi.degree3;if(m<
37、;ai)m=ai;k=i;return k;/ 第二题代码如下:#include<stdio.h>#include<malloc.h>#define N 3typedef struct stud int no;char name10;char sex10;int age;struct stud *next;Stud;Stud *create();void show(Stud *head);void delet(Stud *head);Stud *getnode(Stud *head,int n);void shan(Stud *head);void main()/主函数
38、Stud *head;int n;doprintf("1-创建链表,2-显示链表,3-删除相同年龄,0-退出操作n");scanf("%d",&n);switch(n)case 1:head=create();break;case 2:show(head);break;case 3:delet(head);break;default:break;while(n!=0);Stud *create()/创建链表储存学生信息Stud *p,*head,*r;int i;head=(Stud *)malloc(sizeof(Stud);r=head;pr
39、intf("输入学生信息格式:学号、姓名、性别、年龄n");for(i=1;i<=N;i+)p=(Stud *)malloc(sizeof(Stud);printf("输入第%d个学生信息n",i);scanf("%d%s%s%d",&p->no,p->name,p->sex,&p->age);r->next=p;r=p;r->next=NULL;return head;void show(Stud *head)/显示学生信息int i=0;Stud *p=head->n
40、ext;printf("学生信息如下:n");while(p!=NULL)printf("第%d个学生信息:nn",i+1);printf("%dt%st%st%dn",p->no,p->name,p->sex,p->age);p=p->next;i+;Stud *getnode(Stud *head,int n)int i=1;Stud *p=head;if(n<1)return NULL;while(p!=NULL&&i<n)p=p->next;i+;if(p!=NU
41、LL)return p;elsereturn NULL;void delet(Stud *head)/删除与输入年龄相同的学生信息int year,i=1,k=1;Stud *p=head->next,*q;printf("输入要删除的年龄n");scanf("%d",&year);while(p!=NULL)if(year=p->age)if(k=1)head->next=p->next;free(p); p=head;elseq=getnode(head,k);q->next=p->next;free(p)
42、;p=q;elsek+;p=p->next;printf("相同年龄已删除n");青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012-6-8姓名赵亚东学号201107209实验成绩实验名称 实验八 综合程序设计实验目的及要求1.掌握文件以及缓冲文件系统、文件指针的概念。2.学会使用文件打开、关闭、读、写等文件操作函数。3.通过一个综合程序,使学生对综合运用C语言程序设计语言有初步的认识。实验环境VC+6.0实验内容一、 学生管理系统1、 学生基本信息的管理,包括添加、修改、删除、查找、全删等操作;2、 课程数据的管理,包括添
43、加、修改、删除、查找、全删等操作;3、 学习成绩数据的管理,包括添加、修改、删除、查找、全删等操作;4、 学生成绩查询系统,包括按学号、按课程号、按班号统计学生的成绩。算法描述及实验步骤首先自定义学生信息、课程数据、学生成绩的结构体,定义这些变量的链表,一边对这些数据进行操作。一、在写主函数时,先把数据从文件中提取到链表中,操作后再写入文件中进行保存。二、在学生信息管理系统中,添加,即是判断是否存在相同学号,没有通过链表进行添加操作,有的话进行提示 ,修改时只改对应学号的信息,学号不需要修改,但需要同时修改成绩管理系统中的对应 学号的学生姓名,在进行删除操作时,先查找是否有和需要修改的学号相对
44、应的学生信息,有的话则按照链表删除操作进行删除,查找时判断是否有需要查找的学号,若有,输出对应的学生信息,进行全删操作时,和链表的释放操作差不多,但是要注意的是不能释放头结点的地址,它是一个全局变量,释放后不能进行其他操作。在课程数据、学习成绩数据的处理时,采取同样的处理方式;三、学生成绩查询系统分按学号、按课程号、按班号三种方式来统计学生的成绩。调试过程及实验结果总结可以熟练地进行文件操作,打开文件,写文件,向文件中添加内容,以及文件的读取等操作进行编写小型程序。附录Student文件#include<stdio.h>#include<stdlib.h>#includ
45、e<malloc.h>#include<string.h>#include"school.h"void addstudent();void displaystudent();void alterstudent();void changename(int no,char name);void findstudent();void deletstudent();void deleallstu();extern StudNode *studenthead;extern ScoreNode *scorehead;void student()int x;dop
46、rintf("1-添加,2-修改,3-显示,4-查找,5-删除,6-全删,0-返回n");scanf("%d",&x);switch(x)case 1:addstudent();break;case 2:alterstudent();break;case 3:displaystudent();break;case 4:findstudent();break;case 5:deletstudent();break;case 6:deleallstu();break;case 0:break;default :printf("选择错误n&q
47、uot;);break;while(x!=0);void addstudent()/添加一个学生信息StudNode *p=studenthead->next,*s,*q=studenthead;int no;StudType st;printf("输入添加的学生学号n");scanf("%d",&no);while(p!=NULL && p->data.no!=no)q=p;p=p->next;if(p=NULL)/学号不重复s=(StudNode *)malloc(sizeof(StudNode);print
48、f("输入学生信息格式:姓名、年龄、班号n");scanf("%s%d%s",,&st.age,st.classno);st.no=no;s->data=st;s->next=q->next;q->next=s;elseprintf("学号重复n");void displaystudent()StudNode *p=studenthead->next;if(p!=NULL)printf("学生信息如下:n");printf("学号 姓名 年龄 班号n&q
49、uot;);while(p!=NULL)printf("%3d%8s%5d%8sn",p->data.no,p->,p->data.age,p->data.classno);p=p->next;printf("学生信息输出完毕n");elseprintf("无学生信息n");void alterstudent()/修改一个学生的信息,但是学号不改变,同时改变成绩管理文件的姓名StudNode *p=studenthead->next;int no;StudType st;if(p!
50、=NULL)printf("输入要修改的学生学号n");scanf("%d",&no);while(p!=NULL&& p->data.no!=no)p=p->next;if(p!=NULL)printf("输入修改学生信息,格式:姓名、年龄、班号n");scanf("%s%d%s",,&st.age,st.classno);st.no=no;p->data=st;changename(st.no,);elseprintf("未
51、查到要修改信息的学生n");void changename(int no,char name)/修改学生成绩管理系统中的名字ScoreNode *p2=scorehead->next;while(p2!=NULL&&p2->data.no!=no)p2=p2->next;if(p2!=NULL)strcpy(p2->,name);elseprintf("在成绩管理系统中未发现要修改的学生资料n");void findstudent()/根据学号查找学生信息并输出StudNode *p=studenthead
52、;int no;printf("输入要查找的学生学号n");scanf("%d",&no);while(p!=NULL &&p->data.no!=no)p=p->next;if(p!=NULL)printf("要查找的学生信息如下:n");printf("%3d%8s%5d%8sn",p->data.no,p->,p->data.age,p->data.classno);elseprintf("未找到该学号的学生信息n");void deletstudent()/根据学号删除学生信息StudNode *p=studenthead,*q;int no;printf("输入要删除的学生学号n");scanf("%d",&no);while(p!=NULL &&p->data.no!=no)q=p;p=p->next;if(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险公司电梯安装及维护合同
- 时尚行业合同制人员管理策略
- 水利工程管道改造非开挖施工合同
- 农村住宅建设合同模板
- 段晏明治疗巴雷特食管
- 关于安全生产承诺书范文锦集六篇
- 公司新年开工仪式的致辞(8篇)
- 《妇幼保健围产保健》课件
- 《中医养生学》课件
- 《管理心理学EA》课件
- 儿童早期发展项目和评价课件
- 煤矿行业安全用电培训课件
- 游泳馆安全培训课件
- 知识产权结构化面试问题
- 人才梯队(人才库、人才盘点)建设方案
- 《春夏秋冬》教学设计与指导课件(第一课时)
- 《小学教育概统》课件
- 市场工作研讨会接待方案
- 2024版职业发展规划医疗人员的成长路径和晋升机会培训课件
- GH/T 1420-2023野生食用菌保育促繁技术规程松茸
- 工程造价审计投标方案(技术标)
评论
0/150
提交评论