C语言课程设计
技能培训课程涵盖领域:编程、设计、营销、语言等 #生活技巧# #工作学习技巧# #技能培训课程#
需求分析: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语言自学书籍推荐
小学语文校本课程建设的实践