c语言程序课程设计

作者&投稿:端豪 (若有异议请与网页底部的电邮联系)
#include<time.h>
#include<stdio.h>
#include<string.h>
#include<Windows.h>
#define N 20
#define M 100
struct student
{
char id[N];
char theclass[N];
char name[N];
char ontime[N];
}student[M];
int n;

void addition()
{
int i;
printf("\n请输入录入学生信息的总数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("\n\t请输入第%d个学生学号(20s):",i);
scanf("%s",student[i-1].id);
printf("\n\t请输入第%d个学生班级(20s):",i);
scanf("%s",student[i-1].theclass);
printf("\n\t请输入第%d个学生姓名(20s):",i);
scanf("%s",student[i-1].name);
printf("\n\t请输入第%d个学生上机时间(20s)(例08:02):",i);
scanf("%s",student[i-1].ontime);
printf("\n\t提示:您已成功录入第%d条信息\n",i);
}
}

void calculate()
{
int hours;
char times[30];
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime(&rawtime );
strcpy(times,asctime(timeinfo));
printf("\t所有学生上机费用如下:\n");
for(int i=1;i<=n;i++)
{
printf("学生%d费用:",i);
if((student[i-1].ontime[3]-48)*10+student[i-1].ontime[4]>(times[14]-48)*10+times[15])
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1];
else
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]+1;
printf("%d\n",hours);
}
}

void search()
{
int i,b,c,count;
do
{
char find[20];
printf("\n请选择查询方式:1.根据学号查询;2.根据班级查询;3.根据姓名查询;4.根据上机时间:");
scanf("%d",&b);
switch(b)
{
case 1:
count=PF_FLOATING_POINT_PRECISION_ERRATA;
printf("\n**请输入学生的学号:");
scanf("%s",find);
for(i=0;i<n;i++)
{
if (strcmp(student[i].id,find)==0)
{
count++;
if(count==PF_FLOATING_POINT_EMULATED)
printf("学生学号\t学生班级\t学生姓名\t上机时间\n");
printf("%8s%15s%15s%17s",student[i].id,student[i].theclass,
student[i].name,student[i].ontime);
}
}
if(!count)
printf("****提示:该生不存在");
goto A;
case 2:
count=PF_FLOATING_POINT_PRECISION_ERRATA;
printf("\n**请输入学生的班级:");
scanf("%s",find);
for(i=0;i<n;i++)
{
if (strcmp(student[i].theclass,find)==0)
{
count++;
if(count==PF_FLOATING_POINT_EMULATED)
printf("学生学号\t学生班级\t学生姓名\t上机时间\n");
printf("%8s%15s%15s%17s",student[i].id,student[i].theclass,
student[i].name,student[i].ontime);
}
}
if(!count)
printf("****提示:该生不存在");
goto A;
case 3:
count=PF_FLOATING_POINT_PRECISION_ERRATA;
printf("\n**请输入学生的姓名:");
scanf("%s",find);
for(i=0;i<n;i++)
{
if (strcmp(student[i].name,find)==0)
{
count++;
if(count==PF_FLOATING_POINT_EMULATED)
printf("学生学号\t学生班级\t学生姓名\t上机时间\n");
printf("%8s%15s%15s%17s",student[i].id,student[i].theclass,
student[i].name,student[i].ontime);
}
}
if(!count)
printf("****提示:该生不存在");
goto A;
case 4:
count=PF_FLOATING_POINT_PRECISION_ERRATA;
printf("\n**请输入学生的上机时间:");
scanf("%s",find);
for(i=0;i<n;i++)
{
if (strcmp(student[i].ontime,find)==0)
{
count++;
if(count==PF_FLOATING_POINT_EMULATED)
printf("学生学号\t学生班级\t学生姓名\t上机时间\n");
printf("%8s%15s%15s%17s",student[i].id,student[i].theclass,
student[i].name,student[i].ontime);
}
}
if(!count)
printf("****提示:该生不存在");
goto A;
default:printf("*****提示:输入错误");
}
A:printf("\n\t**1.继续\n\t**0.返回主菜单");
printf("\n\t 请输入您的选择:");
scanf("%d",&c);
}while(c);
}

void menu()
{
printf("\n\t*******************欢迎进入机房收费管理系统!*******************\n");
printf("\t* 1.录入功能 2.计算功能 *\n");
printf("\t* 3.查询功能 0.-*EXIT*- *\n");
printf("\t***************************************************************\n");
printf("\n\t 请输入您的选择:");
}

