收藏 分销(赏)

求一个用C--语言写的学生信息管理系统源代码.doc

上传人:仙人****88 文档编号:11314309 上传时间:2025-07-16 格式:DOC 页数:6 大小:29KB 下载积分:10 金币
下载 相关 举报
求一个用C--语言写的学生信息管理系统源代码.doc_第1页
第1页 / 共6页
求一个用C--语言写的学生信息管理系统源代码.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
#define N 1000 #define M 3 #include<stdio.h> #include<stdlib.h> struct student { int num; char name[10]; char sex[4]; int score[M]; int total; }; void input(struct student st[],int n) { int i; for(i=0;i<n;i++) { scanf("%d%s%s%d%d%d",&st[i].num,st[i].name,st[i].sex,&st[i].score[0],&st[i].score[1],&st[i].score[2]); printf("\n"); } for(i=0;i<n;i++) { st[i].total=st[i].score[0]+st[i].score[1]+st[i].score[2]; } } void sort_sum(struct student st[],int n) { int i,j; struct student temp; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(st[i].total<st[j].total) { temp=st[i]; st[i]=st[j]; st[j]=temp; } } } } void seek_1(struct student st[],int no,int n) { int i,j,low,mid,high; struct student temp; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(st[i].num>st[j].num) { temp=st[i]; st[i]=st[j]; st[j]=temp; } } } low=0;high=n-1; while (low<=high) { mid = (high+low)/2; if(no>st[mid].num) { low=mid+1; } else if (no<st[mid].num) { high=mid-1; } else { printf("num:%d,name:%s,sex:%s,score:%d,%d,%d,total:%d\n",st[mid].num,st[mid].name,st[mid].sex,st[mid].score[0],st[mid].score[1],st[mid].score[2],st[mid].total); break; } } } void seek_2(struct student st[],int no,int n) { int i; for(i=0;i<n;i++) { if(no==st[i].num) { printf("num:%d,name:%s,sex:%s,score:%d,%d,%d,total:%d\n",st[i].num,st[i].name,st[i].sex,st[i].score[0],st[i].score[1],st[i].score[2],st[i].total); } } } void del(struct student st[],int no,int n) { int i,j; for(i=0;i<n-1;i++) { if(no==st[i].num) { for(j=i;j<n-1;j++) { st[j]=st[j+1]; } } } } 答案补充 void ins(struct student st[],int n) { printf("shuru xuesheng xinxi\n"); scanf("%d%s%s%d%d%d",&st[n].num,st[n].name,st[n].sex,&st[n].score[0],&st[n].score[1],&st[n].score[2]); st[n].total=st[n].score[0]+st[n].score[1]+st[n].score[2]; } 答案补充 void mod(struct student st[],int no,int n) { int i; for(i=0;i<n;i++) { if(no==st[i].num) { printf("xiugai xuesheng xinxi\n"); scanf("%d%s%s%d%d%d",&st[i].num,st[i].name,st[i].sex,&st[i].score[0],&st[i].score[1],&st[i].score[2]); } } } 答案补充 void print(struct student st[],int n) { int i,j; struct student temp; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(st[i].num>st[j].num) { temp=st[i]; st[i]=st[j]; st[j]=temp; } } } for(i=0;i<n;i++) { printf("num:%d,name:%s,sex:%s,score:%d,%d,%d,total:%d\n",st[i].num,st[i].name,st[i].sex,st[i].score[0],st[i].score[1],st[i].score[2],st[i].total); } } 答案补充 void menu() { printf(" 1. 录入学生信息\n"); printf(" 2. 根据总分排序\n"); printf(" 3. 用折半法查找学生信息\n"); printf(" 4. 用顺序法查找学生信息\n"); printf(" 5. 根据学号删除学生信息\n"); printf(" 6. 插入学生信息\n"); printf(" 7. 根据学号修改学生信息\n"); printf(" 8. 以报表形式输出学生信息\n"); printf(" 0. 退出\n"); } 答案补充 void main() { int choice,i,n; struct student st[N]; printf("-------------\n\n"); printf(" 欢迎进入学生成绩管理系统\n\n"); printf("-------------\n\n"); menu(); while(choice!=0) { printf("please choose\n"); scanf("%d",&choice); switch(choice) { case 1:printf("please enter n\n"); scanf("%d",&n); input(st,n); menu(); break; case 2:sort_sum(st,n); menu(); break; 答案补充 case 3:printf("enter the num\n"); scanf("%ld",&i); seek_1(st,i,n); menu(); break; case 4:printf("enter the num\n"); scanf("%ld",&i); seek_2(st,i,n); menu(); break; case 5:printf("enter the num you want to del\n"); scanf("%ld",&i); del(st,i,n); menu(); break; 答案补充 case 6:ins(st,n); menu(); break; case 7:printf("enter the num you want to mod\n"); scanf("%ld",&i); mod(st,i,n); menu(); break; case 8:print(st,n); menu(); break; case 0:exit(0); default:printf("error input!print again!\n"); } } } 答案补充 主要是把输入输出还有预处理部分换成C++的就行了
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服