#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<string.h>
#define LEN sizeof(struct student)
#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lfn"
#define DATA stu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum
struct student
{ int num
char name[15]
double elec
double expe
double requ
double sum
}
struct student stu[50]
void in()
void show()
void order()
void del()
void modify()
void menu()
void insert()
void total()
void search()
void main()
{ int n
menu()
scanf("%d",&n)
while(n)
{ switch(n)
{ case 1: in()break
case 2: search()break
case 3: del()break
case 4: modify()break
case 5: insert()break
case 6: order()break
case 7: total()break
case 8: show()break
default:break
}
getch()
menu()
scanf("%d",&n)
}
}
void in()
{ int i,m=0
char ch[2]
FILE *fp
if((fp=fopen("data.txt","a+"))==NULL)
{
printf("can not openn")
return
}
while(!feof(fp))
{
if(fread(&stu[m] ,LEN,1,fp)==1)
m++
}
fclose(fp)
if(m==0)
printf("No record!n")
else
{
system("cls")
show()
}
if((fp=fopen("data.txt","wb"))==NULL)
{
printf("can not openn")
return
}
for(i=0i<mi++)
fwrite(&stu[i] ,LEN,1,fp)
printf("please input(y/n):")
scanf("%s",ch)
while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
{
printf("number:")
scanf("%d",&stu[m].num)
for(i=0i<mi++)
if(stu[i].num==stu[m].num)
{
printf("the number is existing,press any to continue!")
getch()
fclose(fp)
return
}
printf("name:")
scanf("%s",stu[m].name)
printf("elective:")
scanf("%lf",&stu[m].elec)
printf("experiment:")
scanf("%lf",&stu[m].expe)
printf("required course:")
scanf("%lf",&stu[m].requ)
stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ
if(fwrite(&stu[m],LEN,1,fp)!=1)
{
printf("can not save!")
getch()
}
else
{
printf("%s saved!n",stu[m].name)
m++
}
printf("continue?(y/n):")
scanf("%s",ch)
}
fclose(fp)
printf("OK!n")
}
void show()
{ FILE *fp
int i,m=0
fp=fopen("data.txt","rb")
while(!feof(fp))
{
if(fread(&stu[m] ,LEN,1,fp)==1)
m++
}
fclose(fp)
printf("number name elective experiment required sumtn")
for(i=0i<mi++)
{
printf(FORMAT,DATA)
}
}
void menu()
{
system("cls")
printf("nnnnn")
printf("tt|---------------------STUDENT-------------------|n")
printf("tt|t 0. exit |n")
printf("tt|t 1. input record |n")
printf("tt|t 2. search record |n")
printf("tt|t 3. delete record |n")
printf("tt|t 4. modify record |n")
printf("tt|t 5. insert record |n")
printf("tt|t 6. order |n")
printf("tt|t 7. number |n")
printf("tt|t 8. show |n")
printf("tt|-----------------------------------------------|nn")
printf("tttchoose(0-8):")
}
void order()
{ FILE *fp
struct student t
int i=0,j=0,m=0
if((fp=fopen("data.txt","r+"))==NULL)
{
printf("can not open!n")
return
}
while(!feof(fp))
if(fread(&stu[m] ,LEN,1,fp)==1)
m++
fclose(fp)
if(m==0)
{
printf("no record!n")
return
}
if((fp=fopen("data.txt","wb"))==NULL)
{
printf("can not openn")
return}
for(i=0i<m-1i++)
for(j=i+1j<mj++)
if(stu[i].sum<stu[j].sum)
{ t=stu[i]stu[i]=stu[j]stu[j]=t}
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not openn")return}
for(i=0i<mi++)
if(fwrite(&stu[i] ,LEN,1,fp)!=1)
{
printf("%s can not save!n")
getch()
}
fclose(fp)
printf("save successfullyn")
}
void del()
{FILE *fp
int snum,i,j,m=0
char ch[2]
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not openn")return}
while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++
fclose(fp)
if(m==0)
{
printf("no record!n")
return
}
printf("please input the number:")
scanf("%d",&snum)
for(i=0i<mi++)
if(snum==stu[i].num)
break
printf("find the student,delete?(y/n)")
scanf("%s",ch)
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
for(j=ij<mj++)
stu[j]=stu[j+1]
m--
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not openn")return}
for(j=0j<mj++)
if(fwrite(&stu[j] ,LEN,1,fp)!=1)
{ printf("can not save!n")
getch()}
fclose(fp)
printf("delete successfully!n")
}
void search()
{ FILE *fp
int snum,i,m=0
char ch[2]
if((fp=fopen("data.txt","rb"))==NULL)
{ printf("can not openn")return}
while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++
fclose(fp)
if(m==0) {printf("no record!n")return}
printf("please input the number:")
scanf("%d",&snum)
for(i=0i<mi++)
if(snum==stu[i].num)
{ printf("find the student,show?(y/n)")
scanf("%s",ch)
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
{
printf("number name elective experiment required sumtn")
printf(FORMAT,DATA)
break
}
}
if(i==m) printf("can not find the student!n")
}
void modify()
{ FILE *fp
int i,j,m=0,snum
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not openn")return}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1) m++
if(m==0) {printf("no record!n")
fclose(fp)
return
}
show()
printf("please input the number of the student which do you want to modify!n")
printf("modify number:")
scanf("%d",&snum)
for(i=0i<mi++)
if(snum==stu[i].num)
break
printf("find the student!you can modify!n")
printf("name:")
scanf("%s",stu[i].name)
printf("elective:")
scanf("%lf",&stu[i].elec)
printf("experiment:")
scanf("%lf",&stu[i].expe)
printf("required course:")
scanf("%lf",&stu[i].requ)
printf("modify successful!")
stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not openn")return}
for(j=0j<mj++)
if(fwrite(&stu[j] ,LEN,1,fp)!=1)
{ printf("can not save!")getch()}
fclose(fp)
}
void insert()
{ FILE *fp
int i,j,k,m=0,snum
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not openn")return}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1) m++
if(m==0) {printf("no record!n")
fclose(fp)
return
}
printf("please input position where do you want to insert!(input the number)n")
scanf("%d",&snum)
for(i=0i<mi++)
if(snum==stu[i].num)
break
for(j=m-1j>ij--)
stu[j+1]=stu[j]
printf("now please input the new information.n")
printf("number:")
scanf("%d",&stu[i+1].num)
for(k=0k<mk++)
if(stu[k].num==stu[i+1].num)
{
printf("the number is existing,press any to continue!")
getch()
fclose(fp)
return
}
printf("name:")
scanf("%s",stu[i+1].name)
printf("elective:")
scanf("%lf",&stu[i+1].elec)
printf("experiment:")
scanf("%lf",&stu[i+1].expe)
printf("required course:")
scanf("%lf",&stu[i+1].requ)
stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not openn")return}
for(k=0k<=mk++)
if(fwrite(&stu[k] ,LEN,1,fp)!=1)
{ printf("can not save!")getch()}
fclose(fp)
}
void total()
{ FILE *fp
int m=0
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not openn")return}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++
if(m==0) {printf("no record!n")fclose(fp)return}
printf("the class are %d students!n",m)
fclose(fp)
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<string.h>
#define LEN sizeof(struct student)
#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lfn"
#define DATA stu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum
struct student
{ int num
char name[15]
double elec
double expe
double requ
double sum
}
struct student stu[50]
void in()
void show()
void order()
void del()
void modify()
void menu()
void insert()
void total()
void search()
void main()
{ int n
menu()
scanf("%d",&n)
while(n)
{ switch(n)
{ case 1: in()break
case 2: search()break
case 3: del()break
case 4: modify()break
case 5: insert()break
case 6: order()break
case 7: total()break
case 8: show()break
default:break
}
getch()
menu()
scanf("%d",&n)
}
}
void in()
{ int i,m=0
char ch[2]
FILE *fp
if((fp=fopen("data.txt","a+"))==NULL)
{
printf("can not openn")
return
}
while(!feof(fp))
{
if(fread(&stu[m] ,LEN,1,fp)==1)
m++
}
fclose(fp)
if(m==0)
printf("No record!n")
else
{
system("cls")
show()
}
if((fp=fopen("data.txt","wb"))==NULL)
{
printf("can not openn")
return
}
for(i=0i<mi++)
fwrite(&stu[i] ,LEN,1,fp)
printf("please input(y/n):")
scanf("%s",ch)
while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
{
printf("number:")
scanf("%d",&stu[m].num)
for(i=0i<mi++)
if(stu[i].num==stu[m].num)
{
printf("the number is existing,press any to continue!")
getch()
fclose(fp)
return
}
printf("name:")
scanf("%s",stu[m].name)
printf("elective:")
scanf("%lf",&stu[m].elec)
printf("experiment:")
scanf("%lf",&stu[m].expe)
printf("required course:")
scanf("%lf",&stu[m].requ)
stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ
if(fwrite(&stu[m],LEN,1,fp)!=1)
{
printf("can not save!")
getch()
}
else
{
printf("%s saved!n",stu[m].name)
m++
}
printf("continue?(y/n):")
scanf("%s",ch)
}
fclose(fp)
printf("OK!n")
}
void show()
{ FILE *fp
int i,m=0
fp=fopen("data.txt","rb")
while(!feof(fp))
{
if(fread(&stu[m] ,LEN,1,fp)==1)
m++
}
fclose(fp)
printf("number name elective experiment required sumtn")
for(i=0i<mi++)
{
printf(FORMAT,DATA)
}
}
void menu()
{
system("cls")
printf("nnnnn")
printf("tt|---------------------STUDENT-------------------|n")
printf("tt|t 0. exit |n")
printf("tt|t 1. input record |n")
printf("tt|t 2. search record |n")
printf("tt|t 3. delete record |n")
printf("tt|t 4. modify record |n")
printf("tt|t 5. insert record |n")
printf("tt|t 6. order |n")
printf("tt|t 7. number |n")
printf("tt|t 8. show |n")
printf("tt|-----------------------------------------------|nn")
printf("tttchoose(0-8):")
}
void order()
{ FILE *fp
struct student t
int i=0,j=0,m=0
if((fp=fopen("data.txt","r+"))==NULL)
{
printf("can not open!n")
return
}
while(!feof(fp))
if(fread(&stu[m] ,LEN,1,fp)==1)
m++
fclose(fp)
if(m==0)
{
printf("no record!n")
return
}
if((fp=fopen("data.txt","wb"))==NULL)
{
printf("can not openn")
return}
for(i=0i<m-1i++)
for(j=i+1j<mj++)
if(stu[i].sum<stu[j].sum)
{ t=stu[i]stu[i]=stu[j]stu[j]=t}
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not openn")return}
for(i=0i<mi++)
if(fwrite(&stu[i] ,LEN,1,fp)!=1)
{
printf("%s can not save!n")
getch()
}
fclose(fp)
printf("save successfullyn")
}
void del()
{FILE *fp
int snum,i,j,m=0
char ch[2]
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not openn")return}
while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++
fclose(fp)
if(m==0)
{
printf("no record!n")
return
}
printf("please input the number:")
scanf("%d",&snum)
for(i=0i<mi++)
if(snum==stu[i].num)
break
printf("find the student,delete?(y/n)")
scanf("%s",ch)
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
for(j=ij<mj++)
stu[j]=stu[j+1]
m--
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not openn")return}
for(j=0j<mj++)
if(fwrite(&stu[j] ,LEN,1,fp)!=1)
{ printf("can not save!n")
getch()}
fclose(fp)
printf("delete successfully!n")
}
void search()
{ FILE *fp
int snum,i,m=0
char ch[2]
if((fp=fopen("data.txt","rb"))==NULL)
{ printf("can not openn")return}
while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++
fclose(fp)
if(m==0) {printf("no record!n")return}
printf("please input the number:")
scanf("%d",&snum)
for(i=0i<mi++)
if(snum==stu[i].num)
{ printf("find the student,show?(y/n)")
scanf("%s",ch)
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
{
printf("number name elective experiment required sumtn")
printf(FORMAT,DATA)
break
}
}
if(i==m) printf("can not find the student!n")
}
void modify()
{ FILE *fp
int i,j,m=0,snum
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not openn")return}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1) m++
if(m==0) {printf("no record!n")
fclose(fp)
return
}
show()
printf("please input the number of the student which do you want to modify!n")
printf("modify number:")
scanf("%d",&snum)
for(i=0i<mi++)
if(snum==stu[i].num)
break
printf("find the student!you can modify!n")
printf("name:")
scanf("%s",stu[i].name)
printf("elective:")
scanf("%lf",&stu[i].elec)
printf("experiment:")
scanf("%lf",&stu[i].expe)
printf("required course:")
scanf("%lf",&stu[i].requ)
printf("modify successful!")
stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not openn")return}
for(j=0j<mj++)
if(fwrite(&stu[j] ,LEN,1,fp)!=1)
{ printf("can not save!") getch() }
fclose(fp)
}
void insert()
{ FILE *fp
int i,j,k,m=0,snum
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not openn")return}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1) m++
if(m==0) {printf("no record!n")
fclose(fp)
return
}
printf("please input position where do you want to insert!(input the number)n")
scanf("%d",&snum)
for(i=0i<mi++)
if(snum==stu[i].num)
break
for(j=m-1j>ij--)
stu[j+1]=stu[j]
printf("now please input the new information.n")
printf("number:")
scanf("%d",&stu[i+1].num)
for(k=0k<mk++)
if(stu[k].num==stu[i+1].num)
{
printf("the number is existing,press any to continue!")
getch()
fclose(fp)
return
}
printf("name:")
scanf("%s",stu[i+1].name)
printf("elective:")
scanf("%lf",&stu[i+1].elec)
printf("experiment:")
scanf("%lf",&stu[i+1].expe)
printf("required course:")
scanf("%lf",&stu[i+1].requ)
stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not openn")return}
for(k=0k<=mk++)
if(fwrite(&stu[k] ,LEN,1,fp)!=1)
{ printf("can not save!") getch() }
fclose(fp)
}
void total()
{ FILE *fp
int m=0
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not openn")return}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++
if(m==0) {printf("no record!n")fclose(fp)return}
printf("the class are %d students!n",m)
fclose(fp)
}
#include <stdio.h>
struct Student
{
int num
char name[20]
float score[3]
float avg
}stus[30]
void Add()//填加学员
void List()//学员详细列表
void Asc()//显示后三名学员
void Desc()//显示前三名学员
void Display()
void main()
{
int s
while(1)
{
printf("学员管理系统:n")
printf("1、增加学员n")
printf("2、学员详细列表n")
printf("3、显示前三名n")
printf("4、显示后三名n")
printf("5、显示平均成绩n")
printf("6、退出n")
printf("请选择:")
scanf("%d",&s)
switch(s)
{
case 1:
Add()
break
case 2:
List()
break
case 3:
Desc()
Display()
break
case 4:
Asc()
Display()
break
case 5:
Display()
break
case 6:
return
break
default:
printf("选择错误!n")
break
}
}
}
void Add()
{
int i,k
float sum
char c
for(i=0i<30i++)
{
printf("请输入第%d个学员信息:n",i+1)
printf("学号:")
scanf("%d",&stus[i].num)
printf("姓名:")
fflush(stdin)
scanf("%s",stus[i].name)
printf("请输入三门课的成绩:n")
sum=0
for(k=0k<3k++)
{
printf("%d:",k+1)
scanf("%f",&stus[i].score[k])
sum+=stus[i].score[k]
}
stus[i].avg=sum/3
printf("是否继续?")
fflush(stdin)
scanf("%c",&c)
if(c=='n' || c=='N')
return
}
}
void List()
{
int i,j=0
printf("学号t姓名t成绩1t成绩2t成绩3t平均n")
for(i=0i<30i++)
{
if(stus[i].num!=0)
{
printf("%dt%st%.2ft%.2ft%.2ft%.2fn",stus[i].num,stus[i].name,stus[i].score[0],stus[i].score[1],stus[i].score[2],stus[i].avg)
}
}
}
void Asc()
{
int i,j
struct Student c
for(i=0i<30i++)
{ for(j=0j<29-ij++)
if(stus[j].avg<stus[j+1].avg)
{
c=stus[j]
stus[j]=stus[j+1]
stus[j+1]=c
}
}
}
void Desc()
{
int i,j
struct Student c
for(i=0i<30i++)
{ for(j=0j<29-ij++)
if(stus[j].avg>stus[j+1].avg)
{
c=stus[j]
stus[j]=stus[j+1]
stus[j+1]=c
}
}
}
void Display()
{
int i,d=0
printf("学号t姓名t平均n")
for(i=0i<30i++)
{
if(stus[i].num!=0)
{
printf("%dt%st%.2fn",stus[i].num,stus[i].name,stus[i].avg)
d++
}
if(d==3)
break
}
}
看看我写的这个!
#include<iostream>
#include<string.h>
using
namespace
std
struct
student
{
char
name[50]
int
score
}
void
teacherC(student
*stu)//老师录入成绩
{
int
i,n
cout<<"请输入需要录入的学生的个数n"
cin>>n
cout<<"请依次输入学生的姓名和成绩n"
for(i=0i<ni++)
{
cin>>stu[i].name>>stu[i].score
}
stu[i].score=-1
}
void
show(student
*stu)
{
int
i=0
for(i<100i++)
{
if(stu[i].score==-1)
break
cout<<stu[i].name<<"
"<<stu[i].score<<endl
}
}
int
search(student
*stu,char
*name)
{
int
i=0,k=-1
for(i<100i++)
{
if(stu[i].score==-1)
break
if(strcmp(stu[i].name,name)==0)
{
k=i
break
}
}
return
k
}
void
edit(student
*stu)
{
int
i=0,j=0
char
name[30],an
while(1)
{
cout<<"请输入需要修改的学生名字n"
cin>>name
i=search(stu,name)
if(i>=0)
{
cout<<"该学生的信息为:n"
cout<<stu[i].name<<"
"<<stu[i].score<<endl
cout<<"确定要修改该学生的信息是的输入Y不是输入N:n"
cin>>an
if(an=='Y'||an=='y')
{
cout<<"请输入修改后的姓名成绩:n"
cin>>stu[i].name>>stu[i].score
cout<<"修改成功n"
}
cout<<"继续修改请输入1退出输入0:n"
cin>>j
if(j==0)
break
}
else
cout<<"没有该学生的信息n"
}
}
void
dele(student
*stu)
{
int
i=0,j=0
char
name[30],an
while(1)
{
cout<<"请输入需要删除的学生名字n"
cin>>name
i=search(stu,name)
if(i>0)
{
cout<<"该学生的信息为:n"
cout<<stu[i].name<<"
"<<stu[i].score<<endl
cout<<"确定要删除该学生的信息是的输入Y不是输入N:n"
cin>>an
if(an=='Y'||an=='y')
{
*stu[i].name=0
cout<<"删除成功n"
}
cout<<"继续删除请输入1退出输入0:n"
cin>>j
if(j==0)
break
}
else
cout<<"没有该学生的信息n"
}
}
int
main()
{
int
i,n
char
name[30]
student
stu[100]//学生总数上限为100个
while(1)
{
cout<<"请做出以下的选择:"<<endl
cout<<"输入
0
退出系统n"
cout<<"输入
1
教书录入成绩n"
cout<<"输入
2
学生查询成绩n"
cout<<"输入
3
修改学生成绩n"
cout<<"输入
4
删除学生成绩n"
cin>>i
switch(i)
{
case
1:
teacherC(stu)break
case
2:
cout<<"请输入查询的姓名n"
cin>>namen=search(stu,name)cout<<"该学生成绩是:"<<stu[n].score<<endlbreak
case
3:
edit(stu)break
case
4:
dele(stu)break
default:if(i!=0)cout<<"请输入有效数字n"
}
if(i==0)
break
}
return
0
}
以上就是关于求........: 教务处任选课管理系统C语言程序全部的内容,如果了解更多相关内容,可以关注,你们的支持是我们更新的动力!
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【教务处管理系统c语言编程】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态