void main()
{
system("color 5f");
int a;
C:menu();
scanf("%d",&a);
switch(a)
{
case 0:printf("***正在退出**谢谢使用本系统,再见");break;
case 1:addition();goto C; /*录入功能*/
case 2:calculate();goto C; /*浏览功能*/
case 3:search();goto C; /*查询功能*/
}
}
看看满意不

这个设计比较简单吧 用结构体就行啦

C语言程序 课程设计~

以前编的 供你参考下 这东西没人会给你编一个符合你的要求的。还是自己琢磨琢磨好。
#include "stdio.h"
#include "string.h"
struct student
{int num;
char name[10];
char sex[10];
char brith[20];
char academy[20];
float score[5];
float average;
}stu[30];
int m=0,o;
void main()
{
void SR();
void TJ();
void CX();
void SC();
void CR();
void XG();
int n;
printf("请输入统计人数:");
scanf("%d",&o);
do{printf(" # %d学生 4门课的统计程序 #
1 成绩录入;
2 成绩查询;
3 成绩统计;
4 删除录入;
5 插入学生
6 修改学生
7 退出",o);
printf("
输入1-7选择。请选择:");
scanf("%d",&n);
if(n==1) SR();
else if(n==2) CX();
else if(n==3) TJ();
else if(n==4) SC();
else if(n==5) CR();
else if(n==6) XG();
else if(n==7) printf("谢谢使用");
else printf("无此选项!自动返回!
");}
while(n!=7);
}

void SR()
{int y,i,j,t,k,n; float x;
if(m==1)
{printf("成绩已录入,数字键返回");
scanf("%d",&y);
goto loop;}
for(i=0;i<o;i++)
{printf("输入第%d名同学的信息
",i+1);
printf("学号:");
scanf("%d",&stu[i].num);
printf("
姓名:
");
scanf("%s",&stu[i].name);
printf ("
性别:
");
scanf ("%s",&stu[i].sex);
printf("
出生日期:
");
scanf("%s",&stu[i].brith);
printf("
系别:
");
scanf("%s",&stu[i].academy);
printf("
分数:
");
for(j=0;j<4;j++)
{printf("第%d科",j+1);
scanf("%f",&stu[i].score[j]);}
x=0;
for(t=0;t<4;t++)
x=x+stu[i].score[t];
stu[i].average=x/4;}
printf("输入的成绩为:
");
printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科
");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3]);
printf("重新输入请按 0,其他数字键返回");
scanf("%d",&n);
if(n==0)
SR();
else m=1;
loop:{};}

void CR()
{int i,k,j,t,n,w=-1;float x;
if(m==0)
{printf("请先输入成绩!
");
goto loop;};
printf("插入的学号:");
scanf("%d",&stu[o].num);
printf("
插入的姓名:
");
scanf("%s",&stu[o].name);
printf ("
插入的性别:
");
scanf ("%s",&stu[o].sex);
printf("
插入的出生日期:
");
scanf("%s",&stu[o].brith);
printf("
插入的系别:
");
scanf("%s",&stu[o].academy);
printf("
插入的分数:
");
for(j=0;j<4;j++)
{printf("第%d科",j+1);
scanf("%f",&stu[o].score[j]);}
o=o+1;
for(i=0;i<o;i++)
{x=0;
for(t=0;t<4;t++)
{x=x+stu[i].score[t];}
stu[i].average=x/4;}
printf("各学生成绩:
");
{printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
printf("重复插入请按 0,其他数字键确认");
scanf("%d",&n);
if(n==0)
CR();
loop:{};}

void SC()
{int k,j,t,n,w=-1;
if(m==0)
{printf("请先输入成绩!
");
goto loop;};
printf("各学生成绩:
");
{printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
chucuo:printf ("你要删除的学号:");
scanf("%d",&j);
for(t=0;t<o;t++)
{if (stu[t].num==j)w=t;}
if(w!=-1)
{o=o-1;
for (k=w;k<o;k++)
{stu[k].num=stu[k+1].num;
strcpy(stu[k].name,stu[k+1].name);
strcpy(stu[k].sex,stu[k+1].sex);
strcpy(stu[k].brith,stu[k+1].brith);
strcpy(stu[k].academy,stu[k+1].academy);
stu[k].score[0]=stu[k+1].score[0];
stu[k].score[1]=stu[k+1].score[1];
stu[k].score[2]=stu[k+1].score[2];
stu[k].score[3]=stu[k+1].score[3];
stu[k].average=stu[k+1].average;}}
if (w==-1) {printf("输入学号有误,请从新输入:");goto chucuo;};
printf("删除后各学生成绩:
");
printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
for(k=0;k<o;k++)
{printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
printf("重复删除请按 0,其他数字键确认");
scanf("%d",&n);
if(n==0)
SC();
loop:{};}

void TJ()
{
int k,i,j,a[30],t; float n[30],q;
if(m==0)
{printf("请先输入成绩!
");
goto loop;};
printf("各学生成绩:
");
{printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
for(i=0;i<o;i++)
a[i]=i;
for(i=0;i<o;i++)
n[i]=stu[i].average;
for(j=0;j<o-1;j++)
for(i=0;i<o-1-j;i++)
if(n[i]<n[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;
q=n[i];n[i]=n[i+1];n[i+1]=q;}
printf("按平均分排序
");
{printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[a[k]].num,stu[a[k]].name,
stu[a[k]].sex,stu[a[k]].brith,stu[a[k]].academy,stu[a[k]].score[0],stu[a[k]].score[1],stu[a[k]].score[2],stu[a[k]].score[3],stu[a[k]].average);}
chucuo:{printf("1 按第一科排序
2 按第二科排序
3 按第三科排序
4 按第四科排序
请输入:");
scanf("%d",&k);
if(k==1) j=0;
else if(k==2) j=1;
else if(k==3) j=2;
else if(k==4) j=3;
else {printf("出错,重新输入
");goto chucuo;}
for(i=0;i<o;i++)
{n[i]=stu[i].score[j];
a[i]=i;};
for(k=0;k<o-1;k++)
for(i=0;i<o-1-k;i++)
if(n[i]<n[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;
q=n[i];n[i]=n[i+1];n[i+1]=q;}
{printf("按第%d科排序结果:
",j+1);
printf("学号 姓名 性别 出生日期 系别 科目
");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f
",stu[a[k]].num,stu[a[k]].name,
stu[a[k]].sex,stu[a[k]].brith,stu[a[k]].academy,stu[a[k]].score[j]);}
printf("继续按1,其他数字键返回");
scanf("%d",&i);
if(i==1) goto chucuo;
loop:{};}}

void CX()
{
int x,y,k,t,i,j,q=0;
if(m==0)
{printf("请先输入成绩!
");
goto loow;};
looq:printf("1 按学号查询
2 查询不及格学生
其他数字键退出
");
scanf("%d",&x);
if(x==1)
loop:{printf("输入学号:
");
scanf("%d",&y);
j=0;
for(k=0;k<o;k++)
if(y==stu[k].num)
{printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);j=1;}
if(j==0)
{printf("无此人,重新输入:
");
goto loop;}
printf("继续按1,其他数字键返回
");
scanf("%d",&i);
if(i==1)
goto loop;
else goto looq;}
else if(x==2)
{for(k=0;k<o;k++)
for(t=0;t<4;t++)
if(stu[k].score[t]<60)
{printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);q=1;break;};
if(q==0)
printf("全部及格!
");
printf ("继续请按1,其他数字键退出:");
scanf ("%d",&k);
if(k==1)
goto looq;};
loow:{};
}

void XG()
{int k,j,t,n,w=-1; float x;
if(m==0)
{printf("请先输入成绩!
");
goto loop;};
printf("各学生成绩:
");
{printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
chucuo:printf ("你要修改的学号:");
scanf("%d",&j);
for(t=0;t<o;t++)
{if (stu[t].num==j)w=t;}
if(w!=-1)
{printf("请输入你要修改的信息:");
printf("
修改的学号:
");
scanf("%d",&stu[w].num);
printf("
修改的姓名:
");
scanf("%s",&stu[w].name);
printf ("
修改的性别:
");
scanf ("%s",&stu[w].sex);
printf("
修改的出生日期:
");
scanf("%s",&stu[w].brith);
printf("
修改的系别:
");
scanf("%s",&stu[w].academy);
printf("
修改的分数:
");
for(j=0;j<4;j++)
{printf("第%d科",j+1);
scanf("%f",&stu[w].score[j]);}}
x=0;
for(t=0;t<4;t++)
{x=x+stu[w].score[t];}
stu[w].average=x/4;
if (w==-1) {printf("输入学号有误,请从新输入:");goto chucuo;};
printf("修改后各学生成绩:
");
printf("学号 姓名 性别 出生日期 系别 第一科 第二科 第三科 第四科 平均
");
for(k=0;k<o;k++)
{printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f
",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
printf("重复修改请按 0,其他数字键确认");
scanf("%d",&n);
if(n==0)
XG();
loop:{};}

给你代码,你自己去研究吧
#include
#define SIZE 10

typedef struct student
{
int num;
char name[20];
int score[3];
float average;
}student;

void indata(student *stu)
{
int i;

for (i = 0; i < SIZE; i++)
{
scanf("%d %s %d %d %d%*c", &stu[i].num, stu[i].name, &stu[i].score[0],
&stu[i].score[1], &stu[i].score[2]);
}
}

void outdata(student *stu)
{
int i;

for (i = 0; i < SIZE; i++)
{
printf("%d %s %d %d %d %f
", stu[i].num, stu[i].name, stu[i].score[0],
stu[i].score[1], stu[i].score[2], stu[i].average);
}
}

int main()
{
student stu[SIZE];
int i, j;
int t;
student temp;

printf("请输入信息:
");
indata(stu);

for (i = 0; i < SIZE; i++) //算平均分
{
stu[i].average = 0;
for (j = 0; j < 3; j++)
stu[i].average += stu[i].score[j];
stu[i].average /= 3;
}

for (i = 0; i < SIZE - 1; i++) //按平均分进行排序
{
t = i;
for (j = i + 1; j < SIZE; j++)
{
if (stu[t].average > stu[j].average)
t = j;
}
if (t == i)
continue;
else
{
temp = stu[i];
stu[i] = stu[t];
stu[t] = temp;
}
}

printf("排序后信息为:
");
outdata(stu);

return 0;
}

C语言课程设计
答:C语言课程设计 题目商品信息管理程序设计一个商品信息管理程序,商品信息包括:商品编号,商品名称,商品价格,商品数量,商品生产商等。该程序设计应该具有以下功能:1商品信息的添加2商品信息的删... 题目 商品信息管理程序 设计一个商品信息管理程序,商品信息包括:商品编号,商品名称,商品价格,商品数量,商品生产商等。该...

求一个C语言课程设计
答:要交作业,求一个C语言课程设计具体内容1,任务与具体要求2,设计说明书包括的内容3,程序源代码(中间不要有汉字注释,并且要能在TurboC中成功运行)4,心得体会5,主要的参考文献我... 要交作业,求一个C语言课程设计具体内容1,任务与具体要求2,设计说明书包括的内容3,程序源代码(中间不要有汉字注释,并且要能在...

C语言课程设计,贪吃蛇应该怎么做?
答:因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。 回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过...

c语言课程设计
答:展开全部 我有个程序需要TC编译,要的话百度HI联系 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 其他类似问题 2015-10-01 C语言课程设计 2019-03-05 C语言课程设计难吗?C语言这门课难还是课程设计难? 1 2009-06-22 C语言课程设计报告要求 66 2020-03-20 c语言课程设计问题? 更多类似问题 >...

C语言课程设计报告要求
答:2. 通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 四、设计思想及过程 【一】由于万年历具有以下特点: 1。平年365天(52周+1天),闰年366天(...

C语言程序设计课程设计扫地雷游戏,怎么做?
答:C语言程序设计课程设计扫地雷游戏,怎么做?  我来答 2个回答 #热议# 《请回答2021》瓜分百万奖金 水晶扇 2012-07-23 · TA获得超过1525个赞 知道大有可为答主 回答量:837 采纳率:100% 帮助的人:774万 我也去答题访问个人页 关注 展开全部 #include <stdlib.h>#include #include <conio.h...

c语言课程设计
答:printf("请输入该学生的“C程序设计语言”分数:");scanf("%f",&stud[i].c_program);printf("请输入该学生的“大学物理”分数:");scanf("%f",&stud[i].physics);printf("请输入该学生的“大学英语”分数:");scanf("%f",&stud[i].english);printf("请输入该学生的“体育”分数:");scanf("%f",&...

C语言课程设计编写问题
答:一个简单的成绩管理系统[[问题描述] 一个不多于50个班级,每个班级人数不多于60人,需要对他们的一些课程成绩进行管理包括输入修改,查询,统计等。[基本要求]...1、C语言入门(C语言程序结构、顺序结构程序设计、函数和普通排序算法)2、基础算法(高精度、递归递推、搜索回溯、贪心、广度优先、动态规划)3、数据结构(栈...

《C语言程序设计》课程设计
答:include<stdio.h> include<stdlib.h> include<string.h> include<conio.h> define BUFFERSIZE 1024 define MAXACCOUNT 1000 typedef struct BankAccount { int account;int key;char name[32];float balance;}BANKACCOUNT;BANKACCOUNT accountCollection[MAXACCOUNT];int curAccount = 0;void Insert...

c语言课程设计之学生成绩管理系统设计的程序
答:printf("输入课程1名称:");scanf("%s",frist[0].name);fprintf(p,"%s\n",frist[0].name);printf("输入课程2名称:");scanf("%s",frist[1].name);fprintf(p,"%s\n",frist[1].name);printf("输入课程3名称:");scanf("%s",frist[2].name);fprintf(p,"%s\n",frist[2].name);}...