C语言课程设计

发布时间:2025-01-21 19:39

技能培训课程涵盖领域:编程、设计、营销、语言等 #生活技巧# #工作学习技巧# #技能培训课程#

需求分析:

1.设计题目:学生个人生活费管理系统

2.系统功能需求分析:一直以来,一些学生自己的经济管理能力较差,为了方便学生进行管理生活费,选择设计编辑此程序。

概要设计:

系统总体设计框架

详细设计:

主要阐述功能模块的算法设计思路

(1)strcut student结构体变量

(2)int main()主函数

先通过学生生活费录入录入信息,在用下面(3)学生生活费统计函数(4)学生生活费排序函数(5)学生生活费筛选函数等三个函数进行运行,得出结果。

void count()统计函数void sort1() void sort2() void sort3()排序函数void find筛选函数 调试分析过程描述:包括测试数据,测试分析结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等)

(1)测试数据:

学号

姓名

支出1

支出2

支出3

支出4

20202805

小媛

450

510

220

250

20202798

小佳

500

560

230

280

20202901

小周

540

580

210

200

程序代码

#include<stdio.h>

#define N 3

struct student

{

char num[20];

char name[20];

float score[4];

float sum;

float aver; 

}stu[N];

int main()

{

    printf("******** made by lyy ********\n\n");

    printf("********学生个人生活费管理系统********\n\n\n");

void count(struct student stu[]);

void sort1(struct student stu[]);

void sort2(struct student stu[]);

void sort3(struct student stu[]);

void find(struct student stu[]);

int i;

float temp;

for(i=0;i<N;i++)

    {  

        printf("请输入第%d位的支出情况:\n",i+1);

        printf("学号:        ");

        gets(stu[i].num);

        printf("姓名:        ");

        gets(stu[i].name);

        printf("支出1(衣):        ");

        scanf("%f",&temp);

        stu[i].score[0]=temp;

        printf("支出2(食):        ");

        scanf("%f",&temp);

        stu[i].score[1]=temp;

        printf("支出3(住):        ");

        scanf("%f",&temp);

        stu[i].score[2]=temp;

        printf("支出4(行):        ");

        scanf("%f",&temp);

        getchar();

        stu[i].score[3]=temp;

    }

    printf("------统计消费记录------\n");

    count(stu);

    printf("\n");

    printf("------学号排序消费记录------\n");

    sort1(stu);

    printf("\n");

    printf("------姓名排序消费记录------\n");    

    sort2(stu);

    printf("\n");

    printf("------总和排序消费记录------\n");

    sort3(stu);

    printf("\n");

    find(stu);

}

void count(struct student stu[]) 

{  

float sum;

float aver; 

int i,j;  

for(i=0;i<N;i++) 

    {    

        sum=0;   

for(j=0;j<4;j++) 

        {

        sum+=stu[i].score[j];  

        aver=sum/4.0; 

        stu[i].sum=sum; 

        stu[i].aver=aver; 

        }

    }  

    printf("学号            姓名      总支出      平均支出  \n");

for(i=0;i<N;i++) 

    printf("%-8s      %-10s      %.2f      %.2f \n",stu[i].num,stu[i].name,stu[i].sum,stu[i].aver); 

}  

void sort1(struct student stu[])  

int i,j,k; 

struct student temp;  

for(i=0;i<N;i++)

    {  

        k=i;  

for(j=i+1;j<N;j++)  

if(stu[k].num<stu[j].num)  

            k=j;   

if(k!=i)   

        {    

            temp=stu[i];   

            stu[i]=stu[k];  

            stu[k]=temp;    

        } 

    }  

    printf("学号          姓名      支出1      支出2      支出3      支出4      总支出      平均支出    \n");   

for(i=0;i<N;i++)   

    printf("%-8s      %-10s       %.2f      %.2f      %.2f      %.2f      %.2f      %.2f \n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver); 

}   

void sort2(struct student stu[])  

int i,j,k; 

struct student temp;  

for(i=0;i<N;i++)

    {  

        k=i;  

for(j=i+1;j<N;j++)  

if(stu[k].name<stu[j].name)  

            k=j;   

if(k!=i)   

        {    

            temp=stu[i];   

            stu[i]=stu[k];  

            stu[k]=temp;    

        } 

    }  

    printf("学号          姓名      支出1      支出2      支出3      支出4      总支出      平均支出    \n");   

for(i=0;i<N;i++)   

    printf("%-8s      %-10s      %.2f      %.2f      %.2f      %.2f      %.2f      %.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver); 

}  

void sort3(struct student stu[])  

int i,j,k; 

struct student temp;  

for(i=0;i<N;i++)

    {  

        k=i;  

for(j=i+1;j<N;j++)  

if(stu[k].sum<stu[j].sum)  

            k=j;   

if(k!=i)   

        {    

            temp=stu[i];   

            stu[i]=stu[k];  

            stu[k]=temp;    

        } 

    }  

    printf("学号          姓名      支出1      支出2      支出3      支出4      总支出      平均支出    \n");   

for(i=0;i<N;i++)   

    printf("%-8s      %-10s      %.2f      %.2f      %.2f      %.2f      %.2f      %.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver); 

}   

void find(struct student stu[]) 

  {  

int i,j,sum,flag=0;   

    printf("the student of two scores<230:\n"); 

for(i=0;i<N;i++) 

    { 

        sum=0; 

for(j=0;j<4;j++)  

if(stu[i].score[j]<230)  

            sum++;    

if(sum>=2) 

        {      

            flag=1;  

            printf("%-8s%-10s\n",stu[i].num,stu[i].name);

        }

    }

if(flag==0)  

        printf("  not exist!\n"); 

 }

网址:C语言课程设计 https://www.yuejiaxmz.com/news/view/734643

相关内容

C++期末课程设计——宾馆客房管理系统(详细报告+源代码+详细注释)(另附加“25+”C++&&C语言期末课程设计系统下载地址)
C 语言程序设计心得:编程之路的探索与收获
C语言程序设计 自测题(三)
C语言与编程,一道未解之谜?
C#课程设计(购物平台)
C语言在生活中的应用 …
C语言程序设计(100道编程题)
C语言程序优化工作流程的注意事项
C语言自学书籍推荐
小学语文校本课程建设的实践

随便看看