c++中主程序和子程序分别是什么举例说明

c++中主程序和子程序分别是什么举例说明,第1张

刚开始写可能你觉得程序没什么用

一个程序运行肯定是先运行主程序

我们当然可以把所有程序都写在主程序里面,但是你会发现主程序过于庞大,有些程序反复使用,那么我们就写一个子程序,当要用这段程序的时候我们就通过调用来解决

比如我一个主程序,里面一直要用到查找,我们就先写个子程序把它定义为findtext(int str1,int str2)str1为查找内同 str2为查找目标

然后我们写主程序,就可以直接用这个子程序

其实在C里面你可能觉得没什么,如果你学过单片机,我们写程序不用到子程序不行,应为单片机容量有限,如果重复代码出现就会下不下,所以我们会尽量把所有重复出现的代码写成子程序,减少代码体积

我个人加了一些修改 运行结果可能不完全相同但是基本一样我是用vc++6.0

#include<stdio.h>

#include<stdlib.h>

int main()

{

void print()

void aver()

void aver2()

void aver3()

print()

printf("班级成绩统计\n张旭\n")

loop:

print()

printf("1、统计小组一门课程的总分及平均分\n")

printf("2、统计小组若干门课程的总分及平均分\n")

printf("3、输入小组学生姓名及三门课程成绩并显示排序后的成绩单\n")

printf("4、退出程序\n\n")

printf("请在1~4间选择:")

int n

scanf("%d",&n)

print()

switch(n)

{

case 1:aver()goto loop

case 2:aver2()goto loop

case 3:aver3()goto loop

case 4:break

}

return 0

}

void print()

{

printf("***********************************************************\n")

}

void aver()

{

void *calloc(unsigned n,unsigned size)

int a,i

printf("请输入小组人数:")

scanf("%d",&a)

float *p,b=0,c

p=(float *)calloc(a,4)

printf("请输入本小组%d位同学的一门课程的成绩:\n",a)

for(i=0i<ai++)

{

printf("第%d位同学:",i+1)

scanf("%f",&p[i])

b+=p[i]

}

c=b/a

printf("该小组%d位同学1门课程的总分为:%4.2f\t平均分为:%4.2f\n",a,b,c)

}

void aver2()

{

void *calloc(unsigned n,unsigned size)

int m,n,i,j,k

printf("请输入小组人数:")

scanf("%d",&m)

printf("请输入课程门数:")

scanf("%d",&n)

print()

float *p,b=0,c

p=(float *)calloc(m,4)

for(i=1i<=ni++)

{

k=1

b=0

printf("本小组%d位同学第%d门课程的成绩:\n",m,i)

for(j=0j<mj++)

{

printf("第%d位同学第%d门课成绩:",k,i)

scanf("%f",&p[j])

b+=p[j]

k++

}

c=b/m

printf("该小组%d位同学第%d门课程的总分为:%.2f\t平均分为:%.2f\n",m,i,b,c)

print()

}

}

struct stu

{

char nm[4]

float k1,k2,k3,kz,ka

}

void aver3()

{

void *calloc(unsigned n,unsigned size)

int n,i,j

printf("请输入小组人数:")

scanf("%d",&n)

stu *p

p=(stu *)calloc(n+1,22)

print()

for(i=0i<ni++)

{

printf("第%d位同学的姓名及三门课程的成绩:",i+1)

scanf("%s%f%f%f",p[i].nm,&p[i].k1,&p[i].k2,&p[i].k3)

p[i].kz=p[i].k1+p[i].k2+p[i].k3

p[i].ka=p[i].kz/3

}

for(i=0i<ni++)

for(j=1+1j<nj++)

if(p[i].kz<p[j].kz)

{

p[n]=p[j]

p[j]=p[i]

p[i]=p[n]

}

printf("排序 姓名 课1课2课3总分平均分\n")

for(i=0i<ni++)

printf("第%d名 %-4s %-.2f %-.2f %-.2f %-.2f %-.2f\n",i+1,p[i].nm,p[i].k1,p[i].k2,p[i].k3,p[i].kz,p[i].ka)

}

一个程序开始运行时,运行的是主程序段。之后主程序调用的其他程序段就叫子程序。

C语言的程序段都是以函数形式存在,所以除了主程序main()以外,其他程序中出现的函数都是子程序。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7858040.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存